クラウド図鑑 Vol.57

「OpenStack」は、AWSライクなプライベートクラウドあるいはパブリッククラウドを構築するためのオープンソースソフトウェアで、米国時間2016年4月7日に13番目のリリースとなる「Mitaka」が、OpenStackの開発プロジェクト「OpenStack Foundation」によって公開された。Mitakaは、293の企業や組織から2336名の開発者、運用者およびユーザーで構成されるコミュニティによって開発され、主にソフトウェアのデプロイ、管理、スケールのしやすさを強化し、エンタープライズやサービスプロバイダ向けのクラウドプラットフォームとなっている。Mitakaの特長は以下の3点である。

1) 「シンプルな管理性」
クラウドのデプロイの担当者や管理者の運用時の使いやすさを向上した。Novaコンピュート・サービスに、標準のデフォルト設定が複数追加しオプション数を減らし、設定を容易にしている。Keystoneアイデンティティ・サービスのセットアップのためのインストールなどの複数のステップが、1ステップのシンプルな手順になった。また、Neutronでレイヤ3のネットワーキングが改善され、分散型仮想ルーター(DVR)がサポートされた。

2) 「スケーラビリティの強化」
OpenStackのクラウドを拡大・縮小するための機能が改善している。たとえば、12番目のリリース「Liberty」に初めて登場したHeatのコンバージェンス・エンジンは、Mitakaでスケールアウト時に、より大きな負荷や複雑なアクションを扱うことができるようになった。KeystoneのFernetトークンでは、アイデンティティ・サービスがサポートする使用可能なAPI数が増加した。またOpenStackのコンピュート・クラウドのスケールアウトをサポートするためにLibertyで追加されたCells v2が大幅に強化された。

3) 「ユーザーエクスペリエンスの向上」
クラウドの運用者、開発やデプロイをするエンドユーザーを含めクラウドユーザー全体のユーザーエクスペリエンスが向上した。統合型のOpenStack Clientで、コンピュート、アイデンティティ、ストレージといったコンポーネントを対象に、一貫したコマンド体系を実現し、単一のシェルでリソースの作成や更新、削除などの操作ができるようにしている。また、「Get me a network」をNeutronに追加し、サーバーへのIPアドレスの割り当ておよびネットワークをアクセス可能な状態にするために必要なすべてのステップをg、1つのアクションで行うことが可能になった。

OpenStackはプライベートクラウドおよびパブリッククラウドサービスを提供する企業に採用が急増しており、OpenStack Foundation の 事例情報 (User Stories) のサイトには250社以上のユーザーがリストされ、日本からもNTTやGMOが掲載されている。

(* 本稿は、2015年10月28日付の記事「OpenStack」の続編です。)

OpenStack Mitaka コアサービスのデモ動画

(クリックで再生)

http://www.openstack.org/
2016年5月11日 株式会社クラウディット 中井雅也

機能

OpenStack単体ではクラウドのサービスではなく、このソフトウェアをデータセンターのハードウェアに導入し、稼働させ、主にIaaSのサービスとして提供することになる。サービスの中に組み込まれるOSやミドルウェア、また仮想化の基盤(ハイパーバイザー)などはOpenStackとは別に調達する必要がある。OpenStack Foundationでは、2015年末頃から、増えすぎた感のあるOpenStackの様々なプロジェクトの機能を、主要な「コアサービス」と「オプションサービス(Big Tent)」の2つにに大別して整理し、「Project Navigator」サイトのダッシュボードで開発状況を把握しやすくしている。2016年4月のMitakaリリース時点ではコアサービスが6種類、オプションサービスは13種類である。

コアサービス
・Computeのサービス(Nova)
・Networkingのサービス(Neutron)
・Object Storageのサービス(Swift)
・Block Storageのサービス(Cinder)
・Identityのサービス(Keystone)
・Image Serviceのサービス(Glance)

オプションサービス(Big Tent)
・Dashboardのサービス(Horizon)
・Telemetry(メータリング)のサービス(Ceilometer)
・Orchestrationのサービス(Heat)
・Databaseのサービス(Trove)
・Elastic Map Reduceのサービス(Sahara)
・Bare-Metal Provisioningのサービス(Ironic)
・Messagingのサービス(Zaqar)
・Shared Filesystemsのサービス(Manila)
・DNS Serviceのサービス(Designate)
・Key Managementのサービス(Barbican)
・Containerのサービス(Magnum)
・Application Catalogのサービス(Murano)
・Governanceのサービス(Congress)

OpenStackは仮想的なインフラをプログラムでコントロールできるが、APIはAmazon EC2およびAmazon S3と互換性があり、AWSのために書かれたプログラムを最小限の作業でOpenStack用にリライトできる。「Heat」のオーケストレーション機能によって自動スケールの機能を実現可能。OpenStack自体には仮想化のハイパーバイザーの機能はなく、オープンソースの「KVM(Kernel Virtual Machine)」またはXen、VMwareのESXなどと組み合わせることができる。ハードウェアは数多くの主要ハードウェアベンダーのサーバーで稼働させることができる上に、近年ではIBMのLinuxONEメインフレームでも稼働させることができる。

使いやすさ

