クラウド図鑑 Vol.76

「 OpenStack 」は、AWSライクなクラウド基盤を構築するためのオープンソースソフトウェアで、米国時間2016年10月6日に14番目のリリースとなる「Newton」が、OpenStackの開発プロジェクト「OpenStack Foundation」によって公開された。「Newton」は309以上の組織にわたる2581人の開発者によって開発されており、2016年4月の「Mitaka」の後継リリースとして、ベアメタルサーバー、仮想化、コンテナーを統合するプラットフォームとしての機能が強化されたという。
主な強化ポイントは以下の3点だ。

  1. スケーラビリティの向上
    ネットワークサービスの「Newton」で、プラットフォームや地理的な場所をまたいだスケールアップまたはスケールダウンが可能になるなど、アーキテクチャや機能面での制約を取り除き、あらゆる規模のクラウドに対応しやすくなったとしている。コンピュートサービスの「Nova」、ダッシュボードの「Horizon」およびオブジェクトストレージ「Swift」のスケールアップ/スケールダウン機能、Novaコンピュート環境を水平にスケールする「Cells V2」の機能、ベアメタルサーバーを提供する「Ironic」のマルチテナント機能を向上させているという
  2. 耐障害性の向上
    ブロックストレージの「Cinder」、ベアメタルサーバーを提供する「Ironic」、ネットワーク機能の「Neutron」およびデータベースサービスの「Trove」などで、高可用性を向上させたという。ブロックストレージの「Cinder」では、複数サービスに拡張可能なバックアップサービスや、暗号化ボリュームと非暗号化ボリュームのタイプ変更の機能が追加された。
  3. 仮想化、ベアメタルおよびコンテナの統合
    ネットワークサービス「Newton」では、OpenStackの仮想化、ベアメタルおよびコンテナ用の統合プラットフォームとしての機能を向上させ、運用担当者とアプリケーション開発者の操作性を高め、OpenStackのセットアップ、運用、アップデートを容易にしたという。コンテナーサービス「Magnum」では「Swarm」、「Kubernetes」および「Mesos」などのコンテナオーケストレーションツールのプロビジョニングが可能になり、ベアメタルサーバー上でのKubernetesクラスタのサポートも可能になった。ベアメタルサーバーの「Ironic」では、マルチテナントネットワーキングや「Magnum」、Kubernetesおよび「Nova」との緊密な統合が実現された。また、「Kuryr」では「Neutron」のネットワーキング機能をコンテナに提供し、初めSwarmおよびKubernetesとの統合を実現している。

OpenStackはプライベートクラウドおよびパブリッククラウドサービスを提供する企業で着実に採用が増えており、OpenStack Foundation の 調査によれば、米国のフォーチュン100企業において、2014年4月の34%が2016年4月には54%と半数を超えた。日本でもNTTグループや富士通、GMOといったテクノロジー系企業から、キリンやJFEスチールなどの大手企業に拡大している。

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

(クリックで再生)

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

機能

OpenStackは、AWSライクなパブリッククラウドやプライベートクラウドを構築するサービスプロバイダーやエンタープライズ企業、政府機関、教育機関のためのオープンソースソフトウェアだ。OpenStackによってクラウド基盤を構築し、データセンターにおいて、コンピュートやストレージ、ネットワークなどのリソースのプールをダッシュボードから作成・管理できるようになる。今回のNewtonリリースによってベアメタルサーバ−、仮想化、コンテナーの統合プラットフォームの機能を高めている。OpenStackの様々なプロジェクトの機能を、主要な「コアサービス」と「オプションサービスの2つにに大別されるが、2016年10月のNewtonリリース時点ではコアサービスが6種類、オプションサービスは13種類である。

  • コアサービス
    • Computeのサービス(Nova)
    • Networkingのサービス(Neutron)
    • Object Storageのサービス(Swift)
    • Block Storageのサービス(Cinder)
    • Identityのサービス(Keystone)
    • Image のサービス(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といった企業を含む、200社以上のベンダーからの支援を受けるとともに、大規模な開発者コミュニティーによって支えられている。OpenStack Foundationによると、Newtonは309の組織をまたがる2581人の開発者によって構築されたという。また今後数週間から数か月のうちにエコシステムからNewtonベースの製品がリリースされる予定だという。現時点でのエコシステムは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」というサポートプログラムが1ノードあたり年間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削減が可能だという。