SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Ruby on Rails のクラウドで
 サービスを立ち上げる

    株式会社シーイーシー
はじめに
●   会社紹介と自己紹介
●   インフラから見たクラウドの特性
       –   クラウドと仮想化
       –   IaaS 、 PaaS 、 SaaS と仮想化
●   クラウドのタイプの選択
●
    Ruby on Rails の PaaS
●   弊社のサービス

2011-09-24                              Page 2
Ruby on Rails のクラウドでサービスを立ち上げる
会社紹介
●
    株式会社シーイーシー
     –   設立年月日: 1968 年 2 月 24 日
     –   資本金:  65 億 8 千 6 百万円
     –   売上高:  408 億 8 千 7 百万円(平成 23 年 1 月期)
     –   従業員数: 2,840 名(平成 23 年 4 月 1 日現在)
     –   事業内容:
          ●
              PROVEQ 事業
              ( 診断/検証・認証/品質システムサポートサービス )
          ●
              PROFESSIONAL 事業
              ( プラットフォームインテグレーション/ IT マネジメント/
                データセンターサービス )
          ●
              PROSES(Professional System Effective Solution) 事業
              ( ビジネスソリューション/環境ソリューション/ネットソリューション/
                システムインテグレーション/生産物流改革ソリューション/
                ヘルスケアソリューションサービス )
          ●
              PROGRESS 事業
              ( ソフトウェア開発/マイグレーションサービス )
2011-09-24                                                        Page 3
Ruby on Rails のクラウドでサービスを立ち上げる
私について
●   ビルメンテナンス会社の社内 SE
      –   PC 導入、社内ネットワーク構築
      –   システム開発の超上流工程
      –   ユーザー教育
●   フリーのエンジニア
      –   個人で小規模システムの開発・導入支援
●   地方のベンチャー
      –   プログラマ
      –   インフラ SE
●   シーイーシーで新規事業
2011-09-24                         Page 4
Ruby on Rails のクラウドでサービスを立ち上げる
インフラから見たクラウドの特性(1)
                     クラウドと仮想化
●   仮想化の目的
  ハードウェアと見た目のハードウェア環境を分離することで、
       –   1 台のサーバーリソースを複数の環境で利用する
            ●
                リソースの効率的な利用
       –   複数のサーバーリソースを 1 つの環境で利用する
            ●
                キャパシティの向上
            ●
                可用性の向上
       –   見た目のハードウェア環境を共通化する
            ●
                環境の複製を容易にする
     これらを達成した環境がクラウド
2011-09-24                            Page 5
Ruby on Rails のクラウドでサービスを立ち上げる
インフラから見たクラウドの特性(2)
                    仮想化のおさらい
●   プラットフォーム仮想化
       –   ホスト OS 型
            ●   VMware Server 、 QEMU 、 Virutal PC など
       –   ハイパーバイザー
            ●
                Xen 、 KVM 、 VMware ESXi 、 Hyper-V など
       –   OS レベルの仮想化
            ●
                Virtuozzo 、 OpenVZ 、 Solaris コンテナなど
●   リソースレベルの仮想化・共有(仮想化とは違うが)
       –   クラスタ、 chroot 、ミドルウェアのマルチインスタンス
            など
2011-09-24                                             Page 6
Ruby on Rails のクラウドでサービスを立ち上げる
インフラから見たクラウドの特性(3)
           IaaS 、 PaaS 、 SaaS と仮想化
●
    IaaS はハイパーバイザー
       – 環境ごとに個別の OS が起動
            ●   環境ごとに OS を選択できる。
            ●   オーバーヘッドが大きい(特に RAM やディスクアクセス)
●
    PaaS 、 SaaS はいろいろな方法の組み合わせ
      – AP 、 DB などのレイヤごとに最適な構成
            ●
                性能を得やすい
            ●   カスタマイズは困難(できないことも多い)
●
    PaaS 、 SaaS のプラットフォームが IaaS ということも
2011-09-24                                  Page 7
Ruby on Rails のクラウドでサービスを立ち上げる
インフラから見たクラウドの特性(4)
                    メリットとデメリット
                                 IaaS   PaaS   SaaS

  OS 、パッケージなどの自由度                ◎       △      ×
  性能の出しやすさ                       △       ◎      〇
  サービスとしての信頼性                    △       〇      ◎
  利用料金                           〇       △      ◎
  環境の構築                           ×      〇      -
  環境の保守                          〇       -      -
