クラウド図鑑 Vol.87

「OpenStack」は、クラウド基盤を構築するためのオープンソースソフトウェアで、米国時間2017年2月22日に15番目のリリースとなる「Ocata」が、OpenStackの開発プロジェクト「OpenStack Foundation」によってリリースされた。「Ocata」は、52ヶ国、265の組織におよぶ2000人以上のコミュニティ開発者により、通常の6ヶ月ごとの新リリースのサイクルより、およそ2ヶ月ほど早めてリリースされた。OpenStack Foundationによれば、今回のリリースでは中核となるコンピュート機能とネットワーキングサービスのスケーラビリティ、パフォーマンスを含めて「安定性」を重視したとのことである。またコンテナー関連の機能も強化され、ネットワークレイヤにおけるコンテナベースのアプリケーションフレームワークに対するサポートや、OpenStackサービスをコンテナ化しマイクロサービスとして扱うことでデプロイやアップグレードや容易になるという。
以下が機能強化のハイライトだ。

  • 「Nova」(コンピュートサービス)の新しい「Placement API」は、アプリケーションの必要性に応じてリソースをインテリジェントに配置できるよう支援する。また大規模構成のために、「Cells v2」がデフォルトになりNovaのスケーラビリティを向上させている。
  • 「Horizon」(ダッシュボード)が、Keystone-to-Keystoneフェデレーションをサポートし、オペレーターがOpenStackサービス全体のパフォーマンスの問題を発見しやすくなる。
  • 「Keysotone」(ID認証サービス)は自動的にプロジェクトを生成し認証が成功するとフェデレー卜されたユーザーに対してロールを付与する。
  • 「Ironic」(ベアメタルサービス)はネットワーク機能やドライバの改良により、さらに堅牢になった。
  • 「Zaqar」(メッセージングサービス)のバックエンドとしてSwiftオブジェクトストレージが利用できるようになった。
  • 利用状況を収集する「Telemetry」が大幅にパフォーマンス向上し、「Gnocchi」ストレージエンジンと「Ceilometer」により、秒あたり数百万の利用状況データを収集できるようになっている。
  • 「Cinder」(ブロックストレージサービス)の「Active/Active HA」構成のドライバが提供されている。
  • 「Congress」(ポリシーエンジン)のガバナンスフレームワークのポリシー言語が拡張され、ネットワークやセキュリティのガバナンスを強化するためにネットワークアドレスオペレーションができるようになっている。

ウォルマートにおけるOpenStack の事例の動画


(クリックで再生)

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

機能

OpenStackは、AWSライクなパブリッククラウドやプライベートクラウドを構築するサービスプロバイダーやエンタープライズ企業、政府機関、教育機関のためのオープンソースソフトウェアだ。OpenStackによってクラウド基盤を構築し、データセンターにおいて、コンピュートやストレージ、ネットワークなどのリソースのプールをダッシュボードから作成・管理できるようになる。今回のNewtonリリースによってベアメタルサーバ−、仮想化、コンテナーの統合プラットフォームの機能を高めている。OpenStackの様々なプロジェクトの機能を、主要な「コアサービス」と「オプションサービスの2つにに大別されるが、2017年2月のOcataリリース時点ではコアサービスが6種類、オプションサービスは13種類である。
コアサービス
・Computeのサービス(Nova)
・Networkingのサービス(Neutron)
・Object Storageのサービス(Swift)
・Block Storageのサービス(Cinder)
・Identityのサービス(Keystone)
・Image Serviceのサービス(Glance)
オプションサービス
・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などと組み合わせることができる。ハードウェアは主要ベンダーの標準的なサーバーで稼働させることができる。

使いやすさ

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

マニュアルや書籍など

ドキュメントは相応に多いが、進化のスピードが速いため、新機能などをキャッチアップしていないこともある。コミュニティの努力によって日本語のドキュメントも提供されているが、タイムラグがあるため、最新機能を利用するには英語のドキュメントを必要な場合がある。書籍は日本語のものも含めて比較的多く出版されている。

拡張性

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

可用性

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

SLA

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

自動化機能

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

セキュリティ

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

データセンターの場所

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

実績・シェアなど

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

エコシステム

OpenStackは現時点で、Cisco SystemsやDell Technologies、Hewlett Packard Enterprise(HPE)、IBM、Intel、Oracle、Rackspace、Red Hat、VMwareといった企業を含む、250社以上のベンダーからの支援を受けるとともに、世界で約4万人の開発者のコミュニティによって開発されている。現時点でのエコシステムは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、Mirantis などがある。対応するハードウェアやソフトウェアは、広範なサーバー、ストレージ、ネットワーク機器、ソフトウェアベンダーが提供している。

価格および支払い方法

OpenStackの開発および運用プラットフォームとしても50%以上のシェア(ソース:OpenStack Survey 2016)を持つ「Ubuntu 」のOpenStackの場合、ライセンス料金はなく、「Ubuntu Advantage for OpenStack」というサポートプログラムがノードあたり年間750USドル、プロバイダ向けにはリージョンごとに100ノードまで年間95000USドルから提供している。また、OpenStack 専業の Mirantis では「Comparing OpenStack and AWS Total Cost of Ownership」というサイトでAWSとのTCO比較情報を提供しており、例えば1000VMで年20%成長するクラウドを運用する4年のTCOが、AWSでは約820万USドルに対してMirantis OpenStackでは約442万USドルで、46%のTCO削減が可能だという。