Contenu connexe
Similaire à クラウドカンファレンスIn静岡 r cloud
Similaire à クラウドカンファレンスIn静岡 r cloud (20)
Plus de Kazuki Aranami (17)
クラウドカンファレンスIn静岡 r cloud
- 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 のクラウドでサービスを立ち上げる