2011-09-24                                            Page 8
Ruby on Rails のクラウドでサービスを立ち上げる
クラウドのタイプの選択(1)
●   IaaS
       –OS やパッケージなどに依存するアプリケーション
          (基本的に何でも)
●
    PaaS
      – ( 軽量言語などによる ) 独自開発のアプリケーション
          (独自のサービス、カスタマイズしたアプリケーション
          など)
●
    SaaS
      – 定型的な Web サイトやアプリケーション
          (ブログ、 EC 、会計など定型の業務アプリケーション
          など)
2011-09-24                         Page 9
Ruby on Rails のクラウドでサービスを立ち上げる
クラウドのタイプの選択(2)
   自分で環境を構築したい?
   C などで高速なアプリケーションを開発したい?
   アプリケーションをカスタマイズしたい?
   特殊なライブラリを参照したい?
    → IaaS を使いましょう
   LL でサクッと作ってサクッとリリースしたい?
    → PaaS を使いましょう
   コーディングしたくない・・・
    → SaaS を使いましょう
2011-09-24                       Page 10
Ruby on Rails のクラウドでサービスを立ち上げる
Ruby on Rails の PaaS (1)
●   heroku
      – 世界最大の Ruby の PaaS
      – サードパーティーの KVS やストレージなどを柔軟に
           組み合わせられる
      – Java 、 Node.js など他の言語にも対応しはじめた
●
    MOGOK
      – IIJ が提供する Ruby の PaaS (今秋リリース予定)
      – IIJ の潤沢なネットワーク、サーバー群の中で稼働
           (国内からのアクセスがきわめて高速)

2011-09-24                              Page 11
Ruby on Rails のクラウドでサービスを立ち上げる
Ruby on Rails の PaaS (2)
●   その他
       Engine Yard
       –
        ( heroku と並ぶ Ruby on Rails の PaaS )
     – Cloud Foundry
        ( VMware が近く日本でも提供開始する PaaS )
     – Windows Azure
       など ...
●   そして、 RCloud


2011-09-24                                    Page 12
Ruby on Rails のクラウドでサービスを立ち上げる
RCloud の論理構成
                                                     ロードバランサークラスタ
                 Load Balancer 1   Load Balancer 2      CentOS 5.5
                                                         Nginx 0.8
                                                         Heartbeat



  Application 1      Application 2      Application 3      ・・・



        MySQL 1        MySQL 2               NFS 1        NFS 2

            データベースクラスタ                           ストレージクラスタ
              CentOS 5.5                           CentOS 5.5
              MySQL 5.5                             Heartbeat
               Heartbeat                          このほかに、内部用の
2011-09-24                                        SMTP 、 DNS 、 NTP など   Page 13
Ruby on Rails のクラウドでサービスを立ち上げる
RCloud で稼働しているサービス
●   ロケーションメッセージングサービス
    http://cocorat.com/
●   携帯マーケティングソリューション
    http://www.mobsym.jp/
●
    ここらっと待ち受けスタジオ
    http://cocorat.com/studio
●   伝統工芸のスペシャルサイト
    http://japancraft.jp/
●
    フォトコミュニケーションサービス「 Party Photo Clip 」
    http://photoclip.me/

●
    2008 年からこれらのサービスとともに構築
2011-09-24                                 Page 14
Ruby on Rails のクラウドでサービスを立ち上げる
サービスを開始するまでの流れ
●   環境設定の申し込み
       –   Ruby と Rails のバージョン
       –   必要な gem
       –   コンテナの個数( 10 プロセス / コンテナ)
       –   データベースのサイズ
●   ソースのアップロード
       –   Git で適宜アップロード(現在はメールで受け付け)
       –   必要に応じて環境設定情報を更新
●   デプロイ
2011-09-24                              Page 15
Ruby on Rails のクラウドでサービスを立ち上げる
Ruby と Rails 、 gem とライブラリ
●
    Ruby 、 Rails 、 rubygems のバージョン
       –   rubygems のバージョンは、 Ruby と Rails のバージョンによって
