クラウド図鑑 Vol.30

「OpenStack」は AWS ライクな IaaS の基盤を構築するためのオープンソースのソフトウェアで、2010年に米 Rackspace と米 NASA によってスタートしたオープンソースのプロジェクトである。ほぼ半年に1回のペースで新しいリリースが開発され、クラウド技術の急速な進歩をキャッチアップするべくOpenStackのソフトウェアの進化のスピードは速い。2015年10月時点での最新版は12番目のリリースとなるコードネーム「Liberty」で、話題の「コンテナー」のためのAPIを提供した。現在OpenStackの開発プロジェクトはOpenStack Foundationによって運営されており、Cisco, Dell, HP, IBM, Intel, Oracle, VMwareなど200社以上の会社・団体と3万人以上のコミュニティによって開発されている。また、多くの製品がAPIを通じて連携することが可能となっているため、対応製品のエコシステムも急速に拡大している現在、OpenStackを検討すべきなのは、パブリッククラウドの利用が増えすぎてプライベートクラウドでコストダウンを図りたいといったケースや、パブリッククラウドでは難しいエンドトゥエンドでのインフラのコントロールが必要なケースである。一方で、OpenStackはまだ発展途上であり、導入するためには高度な技術を持つエンジニアが必要になるが、迅速にOpenStackを利用したい場合は、HP Helion Managed Cloud「IBM Bluebox(注:Bluemixとは別サービス)」のようなOpenStackに対応したホステッドプライベートクラウドのサービスを利用する方法がある。

OpenStack Horizonダッシュボードの画面

(クリックで動画再生)

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

機能

OpenStack単体ではクラウドのサービスではなく、このソフトウェアをデータセンターのハードウェアに導入し、稼働させ、主にIaaSのサービスとして提供することになる。サービスの中に組み込まれるOSやミドルウェア、また仮想化の基盤(ハイパーバイザー)などはOpenStackとは別に調達する必要がある。OpenStackが提供するのは主にIaaSの機能で、2015年10月にリリースされた「Liberty」は以下のコンポーネントを提供する。
・オブジェクトストレージの機能(Swift)
・SDN(ソフトウェアで定義されたネットワーク)の機能(Neutron)
Compute(仮想サーバー)の機能(Nova)
・リソースの使用状況記録/メータリングの機能(Ceilometer)
・アイデンティティ(認証と権限)管理の機能(Keystone)
・ブロックストレージの機能(Cinder)
・自動化/オーケストレーションの機能(Heat)
・データ処理サービスの機能(Sahara)
・検索サービスの機能(Searchlight)
・DNSの機能(Designate)
・メッセージングの機能(Zaqar)
・ダッシュボードの機能(Horizon)
・DB as a Serivceの機能(Trove)
・ベアメタルサーバーの機能(Ironic)
・鍵管理の機能(Barbican)

・仮想マシンのイメージ管理の機能(Glance)
・共有ファイルサービスの機能(Manila)
OpenStackは仮想的なインフラをプログラムでコントロールできるが、APIはAmazon EC2、Amazon S3と互換性があり、AWSのために書かれたプログラムを最小限の作業でOpenStack用にリライトできる。「Heat」のオーケストレーション機能によって自動スケールの機能を実現可能。OpenStack自体には仮想化のハイパーバイザーの機能はなく、オープンソースの「KVM(Kernel Virtual Machine)」またはXen、VMwareのESXなどと組み合わせることができる。最新リリースである「Liberty」が米国時間10月15日にリリースされた。新機能としては、「Nova」のコンピュートで、スケーリングを容易にするための「Nova Cells」の新バージョン(Cells v2)が導入された。また、「Kubernetes」、「Mesos」、「Docker Swarm」をサポートするコンテナーの制御/管理のための「Magnum API」サービスの初めてのフルリリースをサポートする。「Heat」と「Neutron」には役割ベースのアクセスコントロールが導入され、ネットワークとAPIのセキュリティ設定を細かく制御できるようになっている。

使いやすさ

Horizonのグラフィカルなダッシュボード画面が提供される。しかしながら、HorizonはOpenStackの全機能をカバーしているわけではない。OpenStackはインストールすればクラウドができあがるわけではなく、クラウド全体を仕立てあげるには、相応の工数の追加開発が必要となる。ドキュメントも最新機能に対しては不十分な場合もあり、バグもあるため、ソースコードを読める技術者が必要だと考えたほうがよい。当然ベースとなるLinuxの知識やコマンドライン操作も必要となる。

マニュアルや書籍など

ドキュメントは相応に多いが、進化のスピードが速いため、新機能などをキャッチアップしていないこともある。当然だが、日本語の情報にはタイムラグがあるため、最新機能を利用するには英語のドキュメントを読む必要がある。書籍は日本語のものも含めて比較的多く出版されている。

拡張性

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

可用性

「Nova」によるComputeのリソースは、AWSライクな複数サイトによる「リージョン」や電源系統を分離した「アベイラビリティゾーン」によって、地理的あるいは物理的な障害に対する可用性を高めることができる。「Swift」によるオブジェクトストレージはデータの冗長性を確保するため、標準では3つのレプリカを異なるゾーンに保存する。OpenStack自体には、HAクラスターの機能はなく、必要に応じてオープンソースのHAクラスターソフトウェアなどを個別にインテグレートするケースが多いようである。

SLA

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

自動化機能

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

セキュリティ

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

データセンターの場所

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

実績・シェアなど

海外では、Walmart、CERN、eBayなど。国内では、Yahoo Japan!、楽天、グリーなどがあり、大規模事例としてYahoo! Japanは、50000以上のインスタンスと10ペタバイトのデータのプライベートクラウドを運用している。

エコシステム

オープンソースならではのエコシステムの拡大が加速しており、現時点でのエコシステムは4つに大別される。1.) OpenStackによるクラウドサービスを提供するサービスプロバイダー 2) OpenStackによるインフラを構築するシステムインテグレータ− 3) OpenStackのソフトウェアディストリビューター 4) 対応するハードウェアやソフトウェアを提供するベンダーだ。OpenStackで構築したクラウドをデータセンターから提供するのは、HP Helion Managed Cloud」、「IBM Bluebox(注:Bluemixとは別サービス)」、Rackspaceなどである。また、オンプレミスでの個別の構築には国内の多くのシステムインテグレータが対応可能な状況のようである。オープンソースの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ドル。