OpenStackとは、IaaS(Infrastructure as a Service)を構成するためのクラウド管理ソフトウェアで、仮想マシン管理のためのアプリケーションの集合体のことで、複数のアプリケーションから成り立っています。
構成するものとしては、コンピューティングリソース(仮想マシンを動かす仕組み)、ネットワークリソース(仮想ルータや仮想マシン間をつなぐネットワーク構成)、ストレージリソース(仮想的なHDDやリムーバブルディスクなど)でマルチテナント型クラウド(それぞれのユーザが同じ仮想ホストの中で別々のネットワークを構成すること)を提供します。
これはもともと、米Rackspaceが自社開発で利用していた「Swift」(S3相当の機能を提供)と、NASAが開発していた「Nova」(EC2相当の機能を提供)をオープンソース化したもので、2010年にOpenStackの開発を支える公式の非営利団体である「OpenStack Foundation」が設立された。これらに対して、多くの利用者や企業がさまざまなコードを寄与することにより、継続的な機能拡張・改善が行われている。
OpenStackを構成するコンポーネント
プロジェクト名 | 機能 | 特徴 |
---|---|---|
Nova | コンピュート | 仮想マシン管理やハイパーバイザとの接続を提供 |
Swift | オブジェクトストレージ | オブジェクトストレージサービスを提供 |
Glance | イメージ | 仮想マシンの起動イメージサービスを提供 |
Horizon | ダッシュボード | GUIのダッシュボードを提供 |
KeyStone | 認証 | 認証サービスを提供 |
Neutron | ネットワーク | L2/L3ネットワークと、ファイアウォールのネットワークサービスを提供 |
Cinder | ブロックストレージ | 永続的なブロックストレージサービスを提供 |
Heat | 自動化 | スクリプトによる仮想マシンの作成からアプリのインストール等を自動化 |
Ceilometer | メータリング | 各サーバからシステム情報を定期的に収集して保存 |
Trove | データベース | データベースに関わるサービスを提供 |
Sahara | ビッグデータ | ビッグデータに関わるサービスを提供 (Hadoop、Spark) |