Archive : 2013-11

CloudStackをご存知でしょうか。CloudStackは、オープンソースで開発が進んでいるIaaS基盤のソフトウェアです。もとはCloud.comというベンチャーが開発を進めていたのですが、CitrixがCloud.comを買収し、Apacheライセンスに変更の上Apache Foundationにソースコードを寄贈したことで、今はApache CloudStackとしてコミュニティを中心にCitrixが支援する形で開発が進んでいます。

現在、会社の業務の一環として、Apache CloudStackへのコードでの貢献に一部の時間を割いており、これまでいくつかのBugfixと、KVM上に構築されたCloudStackのゲストネットワークをVXLAN対応させるコードの投稿を行ってきました。

VXLAN対応の開発は、前任の@haeenaさんが行った開発の引継ぎなのですが、このVXLANという技術、VLANのVLAN ID枯渇問題(VLANはVLAN IDのフィールド長が12bitしかないため、複数ゲストネットワークをマルチテナントでIaaSとして提供しようとするような環境ではVLAN IDが足りなくなる)に対応するために、IETFで策定中のプロトコルです。L2のオーバーレイネットワークをIPネットワーク上に実現するため、L2フレームをUDPデータグラムでカプセル化し、ユニキャストフレームはIPユニキャスト、ブロードキャストフレームはIPマルチキャストで転送するというシンプルな仕様であり、そこが魅力ですね。Linuxでは、Kernel 3.7以降でVXLANを扱うための実装が入っており、CloudStackのVXLAN対応は、VLANの仮想インターフェイスを作成する代わりにVXLANの仮想インターフェイスを作成するように変更することで実現されています。

 

さて、そのVXLAN対応の開発について、先日11/20-22の日程でAmsterdamで開催された、CloudStack Collaboration Conference November 2013喋ってきました。Hackathonやセッション後の機会に、Hugo TrippaersやAlex HuangといったCloudStackのトップ開発者と話す機会がありましたが、いずれも建設的なコメントを貰えたのはありがたい限りです。また、聴講したパネルセッションなどを通じて、CloudStackの開発者が抱いているCloudStackの開発プロセスに対しての課題認識(masterへのマージ前にテストやコンパイルを行うようなゲートチェックが行われていないためにmasterがビルドすら通らなくなるなど品質が悪い等)が共有されていることを知ることが出来たのも収穫でした。来年はCloudStack Dayというイベントを日本でやるそうですが、こういったオフラインのイベントも、大切にしていきたいですね。

※アニメーションやビデオを使用しているので、PowerPointで開きなおすとわかりやすいかと思います。