機能 
 構成・方式 
    OpenStack
    コンポーネント
    ノード
    ネットワーク
    参考
 タスク 
 導入 

 OpenStack(スクリプト言語、Pythonで記述)
 ・OpenStack Compute(Nova)
実行中の仮想マシンインスタンスを管理する。
基本的な役割は仮想マシンのインスタンスの起動
 ・OpenStack Image(Glance)
実行コードと動作環境を格納する静的ディスク・イメージを管理
ゲストOSはイメージファイルとしてGlanceに登録
仮想マシン起動時にインスタンスが実行させるホストにコピー
読み込み専用として仮想マシンにアタッチされる。
(書き込み情報は一時的に保管され、インスタンス終了時に削除される。)
仮想ディスクファイルにOSなどを保管したい場合には、Cinderを利用
 ・物理マシンやLXC、Dockerなどのコンテナもサポート

 コンポーネントPike、Ocata、Newton)
 ・OpenStackの各コンポーネントはREST APIを提供している。
コマンドラインやスクリプトなどから様々な操作が行える。
「Horizon」は、OpenStackを操作するためのWeb管理UI
 ・Nova
全体を管理
他のサービスとインターフェースを持つ。
Keystone
Horizon
Glance
 ・Glance
Nova のイメージを提供
 ・Swift
分散オブジェクトストレージ(仮想ストレージ)を提供
通常のファイルシステムと異なる。
ディレクトリ階層などを持たないストレージ
アクセスにREST APIを利用
通常のストレージに比べて、大規模なストレージを構築に向く。
データ保護にも優れている。
通常のストレージに比べると性能は劣る。
画像データ格納や、Glanceに登録されたOSのイメージを格納に利用
 ・Horizon
GUIの管理画面を提供(Web管理UI)
インスタンスの起動やNW、ブロックストレージなど各種リソースの管理が行える。
 ・Keystone
Identityサービスのコード名
ユーザ、サービス(コンポーネント)の認証機能
 ・Neutron
外部ネットワークの仕組みと連動し、仮想マシンに対してネットワーク接続を提供
Open vSwitchやOpenFlowなど
 ・Cinder
ゲストOSなどを永続的保管のため、仮想マシンに対してブロックデバイスを提供
(仮想ディスクファイルを仮想マシンにアタッチして、ブロックデバイスとして利用)
ブロックデバイスを管理
(仮想ディスクファイルなどの形で、NFS共有やLinuxのLVMの領域などに格納)
 ・Heat
OpenStackの各種コンポーネントのAPIに対して様々な操作を自動的に行う。
ChefやPuppetといった自動化の仕掛けと連動
作成したインスタンスに対する設定の自動化をサポート
 ・Ceilometer
OpenStackで構築したクラウド上でのリソース利用量を監視、計測
 ・Trove
 ・Sahara
 ・Ironic
 ・Zaqar
 ・Manila
 ・Designate
 ・Barbican
 ・Searchlight
 ・Magnum
 ・aodh
 ・cloudkitty
 ・congress
 ・freezer
 ・mistral
 ・monasca-api
 ・monasca-log-api
 ・murano
 ・panko
 ・senlin
 ・solum
 ・tacker
 ・vitrage
 ・Watcher

 ノード
 ・コントローラー・ノード
NW、ボリューム、API、スケジューラー、イメージ・サービスを実行する。
仮想ハードウェア・テンプレートの指定
リクエストされたインスタンスの実行をスケジューリング
実行インスタンスを特定のコンピュート・ノード (ホスト) に割り当て
各システムが、定期的にステータスと機能を tonova-scheduler に報告
スケジューラーはデータに従い、ホストに対するインスタンスの割当てを最適化
 ・コンピュート・ノード
仮想インスタンスを実行する。

 ネットワーク
 ・インターネット (Provider Network)
コントローラー・ノードに接続
コンピュート・ノードに接続
すべてのインスタンスが直接プロバイダーネットワークに接続
セルフサービスネットワーク
 ・セルフサービスネットワーク
OpenStack内通信
NATを使い、プロバイダーネットワーク経由で外部ネットワークに接続

 参考
 Wiki
 Ibm