wakame-vdc
DESCRIPTION
Wakame-vdc is Open Source Software for Cloud Infrastructure.TRANSCRIPT
Wakameとは?
Copyright (C) axsh co., LTD.
• IaaS/PaaSのレイヤを構築するクラウドコンピューティングのための基本的ソフトウェアの総称– Wakame-fuel
• 2009/4/22にリリースされたOSS
• システムの動的な構成管理を主目的としたもの– オートスケールを実現!– サーバルームでの手作業を全て自動化!
– Wakame-vdc• 2010/4/17にリリースされたOSS
• IaaSそのものを作り出せるようにコンピューティングリソースを管理するもの
要するに人間がやる部分を自動化してみよう
Copyright (C) axsh co., LTD.
人間が頑張るのはもうやめよう
Copyright (C) axsh co., LTD.
コンピュータが代わりに頑張れるようになれば
Copyright (C) axsh co., LTD.
管理者が寝る時間も増える
Copyright (C) axsh co., LTD.
2010/8/3 7
Wakame-fuel
Wakame-fuel
• サーバクラスタ上の手順実行エンジン
– Ruby
– AMQP (RabbitMQ)
• Amazon EC2のWeb APIを組み込むことでサーバの調達が機械的に可能となった
• Amazon EC2上で柔軟なオートスケールを実現
• 負荷によらない複雑なスケールコントロールを提供する(DBのスケールアウトとか)
Copyright (C) axsh co., LTD.
Rails(mod_passenger)用のマシンを10台にしたい時
Copyright (C) axsh co., LTD.
# wakameadm propagate_service ¥Apache_APP 10
コマンド1行で、後は見ているだけでOKです。
MySQL(Slave)用のマシンを5台にしたい時
Copyright (C) axsh co., LTD.
# wakameadm propagate_service ¥MySQL_Slave 5
MasterからReplicationが始まります。
Load
Balancer
Load
Balancer
Static
MySQL
Slave
Passenger
MySQL
Master
Load
Balancer
Load
Balancer
MySQL
Slave
Static Passenger
MySQL
Slave
MySQL
Slave
PassengerPassenger
MySQL
Master
Amazon EC2上でシステムが自動的に増強される流れ
ロードバランサ
Webサーバ
DBサーバ
初期状態
ロードバランサ
Webサーバ
DBサーバ
(1) マシン準備
ロードバランサ
Webサーバ
DBサーバ
Webサーバ
(2) サービス起動
ロードバランサ
Webサーバ
DBサーバ
Webサーバ
(3) 設定
Wakameは、これらを数分で完了させます
Copyright (C) axsh co., LTD.
2010/8/3 14
Wakame-vdc
Wakame-vdc
• データセンタ内部のサーバ調達周りをコントロールするためのOSS
– IaaSを実現する
• 結局手順を自動実行するところは変わらないので、Wakame-fuelを再利用
– Ruby
– AMQP (RabbitMQ)
Copyright (C) axsh co., LTD.
Wakame-fuelの構成図
インスタンス
Wakame
Master
Wakame
Agent
Products
インスタンス
Wakame
Agent
Products
インスタンス
Wakame
Agent
Products
手順を実行する
設定を変更する
設定どおり機能する
ハイパーバイザ(Xen)
Wakameをハイパーバイザ層で活用してみる
インスタンス
Wakame
Master
Wakame
Agent
Products
インスタンス
Wakame
Agent
Products
インスタンス
Wakame
Agent
Products
インスタンスが機能する
Wakame
Agent
インスタンスをコントロールする
Wakame
Master
手順を実行する
ハイパーバイザ(Xen)
ApplicationとHyper Visorの為の
Wakame
インスタンス
Application
Controller
Application
Agent
Products
インスタンス
Application
Agent
Products
インスタンス
Application
Agent
Products
Hyper Visor
Agent
Hyper Visor
Controller
Application
Hyper Visor
Web APIサーバを設置する
• Web APIを受け付けるだけでなく、データセンタ全体のマネジメントも行う
– どこにインスタンスを起動するか
– SSH接続キーの管理
ハイパーバイザ(Xen)
インスタンス
Application
Controller
Application
Agent
Products
インスタンス
Application
Agent
Products
インスタンス
Application
Agent
Products
Hyper Visor
Agent
Hyper Visor
Controller
Web API
最終的構成
ハイパーバイザ(Xen)
インスタンスApplication
Controller
Application
Agent
Products
インスタンス
Application
Agent
Products
インスタンス
Application
Agent
Products
Hyper Visor
Agent
Hyper Visor
Controller
Web API
Web APIハイパーバイザ(Xen)
インスタンスApplication
Controller
Application
Agent
Products
インスタンス
Application
Agent
Products
インスタンス
Application
Agent
Products
Hyper Visor
Agent
ハイパーバイザ(Xen)
インスタンスApplication
Controller
Application
Agent
Products
インスタンス
Application
Agent
Products
インスタンス
Application
Agent
Products
Hyper Visor
Agent
Hyper Visor
Controller
Browser
GUI Server
Load
Balancer
人間
Other
Clients http(s)
ソフト
後はリソースとなるサーバをラックに追加する
Web API
Web API Proxy
GUI Server
対外サービス系ラック
HVA+Xen
HVA+Xen
HVA+Xen
HVC
リソース系ラック
HVA+Xen
HVA+Xen
HVA+Xen
HVA+Xen
リソース系ラック
Shared Storage
ストレージ系ラック
2010/8/3 22
Wakame-vdcデモンストレーション
デモ概要
• サーバが立ち上がって終了するまで
– GUIで
– Web APIで
• 環境
– 合計30ノード
• 2ノードがWeb APIなど
• 28ノードがHyper Visor
Copyright (C) axsh co., LTD.
今後
• ストレージサービスを構築中
– ソフトウェアのプロトタイプは動作
– 現在ハードウェア構成も設計中
• 数多あるデータセンタをひとつのコンピュータにする
– PaaS化を進めていく
– 共通APIの構築とは異なる手法で、複数のデータセンタを透過的に扱う
Copyright (C) axsh co., LTD.
まとめ
• Wakameはインフラの自動化を実現
– サーバ割り当てを自動化し、IaaS型にする
– アプリケーションのスケールアウトを自動化
• 全てのコードがホワイトボックス
– 自家製の強み
– まだ機能は少ないが、問題は解決や、独自サービスなどのカスタマイズがしやすい
• 今後も開発は継続される
Copyright (C) axsh co., LTD.
ご清聴ありがとうございました
分散テクノロジグループ山崎泰宏(@sparklegate)
藤原勝弘(@unakatsuo)
吉田将士(@hansode)
三上悟 (@saicologic)
岩野恒久(@i_tune)
開発者募集中! Google Group: WakameTech