◆開発者向けのCloudStack勉強会。
さる7月21日(土)、東京赤坂にて CloudStack 開発者のためのイベントが開催されました。CloudStack の、割と開発者向けのイベント。CloudStack の開発者をお招きし、一日をかけて、Apache CloudStack のアーキテクチャや開発体制についての説明がありました。主催は Citrix 社。
前々から CloudStack に興味があった自分としては、行かねば!という事で、参加してきた簡単なレポートを公開します。興味がありましたらどうぞ。
CloudStack Developer Day
http://www.citrix.co.jp/event/2012/citrix_0721.html
CloudStack Developer Day のまとめ #csdev – Togetter
http://togetter.com/li/342510
CloudStack(クラウドスタック)は、オープンソースの IaaS (infrastructure as a service) 基板ソフト。Java で書かれており、ライセンスは、現在、Apache License 2.0 で提供されています(2012年4月リリースの version 3.0.1 以降)
開場は、赤坂のシュビアバンケット&シーブルーという所。天井が高く、結構開放感。全体を通して、この開場で行われました。説明は cloud.com 創業者・エンジニアの Will Chan 氏と、Citrix Cloud Platform の CTO である Sheng Liang氏の2名。途中、休憩などをはさみながら、CloudStack についての概要等等。
基本的には、当日のスライドが公開されており、それに準じた説明でした。CloudStack の概要について整理されており、基本的にこのスライドを頭に入れておけば、ほぼ全貌が理解できそうです。
そうそう、CloudStack のマスコットが決まったようでした。孫悟空をモチーフにしているようですよ。
◆ Apache CloudStack Project
今回、一番大きかったポイントかなと思うのが、「Apache CloudStack」と「Citrix CloudPlatform」の役割分担についてです。現在の CloudStack 3.0.x は、オープンソース版のコードと、商用サポートのコードが一緒になっています。
これが、9月頃にリリース予定(時期は開発メーリングリストで協議中)の Apache CloudStack 4.x からは、オープンソース版としての CloudStack と、商用サポート版としての Citrix CloudPlatform に別れるという発表がありました。
Will Chan 氏の発言で個人的にナルホドと思ったのは、Fedora Project と Red Hat Enterprise Linux の関係に近いという所です。今後の CloudStack の開発は、オープンソース版のコミュニティである Apache CloudStack が主導となります。
また、Citrix CloudPlatform は、Apache CloudStack から3ヶ月程遅れ、コードをマージした形での提供になると発言がありました。商用サポートを行う上で、必要な機能を、製品版である Citrix CloudPlatform に取り込むようです。全ての機能が取り込まれる訳ではなく、エンタープライズ向けで必要なものを選んで取り入れると。
そして、単純に取り入れるだけでなく、Citrix 社が手を加えたコードについては、Apache CloudStack コミュニティへできるだけ還元する流れを作りたいとのことでした。また、CloudPlatform は、1年に2回のメジャリリースを目指す方向性のようです。
Apache CloudStack に関する参考 URL
CloudStack、Apacheプロジェクト化の背景 - @IT
http://www.atmarkit.co.jp/news/201204/05/cloudstack.html
シトリックスがCloudStackをApacheに寄贈。「Apache CloudStack Project」に - Publickey
http://www.publickey1.jp/blog/12/cloudstackapacheapache_cloudstack_project.html
◆ プロジェクトに貢献するには
Apache CloudStack プロジェクトに貢献するためには、まずはメーリングリストの登録をと。アクティブな開発はIRCで進行しているようですね。フォーラムは、困ったときのQ&Aっぽいです。
IRC
http://www.cloudstack.org/irc.html
Apache CloudStack メーリングリスト
http://www.cloudstack.org/mailing-lists.html
フォーラム
http://www.cloudstack.org/discuss/
http://www.cloudstack.org/forum
その他:How to Contribute – Development – CloudStack
http://wiki.cloudstack.org/display/dev/How+to+Contribute
◆ 日本の CloudStack コミュニティもお目見え
Japan CloudStack User Group – http://cloudstack.jp/
メーリングリスト http://ml.cloudstack.jp/mailman/listinfo/users
◆ CloudStack のアーキテクチャに関するφ(..)メモメモ
当日のスライドを見ながら、自分が「おっ」と思った所。
- CloudStackのデプロイアーキテクチャについて。Pod は CloudStack 独特の概念で、L2スイッチ以下のネットワーク単位のこと。
- 現在のCloueStackは、Orchestration Engineが様々なハイパーバイザ、ネットワーク、ストレージのリソース管理を司っている。リソース管理は別の役割。これは、データセンタを跨ぐ可能性があるから(遅延や障害を意識した設計)
- Apache CloudStack と Apache Hadoop のコラボレーション。Object Store として Hadoop を使うという流れ。分散ファイルシステム。どちらも Java で書かれており、連携が期待できる。
- CloudStackのUI変更は、簡単なものなら、CSSの変更で。色とかアイコンは、/usr/share/cloud/management/webapps/client/scripts にある cloudStack.js をカスタマイズでおk
- ローカライゼーションは /usr/share/cloud/management/webapps/client/WEB-INF/classes/resources にファイルがあります。日本語は messages_ja.properties
そのほか、公開されているスライドに載っていない所としては、会場における質疑応答がありました。以下、簡単にまとめておきます。
Q. CloudStack と OpenStack の違いは?
A. CloudStackのほうが1年半開発が早い。100以上の本番環境での実装。OpenStackのNovaはAWSのようなインフラに近い。プロダクションでは市場的にVMWareが多いだろう。CloudStackは両方に対応。
Q. Management Server のクラスタを管理するような構想はあるのか?また、セカンダリストレージはそのときどうなるか?
A. リージョン毎にManagement Serverを持っている構成。Management Serverは、別のゾーンに持って下さい。Management Serverがダウンしても、既存のVMは止まらない。起動ができなくなる。将来的には影響がでないようにしたい。将来的に、プライマリは残す(イメージを保存)が、セカンダリストレージは将来的に無くなる。セカンダリはゾーン毎にもっているが、NFS でなければいけないのは問題。オブジェクトストレージのほうに移行したい、と考えている。
Q. HadoopやSwiftとの連携の話しが出ている。CloudStackとしてストレージを開発する予定があるのか?
A. あります。Object Storage(Amazon Style)は必要。しかし、コンピューティングは良いソリューションが無い。OpenStack、Eucalyptusもそう。一方、ストレージは、ソリューションが既に存在しているので、CloudStack向けのものは開発者は興味無いようだ。Hadoopはexcitingと思っている。CloudStackチームとしてははMapReduceは必要ない。私たちとしては、Hadoop はユニークでパワフルなストレージと考えている。単純ストレージとして使うのではなく、インテリジェンスなシステムとして、色々活用していきたい。
Q. 従量課金の仕組みがあったらおしえてください。
A. CloudStack には特定の課金エンジンが無いが、Ctrix社の CloudPortal というエンジンをつかってできる。CloudStack はトリガとしてデータを出す。すべて Usage record というイベントと元に作成する。VM を何時間つかったとか。課金データの管理。
◆ まとめ
やはり、開発者の方の名前の声が聞けるというイベントは、貴重ですね。大変参考になりました。