OpenStack とは
OpenStack は、プールされた仮想リソースを使用してプライベートクラウドおよびパブリッククラウドを構築および管理するオープンソース・プラットフォームです。OpenStack プラットフォームを構成するツールは「プロジェクト」と呼ばれ、コンピュート、ネットワーク、ストレージ、ID、イメージサービスのコア・クラウド・コンピューティング・サービスを処理します。10 以上のオプションのプロジェクトをバンドルして、デプロイ可能な独自のクラウドを作成することもできます。
仮想化では、ストレージ、CPU、RAM などのリソースをベンダー固有の各種プログラムから抽出し、ハイパーバイザーによって分割してから、必要に応じて配布します。OpenStack では、一貫性のあるアプリケーション・プログラミング・インタフェース (API) 群を使ってこれらの仮想リソースをもう一歩先まで抽象化することで、分離したプールを作成します。これらのプールを使用すると、管理者やユーザーが直接操作する標準的なクラウド・コンピューティング・ツールの機能が強化されます。
OpenStack は単なる仮想化管理プラットフォームなのか
OpenStack と仮想化管理プラットフォームは多くの点で似ていますが、まったく同じものではありません。
たとえば、OpenStack と仮想化管理プラットフォームはどちらも仮想化されたリソースの上に成り立ち、ベンダーごとに異なる環境においてプロセスを検出、レポート、自動化できます。
しかし、仮想化管理プラットフォームが仮想リソースの機能を操作しやすくするものであるのに対して、OpenStack は実際に仮想リソースを使用し、ツールの組み合わせを実行します。こうしたツールによって、米国国立標準技術研究所 (NIST) が定めるクラウド・コンピューティングの 5 つの基準 (ネットワーク、リソースプール、ユーザー・インタフェース、プロビジョニング機能、自動的なリソース管理/割り当て) を満たすクラウド環境が形成されます。
OpenStack の動作の仕組み
OpenStack は基本的に、スクリプトと呼ばれる一連のコマンドです。このスクリプトはプロジェクトと呼ばれるパッケージにバンドルされ、クラウド環境を作成するタスクを中継します。このような環境を作成するため、OpenStack は他の 2 種類のソフトウェアを使用します。
- ハードウェアから抽象化された仮想リソースのレイヤーを作成する、仮想化
- OpenStack スクリプトから渡されたコマンドを実行する、ベース・オペレーティングシステム (OS)
次のように考えてください。OpenStack 自体はリソースを仮想化せず、リソースを使用してクラウドを構築します。OpenStack はコマンドを実行せず、ベース OS に中継します。OpenStack、仮想化、ベース OS という 3 つのテクノロジーのすべてが連携して機能しなければなりません。この相互依存関係が、多数の OpenStack クラウドが Linux® を使用してデプロイされている理由です。これは、OpenStack をオープンソースソフトウェアとして公開するという RackSpace と NASA の決定の根拠ともなっています。
OpenStack のコンポーネント
OpenStack のアーキテクチャは数多くのオープンソース・プロジェクトで構成されています。これらのプロジェクトは、OpenStack のアンダークラウドとオーバークラウドのセットアップに使用され、それぞれシステム管理者とクラウドユーザーによって使用されます。アンダークラウドには、システム管理者がオーバークラウドと呼ばれるエンドユーザーの OpenStack 環境をセットアップおよび管理するために必要なコアコンポーネントが含まれています。
6 つの安定したコアサービスがコンピューティング、ネットワーキング、ストレージ、ID、イメージを処理します。さらに、開発成熟度が異なる多数のオプションサービスがあります。この 6 つのコアサービスがインフラストラクチャとなり、他のプロジェクトがダッシュボード、オーケストレーション、ベアメタル・プロビジョニング、メッセージング、コンテナ、ガバナンスを処理できます。
Nova
Nova は、OpenStack コンピューティング・リソースの管理およびアクセスのための完全なツールであり、スケジューリング、作成、および削除を処理します。
Neutron
Neutron は、他の OpenStack サービスとの間でネットワークを接続します。
Swift
Swift は、高度な耐障害性を持つオブジェクト・ストレージ・サービスです。RESTful API を介して、非構造化データオブジェクトの保存と取得を行います。
Cinder
Cinder は、セルフサービス API を介してアクセスできる永続ブロックストレージを提供します。
Keystone
Keystone は、すべての OpenStack サービスの認証と許可を行います。また、すべてのサービスのエンドポイント・カタログでもあります。
Glance
Glance は、さまざまな場所に仮想マシンのディスクイメージを格納し、さまざまな場所からディスクイメージを取得します。
OpenStack で何ができるか
プライベートクラウド
OpenStack 上で実行されるプライベートクラウド・ディストリビューションには、カスタムコードを使用してビルドされたプライベートクラウドよりも、大きなメリットがあります。IDC による価値の評価では、プライベートクラウド向けの Red Hat OpenStack Platform によって年間 681 万ドルの利益が得られるとしています。
ネットワーク機能仮想化
451 Research によると、ネットワーク機能仮想化 (NFV) (ネットワークの主な機能を分離して環境間で分散させる) に OpenStack を使用することが、次の大きなトレンドになると予想されます。これは、アナリストによる調査対象となったほぼすべてのグローバル・コミュニケーション・サービス・プロバイダーのアジェンダに含まれています。
パブリッククラウド
OpenStack は、パブリッククラウド環境を構築するためのオープンソース・オプションとして先導的な地位にあります。数十億ドル規模の株式公開企業であっても、立ち上げ間もない会社であっても、OpenStack を利用してパブリッククラウドを構築すれば、大手パブリッククラウド・プロバイダーに勝るとも劣らないサービスを提供できます。
コンテナ
OpenStack はプライベートクラウドおよびパブリッククラウドの安定した基盤です。コンテナはアプリケーション提供までの時間を短縮すると同時に、アプリケーションのデプロイや管理をシンプルにします。OpenStack 上でコンテナを運用すると、単独のサイロ化されたチームでの運用から、部門を越えたエンタープライズ規模の運用に至るまで、さまざまな規模でコンテナのメリットを活用できます。
Red Hat OpenStack を選ぶ理由
Red Hat はオープンソースの根本的な特性を維持しながら、エンタープライズ向け OpenStack を安定化しています。OpenStack をオープンソースにしておくことで、クラウド・インフラストラクチャおよびインフラストラクチャを利用するあらゆるものを制御できます。あるベンダーと連携するように (または連携しないように) Red Hat® OpenStack デプロイを変更できますが、これはコードがプロプライエタリーな境界で制限されていないからです。コードはあなたのものです。そして Red Hat は、クラウドプロバイダーとも密接に協力しています。そのため、どのインフラストラクチャにデプロイするかに関わらず、優れたパフォーマンスを実現できます。
Red Hat が提供するのは、製品、サポート、コンサルティング、トレーニングだけではありません。Red Hat は貴社のパートナーとして、オープンソースの文化を貴社に導入するお手伝いをします。