あらためて Apache CloudStackとは?
※本投稿は 「CloudStack Advent Calendar jp 2013」における、12月18日(水) 担当分となります。今回は、改めてApache CloudStackについて、整理をしたいと思います。
Apache CloudStackとは?
Apache CloudStack(以下、CloudStack)は、AWS(Amazon Web Service)のEC2に相当する機能を備えたオープンソースのクラウド基盤ソフトウェアです。XenServer、KVM、VMware vSphereなどの多様なハイパーバイザーに対応し、標準開発言語はJava、標準外部APIはCloudStack 独自のREST API(HTTPベース)でAmazon EC2のAPIも利用できます。
CloudStackはユーザー向けに、管理者向けに複数のセルフサービスポータル機能が提供されており、ユーザーはAjaxベースのリッチでグラフィカルな操作性の高いWebインターフェイスから、仮想マシン、ストレージ、ネットワークのリソースを自らオンデマンドでプロブジョニングできます。
ネットワークサービスにおいては、ユーザーが仮想マシンの作成時に、ユーザニーズにあわせた最適なネットワーク構成を選択できます。管理者は、ロードバランサーやファイアウォールのほか、DHCP、ソースNAT、スタティックNAT、負荷分散、VPN、ポートフォワーディングなどのネットワーク機能を組み合わせて、多彩なネットワークサービスをマルチテナントの環境で利用することができます。
CloudStackではVLANベースでテナントごとに仮想ネットワークを提供するAdvanced ネットワークモードと、L3レベルで隔離しマルチテナントの対応にはセキュリティグループ機能で対応するBasicネットワークモードの2つのネットワークモードを提供しています。
CloudStackは、社内などのプライベートクラウドやパブリッククラウドのIaaS環境を構築するのに必要な機能と安定性を備え、多くの商用サービスとして利用が進んでいます。
国内では北海道大学や九州大学などがCloudStackを採用したアカデミッククラウドの環境を構築しています。
また、NTTコミュニケーションズ、IDCフロンティア、KDDI等がCloudStackを採用したパブリッククラウドサービスを提供しています。
さらに、SCSKや日商エレクトロニクス、ユニアデックス、日立製作所、クリエーションラインなどが、CloudStackを採用したプライベートクラウドソリューションを提供しています。
CloudStackを構成するコンポーネント
CloudStackは、以下のとおりのコンポーネントから構成されています。
・Management Server
管理サーバーで、仮想マシンのプロビジョニング機能を持ち、ユーザー・インターフェースの提供、イベント管理、ポリシー管理、仮想マシンのリソース管理など全般的な管理機能を提供しています。
・Computing Node
仮想マシンを起動するノードで、CPUやメモリーなどのリソースを提供する。起動する仮想マシンは、Management Serverから割り当てられます。
・Primary Storage
仮想マシンのブロックデバイスとして使用される仮想ディスク領域を提供しています。
・Secondary Storage
仮想マシンのテンプレートイメージやISOイメージ、スナップショット用などのストレージ領域です。
・Cluster
複数のComputing NodeとPrimary Storageで構成されます。
・Pod
複数のClusterで構成され、スケーラビリティーの高いクラウド構成する一つの要素になります。
・Zone(Availability Zone)
Management Serverと複数のPod、複数のSecondary Storage、L3スイッチを含むネットワークオファリングで構成されます。
CloudStackの4.1のバージョンでから「Rgion(リージョン)の管理単位も追加され、たとえば、東京と大阪のデータセンターを一つのリージョンとして管理することができるなど、サービスの可用性を高めています。
CloudStackの歴史
CloudStackは、元Cloud.com社により開発されたソフトウェアです。元Cloud.com CEOのSheng Liang(元Sun社のJava Virtual Machine(JVM)開発責任者)が、VMOps社を2008年8月に設立し、VM Instance Managerを開発しました。
2010 年5月にCloud.comのドメイン取得に合わせて、社名をCloud.comと社名を変更しCloudStackを市場に投入し、バージョン2.0を CloudStackのCommunityエディションとしてオープンソース化し、リリースしています。
その後、2011年7月12日にはCitrix社 がCloud.comを買収し、無償のオープソース版のコミュニティエディションと商用版の有償のエンタープライズエディションが統合され、完全なオープンソースプロダクトとして提供しています。
Citrix は2012年4月3日にオープンソースソフトウェアの開発や普及推進を図る非営利団体Apache Software Foundation(以下ASF)に寄贈し、CloudStack3.01以降はGNU General Public License Version 3からApache License Version 2で提供されています。
Apache CloudStackのサイト
http://cloudstack.apache.org/
Citrixは2012年5月9日、米国 で開催されたCitrix主催のカンファレンス「Citrix Synergy」にて、Apache CloudStackをベースに商用版として「Citrix CloudPlatform, powered by Apache CloudStack」(以下、Citrix CloudPlatform)(コードネーム、Bonita)の名称で新たにリリースしています。
Citrix は、2012年3月にCloudStack 3.0(コードネーム、Acton)をリリースし、2012年4月3日にオープンソASFに寄贈、2012年5月9日には、米国で開催されたCitrix 主催のカンファレンス「Citrix Synergy」にて、CloudStack3.01をベースに商用版として「Citrix CloudPlatform, powered by Apache CloudStack」(以下、Citrix CloudPlatform)(コードネーム、Bonita)の名称で新たにリリースしています。2012年9月には、Cirtixは CitrixPlatform 3.05をリリースしています。
CloudStackはApache Incubator Projectから始まり、212年11月には、Apache CloudStackになってから最初のメジャーバージョンアップとなるApache CloudStack 4.0-Incubating」がリリースされています。
2013年3月には、トップレベルプロジェクト(Top Level Project)に昇格し、2013年6月には、4.1がリリースされ、2013年10月には4.2をリリースするなど、バージョンアップのペースも早くなっています。
最新版はこちらからダウンロードできます。
4.2のリリースでは、サーとバーティによるUIプラグインフレームワークの採用など57の新機能が追加されリージョン機能の強化など29の機能が改善されています。また、IPv6サポートが技術プレビューとして追加されています。
CloudStackのコミュニティ
AFSのコミュニティでは、CloudStackに関する様々なレイヤとの連携について情報共有が進められています。VMwareのNicira NVP に代表されるSDNや米BashoのRiakやクラウディアンのCloudian、Caringoなどがあります。PaaSレイヤでは、Pivotalが提供するCloud FoundryやEngine Yard等との情報共有も進めています。
2013年9月には、Phthonベースのクラウド管理ツール「Apache CloudStack CloudMonkey 5.0」も公開しています。
日本では、日本CloudStackユーザ会が発足し、開発者やCloudStackを採用するベンダや情報システム担当者などが参加し、日本語による情報発信や、情報共有が行われています。
日本CloudStackユーザ会のページ
http://cloudstack.jp/
2014年3月6日には、「CloudStack Day Japan 2014」の開催が予定されています。
CloudStackに関するURL (参照)
■日本CloudStackユーザ会(JCSUG)
メーリングリスト
users @ cloudstack.jp (技術QA、イベント告知など全般)
メーリングリスト参加方法
http://ml.cloudstack.jp/mailman/listinfo/users
■Apache CloudStack.org
メーリングリスト
cloudstack-dev @ incubator.apache.org(開発者用)
cloudstack-users @ incubator.apache.org(ユーザー用)
cloudstack-commits @ incubator.apache.org(自動コミット用)
メーリングリスト参加方法
それぞれのアドレスに空メール
Wiki
http://confluence.cloudstack.org (英語)
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=30746211 (日本語)
Bug Tracking
https://issues.apache.org/jira/browse/CLOUDSTACK
本家Webサイト
http://cloudstack.apache.org
ソースコード
GitHub
https://git-wip-us.apache.org/repos/asf?p=cloudstack.git
ビルド
http://jenkins.buildacloud.org