各 OpenStack プロジェクトは、コマンドから API にアクセスできる、コマンドラインクライアントを提供しており、例えば、Compute は nova コマンドラインクライアントを提供している。Horizonによって、グラフィカルなダッシュボード画面が提供されるが、HorizonはOpenStackの全機能をカバーしていない。Mitakaでは、使いやすさや管理性を向上させているが、現状では、OpenStackによるクラウドを構築するには、相応の開発やカスタマイズが必要となり、新機能を使うにはソースコードを読める技術者が必要だと考えたほうがよい。当然ベースとなるLinuxの知識やコマンドライン操作も必要となる。

マニュアルや書籍など

ドキュメントは相応に多いが、進化のスピードが速いため、新機能などをキャッチアップしていないこともある。当然に日本語の情報にはタイムラグがあるため、最新機能を利用するには英語のドキュメントを読む必要がある。例えば、2015年5月の時点で、Mitakaのドキュメントは日本語のものは「ネットワークガイド」しかない(1つ前のバージョンLibertyのものであれば、インストールガイドや管理ユーザーガイドなどがある)。書籍は日本語のものも含めて比較的多く出版されている。

拡張性

もともと大規模なクラウド環境を想定し、水平分散を想定した拡張性の高いアーキテクチャになっている。50000インスタンスのクラウドを運用しているYahoo! Japanや65000コアのクラウドを実装したCERNなど大規模事例も多い。例えば、「Nova」によるComputeリソースは、AWSライクな複数サイトによる「リージョン」や、電源系統やネットワークなどを分離した「アベイラビリティゾーン」、あるいは、リソースを論理的にグルーピングする「ホストアグリゲート」によって、複数データセンターとサイトを使って拡張ができるアーキテクチャになっている。

可用性

「Nova」によるComputeのリソースは、AWSライクな複数サイトによる「リージョン」や電源系統を分離した「アベイラビリティゾーン」によって、地理的あるいは物理的な障害に対する可用性を高めることができる。「Swift」によるオブジェクトストレージはデータの冗長性を確保するため、標準では3つのレプリカを異なるゾーンに保存する。ライブマイグレーションや、HAクラスター、ローリングアップグレードなどの可用性を高める機能は、コミュニティでも、議論が行われているところで、今後の機能拡張に期待される。またOpenStackのディストリビューターやシステムインテグレーターが必要に応じてソリューションをインテグレートするケースが多いと思われる。

SLA

OpenStackそのものはソフトウェアであるためサービスのSLAはない。

自動化機能

APIによってインフラをプログラムでコントロールできる。APIはAmazon EC2とAmazon S3と互換性があり、AWSのために書かれたプログラムを最小限の作業でOpenStack用にリライトできる。

セキュリティ

OpenStackの利用が拡大するとともにセキュリティが重要になってきたことを理由に、コミュニティから「OpenStack セキュリティーガイド」のドキュメントが提供され、考慮点やベストプラクティス、ガイドライン、推奨事項が記載されている。最終的なクラウドサービスのトータルなセキュリティは、データセンターなどの物理ファシリティやソフトウェアのアップデートや運用スタッフの統制など様々なファクターを考慮して高める必要がある。

データセンターの場所

OpenStack自体はソフトウェアなので、データセンターの場所は問わない。「Nova」によるComputeサービスは、AWSライクな複数サイトによる「リージョン」や電源系統を分離した「アベイラビリティゾーン」によって、複数データセンターやサイトを活用したクラウドを構築できる。

実績・シェアなど

OpenStack Foundation の 事例情報 (User Stories) のサイトには250社以上のユーザーがリストされている。海外では、フォルクスワーゲン、Best Buy、Walmart、CERN、eBay、Wells Fargo、American Expressなど。国内では、Yahoo Japan!、楽天、GMO、NTT、グリーなどがあり、大規模事例としてYahoo! Japanは、50000以上のインスタンスと10ペタバイトのデータのプライベートクラウドを運用している。

エコシステム

オープンソースならではのエコシステムの拡大が加速しており、現時点でのエコシステムは4つに大別される。1.) OpenStackによるクラウドサービスを提供するサービスプロバイダー 2) OpenStackによるインフラを構築するシステムインテグレータ− 3) OpenStackのソフトウェアディストリビューター 4) 対応するハードウェアやソフトウェアを提供するベンダーだ。OpenStackで構築したクラウドをデータセンターから提供するのは、「HP Helion Managed Cloud」「IBM Bluebox(注:Bluemixとは別サービス)」、Rackspace、NTTコムなどである。また、オンプレミスでの個別の構築には国内の多くのシステムインテグレータが対応可能な状況のようである。オープンソースのOpenStackをベースにしてOpenStackディストリビューションとサポートを提供するのはCanonical (Ubuntu)、Red Hat、SUSE、HP、Oracle、VMwareなどがある。対応するハードウェアやソフトウェアは、広範なサーバー、ストレージ、ネットワーク機器、ソフトウェアベンダーが提供している。

価格および支払い方法

OpenStackの開発プラットフォームでもあり、OpenStackの運用プラットフォームとしても50%以上のシェア(ソース:OpenStack Survey 2015)を持つ「Ubuntu 」のOpenStackの場合、ライセンス料金はなく、「Ubuntu Advantage for OpenStack」というサポートプログラムが物理サーバー1台あたり年間1000USドル、アベイラビリティゾーンごとに物理サーバー100台まで年間75000USドル、物理サーバー500台まで年間180000USドル、物理サーバー500台以上は年間350000USドル。