CloudStackとは?
※本投稿は CloudStack Advent Calendar jp 2012 における、12月14日(金) 担当分となります。
今回は、改めてCloudStackとは何か、整理をしたいと思います。
CloudStackとは何か
CloudStackは、Amazon EC2に相当する機能を備えたオープンソースのクラウド基盤ソフトウェアです。XenServer、KVM、VMware vSphereなどの多様なハイパーバイザーに対応し、標準開発言語はJava、標準外部APIはCloudStack APIの独自APIでRESTと、Amazon EC2に接続できるようになっています。
社内などのプライベートクラウドやパブリッククラウドのIaaS環境を構築するのに必要な機能と安定性を備え、多くの商用サービスとして、利用されています。
ユーザー向けに、管理者向けに複数のセルフサービスポータル機能が提供されており、ユーザーはAjaxベースのリッチでグラフィカルな操作性の高いWebインターフェイスから、仮想マシン、ストレージ、ネットワークのリソースを自らオンデマンドで操作することができます。
ネットワークサービスにおいては、ユーザーが仮想マシンの作成時に、ユーザニーズにあわせた最適なネットワーク構成を選択できます。管理者は、ロードバランサーやファイアウォールのほか、DHCP、ソースNAT、スタティックNAT、負荷分散、VPN、ポートフォワーディングなどのネットワーク機能を組み合わせて、多彩なネットワークサービスをマルチテナントの環境で利用することができるといったことも大きな特徴です。
以下の図は、よく比較されるOpenstackと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の構成イメージ
CloudStackへの評価
CloudStackは、国内に置ける開発者においても高い評価を獲得しています。2012年5月に、オープンクラウド実証実験タスクフォースが実施したアンケートでは、オープンソースベースのクラウド関連で興味のある技術では、OpenStackとともに1位となっています。
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に変更しました。AFSの重要なプロジェクトには、Apache Web ServerやApache Tomcat、Hadoop、Cassandraなどがあります。
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をリリースしています。
2012年8月にはCloudStack3.02(コードネーム、Burbank)をリリースし、2012年12月には、メジャーバージョンアップの「CloudStack4.0(コードネーム、Campo)」をリリースしています。CampoではEC2 APIとEC2互換ツールを使わずに接続でき、vApps 2.0のフル機能をサポートしています。Campoではアーキテクチャのモジュラー化が進み、ユーザーインターフェイスやネットワークやストレージのコントローラをプラグインできるようになっています。また、Campoでは、Software Defined Networkを実現するOpenFlowにフル対応し、CloudStackがコントローラとなり仮想ネットワークの設定変更や運用管理が行えるようになっています。
現在、CloudStackはApache Incubator Projectとなっています。
CloudStackの導入事例
CloudStackの導入事例を見てみましょう。
海外では、コリアテレコムやタタコミュニケーション、日本国内ではIDCフロンティアやNTTコミュニケーションズなど、多くの商用実績があります。青で囲っているのは、パブリッククラウドサービス、赤字はプライベートクラウドなどの関連ソリューションになります。
CloudStackの位置づけと様々なサービス連携
CloudStackは、主にIaaSレイヤとなりますが、様々なレイヤとの連携も進んでいます。
AFSのCloudStackのコミュニティでは、様々なレイヤとの連携について情報共有が行われています。ネットワークレイヤーでは、ネットワークの構成や機能の設定をソフトウェアによってプログラマブルに行えるSoftware Defined Networkにおいて、Niciraの提供するNVP(Network Virtualization Platform)やOpenStackの仮想ネットワークの機能を提供するQuantum project に関する情報共有が行われています。ストレージレイヤでは、Amazon S3互換のクラウドストレージプラットフォームのBasho社のRiak CSやCloudian社のCloudianなどがあります。PaaSレイヤでは、VMware社が提供するオープンソースベースのPaaS基盤ソフトウェアのCloud Foundryとの情報共有が行われています。
下の図のように、クラウド管理ポータルや、アプリケーションマーケットとの連携も進んでいくでしょう。
今後、ユーザがより便利に利用するにあたって、CloudStackと連携した様々なサービスやソリューションが提供されるようになると考えられます。
ClooudStackは、クラウド運用自動化ツールとも連携することができます。すべて対応できるか確認していませんが、オープンソースベースの運用自動化ツールとも愛称が良いのも特徴の一つでしょう。
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 (英語)
http://v12n.jp (日本語)
Bug Tracking
https://issues.apache.org/jira/browse/CLOUDSTACK
ソースコード
GitHub
https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git
SVN
https://svn.apache.org/repos/asf/incubator/cloudstack/
オープンクラウド入門 CloudStack、OpenStack、OpenFlow、激化するクラウドの覇権争い (Next Publishing(Cloudシリーズ))
担当キュレーター「わんとぴ」
@cloud_1topi(クラウド) @ict_1topi(情報通信政策)
@ebook_1topi(電子書籍) @mobile_1topi(モバイル)
@smarttv_1topi(スマートテレビ) @localict_1tp(地域活性化)
@smartcity_1tp(スマートシティ)