●
    Native Extension が作られる gem
       –   mysql            # ldd /opt/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.so
                                  libmysqlclient.so.12 => /usr/sfw/lib/libmysqlclient.so.12
           (Solaris の場合 )           … 標準の MySQL のライブラリを参照してしまっているため問題が発生する
                            # cd /opt/coolstack/mysql_32bit/lib/mysql/
       –   libxml           # ln -s libmysqlclient.so.16.0.0 libmysqlclient.so.12
                            # gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/opt/coolstack/mysql_32bit/bin/mysql_config
       –   rmagick
                            # gem install libxml-ruby -v 0.7.0

                            # cd /var/tmp/ImageMagick-6.6.6-10
                            # ./configure --prefix=/opt/ImageMagick --disable-static --with-modules --without-perl --without-magick-
                            plus-plus --with-quantum-depth=8 CC=/usr/sfw/bin/gcc LDFLAGS='-L/opt/coolstack/lib -L/usr/sfw/lib
                            -R/opt/coolstack/lib -R/usr/sfw/lib' CPPFLAGS='-I/opt/coolstack/include -I/usr/sfw/include'
                            # gmake
                            # gmake install
                            # gem install rmagick --no-rdoc --no-ri

2011-09-24                                                                                                                       Page 16
Ruby on Rails のクラウドでサービスを立ち上げる
サービスごとの課題と対策(一部)
●   ここらっと
       –   ページの表示に時間がかかる
            ●   データベースのチューニング
            ●
                find_by_sql で SQL を最適化
●
    Party Photo Clip
      – 写真の通信にプロセスが占有される
            ●
                ロードバランサーによるバッファリング
            ●
                アップロード用のプロキシ
       –   スモールスタートから急拡大に備えたい
            ●   従来通りのスケールアウト可能な構成
            ●
                サーバー間で共有可能なストレージ
2011-09-24                               Page 17
Ruby on Rails のクラウドでサービスを立ち上げる
終わりに
●   まだまだ発展途上のクラウド
       –   目標は、 Ruby on Rails 環境の性能と柔軟性 No.1
       –   Web の管理画面等は準備中です


●   お問い合わせ
       –   株式会社シーイーシー
             第一ソリューションサービス事業部 ネットソリューション部
             廣田 哲也
       –   Mail: t-hirota@cec-ltd.co.jp または contact@rcloud.jp
       –   Twitter(@rcloud_jp) / Facebook ページ (RCloud) も用意しました


2011-09-24                                                       Page 18
Ruby on Rails のクラウドでサービスを立ち上げる

Contenu connexe

Tendances

LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINE Corporation
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLRyusuke Kajiyama
 
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...Insight Technology, Inc.
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Daichi Ogawa
 
Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門Trainocate Japan, Ltd.
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -yoyamasaki
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...Insight Technology, Inc.
 
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門Tetsuya Yokoyama
 
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバーゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバーKimitoshi Takahashi
 
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介Insight Technology, Inc.
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringTakatoshi Matsuo
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012Mikiya Okuno
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMikiya Okuno
 
Sql database managed instance overview and internals
Sql database managed instance overview and internalsSql database managed instance overview and internals
Sql database managed instance overview and internalsMasayuki Ozawa
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Colin Charles
 
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...Insight Technology, Inc.
 

Tendances (17)

LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQLMySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
MySQLのNoSQL機能 - MySQL JSON & HTTP Plugin for MySQL
 
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...
[db tech showcase Tokyo 2014] C34:[楽天] 詳説 楽天のデータベースアーキテクチャ史 -シングルノードから仮想化フラッシ...
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用
 
Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門
 
States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -States of Dolphin - MySQL最新技術情報2013秋 -
States of Dolphin - MySQL最新技術情報2013秋 -
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
 
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門
今さら聞けない! Windows Server 2016 Active Directoryドメインサービス入門
 
ゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバーゆるふわMySQLフェイルオーバー
ゆるふわMySQLフェイルオーバー
 
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
 
ShizuokaITpro_Azure
ShizuokaITpro_AzureShizuokaITpro_Azure
ShizuokaITpro_Azure
 
MySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyondMySQL Cluster 新機能解説 7.5 and beyond
MySQL Cluster 新機能解説 7.5 and beyond
 
Sql database managed instance overview and internals
Sql database managed instance overview and internalsSql database managed instance overview and internals
Sql database managed instance overview and internals
 
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
Percona ServerをMySQL 5.6と5.7用に作るエンジニアリング(そしてMongoDBのヒント)
 
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
[db tech showcase Tokyo 2015] A32:Amazon Redshift Deep Dive by アマゾン データ サービス ...
 

Similaire à クラウドカンファレンスIn静岡 r cloud

地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話Toshiaki Baba
 
AIIT学生会主催勉強会 クラウドのお話
AIIT学生会主催勉強会 クラウドのお話AIIT学生会主催勉強会 クラウドのお話
AIIT学生会主催勉強会 クラウドのお話Toshiaki Baba
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceShunsuke Kurumatani
 
