これまでの記事で、今回の IT 鉄人レースで構築するクラウドアーキテクチャについて説明してきました。今日からの記事では、使用する IaaS レイヤーである OpenStack を紹介します。今回はオーバービューから始め、今後の記事で各 OpenStack コンポーネントの詳細について解説していく予定です。
目次
リファレンス
本シリーズの記事では、OpenStack 自体の公式ドキュメントをリファレンスや画像ソースとして多用します。
OpenStack の概念についてより詳しく知りたい方は、公式ドキュメントをご参照ください。直接、
OpenStackとは?
OpenStack とは何かを議論するにあたって、次の 3 つの側面から見ることができます。
- ソフトウェア (Software)
- コミュニティ (Community)
- グループ (Group)
ソフトウェア
OpenStack は、基本的にプライベートクラウドおよびパブリッククラウドサービスを提供できるソフトウェアスイートです。これには、一般企業、通信事業者、ハイパフォーマンスコンピューティング(HPC)など、さまざまなユースケースが含まれています。
ソフトウェアの観点から見ると、OpenStack は複数のマイクロサービス (micro service) で構成されており、ユーザーは利用シーンに応じてこれらのサービスを組み合わせ、自身のニーズを満たすことができます。これらのサービスは基本的に REST API を通じて提供されますが、さまざまなプログラミング言語向けのソフトウェア開発キット (Software Development Kit) も用意されており、サービスを利用できるようになっています。
これらのソフトウェアは、公式に提供されている tarball を使用してインストールできるほか、主要な Linux ディストリビューションのパッケージ管理ツールでもパッケージ化されています。
OpenStack ソフトウェアマップ:

コミュニティ
ソフトウェアである以上に、OpenStack は巨大なコミュニティでもあります。このコミュニティの目標は以下の通りです。
あらゆる場所に存在するオープンソースのクラウドコンピューティングプラットフォームを構築すること。それは、使いやすく、導入(実装)が容易で、異なるデプロイメント間での相互運用性(インターオペラビリティ)があり、あらゆる規模に適応し、パブリッククラウドおよびプライベートクラウドのユーザーと運用担当者のニーズを満たすものでなければなりません。
OpenStack は、コラボレーションのためのエコシステムを提供しています。以下のようなインフラストラクチャがあります。
- コードレビュー (Code review)
- テスト (Testing)
- CI
- バージョン管理 (Version control)
- ドキュメント (Documentation)
- Wiki、IRCチャンネル、Etherpad、Ethercalcなどの一連のコラボレーションツール。
4つのオープン (The Four Opens)
OpenStack コミュニティの基本原則は「4 つのオープン (Four Opens)」です。
- オープンソース (Open source)
- オープンデザイン (Open design)
- オープン開発 (Open development)
- オープンコミュニティ (Open community)
グループ
また、コミュニティ内には多くの異なるグループが形成されており、各グループは特定の関心事に基づいて議論や貢献を行っています。これらは SIG (Special Interest Group) と呼ばれます。
まとめ
本記事では、筆者が比較的非技術的な視点からOpenStackを紹介します。次回の記事からは技術的な視点に切り込み、OpenStackを構成するコンポーネント、それぞれの役割、そしてそれらがどのように連携するかについて解説していきます。
リファレンス
著作権表示:このブログのすべての記事は、特記のない限りCC BY-NC-SA 4.0ライセンスの下で提供されています。

