OpenStack とは?をわかりやすく解説
OpenStack は、オープンソースのクラウド基盤ソフトウェアです。プールされた仮想リソースを使用してプライベートクラウドおよびパブリッククラウドを構築し、管理するオープンソース・プラットフォームです。OpenStack プラットフォームを構成するツールは「プロジェクト」と呼ばれ、コンピュート、ネットワーク、ストレージ、ID、イメージサービスのコア・クラウド・コンピューティング・サービスを処理します。10 以上のオプションのプロジェクトをバンドルして、デプロイ可能な独自のクラウドを作成することもできます。
仮想化では、ストレージ、CPU、RAM などのリソースをベンダー固有の各種プログラムから抽出し、ハイパーバイザーによって分割してから、必要に応じて配布します。OpenStack では、一貫性のある API (アプリケーション・プログラミング・インタフェース) 群を使ってこれらの仮想リソースをもう一歩先まで抽象化することで、分離したプールを作成します。これらのプールを使用すると、管理者やユーザーが直接操作する標準的なクラウド・コンピューティング・ツールの機能が強化されます。
OpenStack はクラウド基盤、それとも仮想化管理プラットフォーム?
OpenStack と仮想化管理プラットフォームは多くの点で似ていますが、まったく同じものではありません。
たとえば、OpenStack と仮想化管理プラットフォームはどちらも仮想化されたリソースの上に成り立ち、ベンダーごとに異なる環境においてプロセスを検出、レポート、自動化できます。
しかし、仮想化管理プラットフォームが仮想リソースの機能を操作しやすくするものであるのに対して、OpenStack は実際に仮想リソースを使用し、組み合わせツールを実行します。そのため、OpenStack は、単なる仮想化管理プラットフォームではなく、こうしたツールを使ってクラウド環境を構築するクラウドコンピューティング・プラットフォームです。結果として、米国国立標準技術研究所 (NIST) が定めるクラウド・コンピューティングの 5 つの基準 (ネットワーク、リソースプール、ユーザー・インタフェース、プロビジョニング機能、自動的なリソース管理/割り当て) を満たすクラウド環境を形成することができます。
OpenStack の動作の仕組み
OpenStack は基本的に、スクリプトと呼ばれる一連のコマンドで構成されています。このスクリプトはプロジェクトと呼ばれるパッケージにバンドルされ、クラウド環境を作成するタスクを中継します。このようなクラウド環境を作成するために、OpenStack は次のような 2 種類のソフトウェアを使用します。
- ハードウェアから抽象化された仮想リソースのレイヤーを作成する仮想化
- OpenStack スクリプトから渡されたコマンドを実行する、ベースのオペレーティングシステム (OS)
OpenStack の仕組みについてまとめるとこうなります。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 では、コードがプロプライエタリーな境界で制限されないため、ベンダーと連携または連携しないように OpenStack デプロイを変更できます。さらに Red Hat は、クラウドプロバイダーとも密接に協力しており、どのインフラストラクチャにデプロイするかに関わらず、優れたパフォーマンスを実現できます。
Red Hat が提供するのは、製品、サポート、コンサルティング、トレーニングだけではありません。Red Hat は貴社のパートナーとして、オープンソースの文化を貴社に導入するお手伝いをします。