Solaris11で深化するクラウド
Solaris11で深化するクラウドSolaris11で深化するクラウド
Solaris11で深化するクラウドYasushi Taki
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用Abe Junichiro
 
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...オラクルエンジニア通信
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Yoichi Kawasaki
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usageirix_jp
 
Ruby Enterprise Environment
Ruby Enterprise EnvironmentRuby Enterprise Environment
Ruby Enterprise EnvironmentTomoya Kawanishi
 
20201023_MySQL開発最新動向
20201023_MySQL開発最新動向20201023_MySQL開発最新動向
20201023_MySQL開発最新動向Machiko Ikoma
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集Couchbase Japan KK
 
Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server servicenagachika t
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能Ryusuke Kajiyama
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 

Similaire à クラウドカンファレンスIn静岡 r cloud (20)

地に足がついたクラウドのお話
地に足がついたクラウドのお話地に足がついたクラウドのお話
地に足がついたクラウドのお話
 
AIIT学生会主催勉強会 クラウドのお話
AIIT学生会主催勉強会 クラウドのお話AIIT学生会主催勉強会 クラウドのお話
AIIT学生会主催勉強会 クラウドのお話
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a Service
 
Solaris11で深化するクラウド
Solaris11で深化するクラウドSolaris11で深化するクラウド
Solaris11で深化するクラウド
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
Oracle Cloud IaaS活用:VMwareをそのままパブリック・クラウドへ&Windowsならオラクル [Oracle Cloud Days T...
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
Ruby Enterprise Environment
Ruby Enterprise EnvironmentRuby Enterprise Environment
Ruby Enterprise Environment
 
20201023_MySQL開発最新動向
20201023_MySQL開発最新動向20201023_MySQL開発最新動向
20201023_MySQL開発最新動向
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server service
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 

Plus de Kazuki Aranami

ソフトウェア開発法3
ソフトウェア開発法3ソフトウェア開発法3
ソフトウェア開発法3Kazuki Aranami
 
ソフトウェア開発法2
ソフトウェア開発法2ソフトウェア開発法2
ソフトウェア開発法2Kazuki Aranami
 
Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Kazuki Aranami
 
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大Kazuki Aranami
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法Kazuki Aranami
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編Kazuki Aranami
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベントKazuki Aranami
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡Kazuki Aranami
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharingKazuki Aranami
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案Kazuki Aranami
 
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2PネットワークKazuki Aranami
 
クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章Kazuki Aranami
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛Kazuki Aranami
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Kazuki Aranami
 

Plus de Kazuki Aranami (17)

ソフトウェア開発法3
ソフトウェア開発法3ソフトウェア開発法3
ソフトウェア開発法3
 
ソフトウェア開発法2
ソフトウェア開発法2ソフトウェア開発法2
ソフトウェア開発法2
 
Project erp
Project erpProject erp
Project erp
 
Project erp
Project erpProject erp
Project erp
 
Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論
 
ERP FAS DESIGN
ERP FAS DESIGNERP FAS DESIGN
ERP FAS DESIGN
 
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベント
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
 
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
 
クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
 

クラウドカンファレンスIn静岡 r cloud

  • 1. Ruby on Rails のクラウドで サービスを立ち上げる 株式会社シーイーシー
  • 2. はじめに ● 会社紹介と自己紹介 ● インフラから見たクラウドの特性 – クラウドと仮想化 – IaaS 、 PaaS 、 SaaS と仮想化 ● クラウドのタイプの選択 ● Ruby on Rails の PaaS ● 弊社のサービス 2011-09-24 Page 2 Ruby on Rails のクラウドでサービスを立ち上げる
  • 3. 会社紹介 ● 株式会社シーイーシー – 設立年月日: 1968 年 2 月 24 日 – 資本金: 65 億 8 千 6 百万円 – 売上高: 408 億 8 千 7 百万円(平成 23 年 1 月期) – 従業員数: 2,840 名(平成 23 年 4 月 1 日現在) – 事業内容: ● PROVEQ 事業 ( 診断/検証・認証/品質システムサポートサービス ) ● PROFESSIONAL 事業 ( プラットフォームインテグレーション/ IT マネジメント/ データセンターサービス ) ● PROSES(Professional System Effective Solution) 事業 ( ビジネスソリューション/環境ソリューション/ネットソリューション/ システムインテグレーション/生産物流改革ソリューション/ ヘルスケアソリューションサービス ) ● PROGRESS 事業 ( ソフトウェア開発/マイグレーションサービス ) 2011-09-24 Page 3 Ruby on Rails のクラウドでサービスを立ち上げる
  • 4. 私について ● ビルメンテナンス会社の社内 SE – PC 導入、社内ネットワーク構築 – システム開発の超上流工程 – ユーザー教育 ● フリーのエンジニア – 個人で小規模システムの開発・導入支援 ● 地方のベンチャー – プログラマ – インフラ SE ● シーイーシーで新規事業 2011-09-24 Page 4 Ruby on Rails のクラウドでサービスを立ち上げる
  • 5. インフラから見たクラウドの特性(1) クラウドと仮想化 ● 仮想化の目的   ハードウェアと見た目のハードウェア環境を分離することで、 – 1 台のサーバーリソースを複数の環境で利用する ● リソースの効率的な利用 – 複数のサーバーリソースを 1 つの環境で利用する ● キャパシティの向上 ● 可用性の向上 – 見た目のハードウェア環境を共通化する ● 環境の複製を容易にする  これらを達成した環境がクラウド 2011-09-24 Page 5 Ruby on Rails のクラウドでサービスを立ち上げる
  • 6. インフラから見たクラウドの特性(2) 仮想化のおさらい ● プラットフォーム仮想化 – ホスト OS 型 ● VMware Server 、 QEMU 、 Virutal PC など – ハイパーバイザー ● Xen 、 KVM 、 VMware ESXi 、 Hyper-V など – OS レベルの仮想化 ● Virtuozzo 、 OpenVZ 、 Solaris コンテナなど ● リソースレベルの仮想化・共有(仮想化とは違うが) – クラスタ、 chroot 、ミドルウェアのマルチインスタンス など 2011-09-24 Page 6 Ruby on Rails のクラウドでサービスを立ち上げる
  • 7. インフラから見たクラウドの特性(3) IaaS 、 PaaS 、 SaaS と仮想化 ● IaaS はハイパーバイザー – 環境ごとに個別の OS が起動 ● 環境ごとに OS を選択できる。 ● オーバーヘッドが大きい(特に RAM やディスクアクセス) ● PaaS 、 SaaS はいろいろな方法の組み合わせ – AP 、 DB などのレイヤごとに最適な構成 ● 性能を得やすい ● カスタマイズは困難(できないことも多い) ● PaaS 、 SaaS のプラットフォームが IaaS ということも 2011-09-24 Page 7 Ruby on Rails のクラウドでサービスを立ち上げる
  • 8. インフラから見たクラウドの特性(4) メリットとデメリット IaaS PaaS SaaS OS 、パッケージなどの自由度 ◎ △ × 性能の出しやすさ △ ◎ 〇 サービスとしての信頼性 △ 〇 ◎ 利用料金 〇 △ ◎ 環境の構築 × 〇 - 環境の保守 〇 - - 2011-09-24 Page 8 Ruby on Rails のクラウドでサービスを立ち上げる
  • 9. クラウドのタイプの選択(1) ● IaaS –OS やパッケージなどに依存するアプリケーション (基本的に何でも) ● PaaS – ( 軽量言語などによる ) 独自開発のアプリケーション (独自のサービス、カスタマイズしたアプリケーション など) ● SaaS – 定型的な Web サイトやアプリケーション (ブログ、 EC 、会計など定型の業務アプリケーション など) 2011-09-24 Page 9 Ruby on Rails のクラウドでサービスを立ち上げる
  • 10. クラウドのタイプの選択(2) 自分で環境を構築したい? C などで高速なアプリケーションを開発したい? アプリケーションをカスタマイズしたい? 特殊なライブラリを参照したい?  → IaaS を使いましょう LL でサクッと作ってサクッとリリースしたい?  → PaaS を使いましょう コーディングしたくない・・・  → SaaS を使いましょう 2011-09-24 Page 10 Ruby on Rails のクラウドでサービスを立ち上げる
  • 11. Ruby on Rails の PaaS (1) ● heroku – 世界最大の Ruby の PaaS – サードパーティーの KVS やストレージなどを柔軟に 組み合わせられる – Java 、 Node.js など他の言語にも対応しはじめた ● MOGOK – IIJ が提供する Ruby の PaaS (今秋リリース予定) – IIJ の潤沢なネットワーク、サーバー群の中で稼働 (国内からのアクセスがきわめて高速) 2011-09-24 Page 11 Ruby on Rails のクラウドでサービスを立ち上げる
  • 12. Ruby on Rails の PaaS (2) ● その他 Engine Yard – ( heroku と並ぶ Ruby on Rails の PaaS ) – Cloud Foundry ( VMware が近く日本でも提供開始する PaaS ) – Windows Azure など ... ● そして、 RCloud 2011-09-24 Page 12 Ruby on Rails のクラウドでサービスを立ち上げる
  • 13. RCloud の論理構成 ロードバランサークラスタ Load Balancer 1 Load Balancer 2 CentOS 5.5 Nginx 0.8 Heartbeat Application 1 Application 2 Application 3 ・・・ MySQL 1 MySQL 2 NFS 1 NFS 2 データベースクラスタ ストレージクラスタ CentOS 5.5 CentOS 5.5 MySQL 5.5 Heartbeat Heartbeat このほかに、内部用の 2011-09-24 SMTP 、 DNS 、 NTP など Page 13 Ruby on Rails のクラウドでサービスを立ち上げる
  • 14. RCloud で稼働しているサービス ● ロケーションメッセージングサービス http://cocorat.com/ ● 携帯マーケティングソリューション http://www.mobsym.jp/ ● ここらっと待ち受けスタジオ http://cocorat.com/studio ● 伝統工芸のスペシャルサイト http://japancraft.jp/ ● フォトコミュニケーションサービス「 Party Photo Clip 」 http://photoclip.me/ ● 2008 年からこれらのサービスとともに構築 2011-09-24 Page 14 Ruby on Rails のクラウドでサービスを立ち上げる
  • 15. サービスを開始するまでの流れ ● 環境設定の申し込み – Ruby と Rails のバージョン – 必要な gem – コンテナの個数( 10 プロセス / コンテナ) – データベースのサイズ ● ソースのアップロード – Git で適宜アップロード(現在はメールで受け付け) – 必要に応じて環境設定情報を更新 ● デプロイ 2011-09-24 Page 15 Ruby on Rails のクラウドでサービスを立ち上げる
  • 16. Ruby と Rails 、 gem とライブラリ ● Ruby 、 Rails 、 rubygems のバージョン – rubygems のバージョンは、 Ruby と Rails のバージョンによって ● Native Extension が作られる gem – mysql # ldd /opt/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib/mysql_api.so libmysqlclient.so.12 => /usr/sfw/lib/libmysqlclient.so.12 (Solaris の場合 ) … 標準の MySQL のライブラリを参照してしまっているため問題が発生する # cd /opt/coolstack/mysql_32bit/lib/mysql/ – libxml # ln -s libmysqlclient.so.16.0.0 libmysqlclient.so.12 # gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/opt/coolstack/mysql_32bit/bin/mysql_config – rmagick # gem install libxml-ruby -v 0.7.0 # cd /var/tmp/ImageMagick-6.6.6-10 # ./configure --prefix=/opt/ImageMagick --disable-static --with-modules --without-perl --without-magick- plus-plus --with-quantum-depth=8 CC=/usr/sfw/bin/gcc LDFLAGS='-L/opt/coolstack/lib -L/usr/sfw/lib -R/opt/coolstack/lib -R/usr/sfw/lib' CPPFLAGS='-I/opt/coolstack/include -I/usr/sfw/include' # gmake # gmake install # gem install rmagick --no-rdoc --no-ri 2011-09-24 Page 16 Ruby on Rails のクラウドでサービスを立ち上げる
  • 17. サービスごとの課題と対策(一部) ● ここらっと – ページの表示に時間がかかる ● データベースのチューニング ● find_by_sql で SQL を最適化 ● Party Photo Clip – 写真の通信にプロセスが占有される ● ロードバランサーによるバッファリング ● アップロード用のプロキシ – スモールスタートから急拡大に備えたい ● 従来通りのスケールアウト可能な構成 ● サーバー間で共有可能なストレージ 2011-09-24 Page 17 Ruby on Rails のクラウドでサービスを立ち上げる
  • 18. 終わりに ● まだまだ発展途上のクラウド – 目標は、 Ruby on Rails 環境の性能と柔軟性 No.1 – Web の管理画面等は準備中です ● お問い合わせ – 株式会社シーイーシー 第一ソリューションサービス事業部 ネットソリューション部 廣田 哲也 – Mail: t-hirota@cec-ltd.co.jp または contact@rcloud.jp – Twitter(@rcloud_jp) / Facebook ページ (RCloud) も用意しました 2011-09-24 Page 18 Ruby on Rails のクラウドでサービスを立ち上げる