オープンソース・クラウド基盤 OpenStack入門
公開日 更新日 2014/09/22
プライベートクラウドという用語が現れてから結構経ちますが、2,3年前ぐらいからオープンソースソフトウェアで構成されたプライベートクラウド管理基盤としてOpenStackが有名になって来ています。
そこで今回、タイトルにあるOpenStackの入門書を読んでみました。
OpenStackはプライベートクラウド
クラウドコンピューティング – Wikipedia
インターネット経由の一般向けサービスを「パブリッククラウド」、業界内・企業内(ファイアーウォール内)などのサービスを「プライベートクラウド」、両者を組み合わせたサービスを「ハイブリッドクラウド」とも呼ぶ
私はこれまでクラウドといえば、パプリッククラウドの代表とも言えるAmazon Web Serviceぐらいしか馴染みがありませんでした。
本書記事によると、プライベートクラウド界におけるOpenStackの歴史上、特徴づけるポイントとしては以下の事柄であると紹介されています。
- プライベートクラウドという分野は、パプリッククラウドが出た後に需要が高まった。そして、プライベートクラウドという分野の要件はパブリッククラウドとは異なる。
- パブリッククラウドとプライベートクラウドのいずれも、ターゲットはIaaS(Infrastructure as a Service)である。
- IaaSの最大のメリットはAPIが整備されていて、プロビジョニングに関わる操作の自動化が半端無いという点。
- パブリッククラウドとプライベートクラウドとを比較する場合の対象はリソース量であって、性能面は優先度が低い。だからパブリッククラウドを採用するという選択肢もありえて、中間にあるハイブリッドクラウドという選択肢もある。
OpenStackの歴史
OpenStack – Wikipedia
OpenStack(オープンスタック)は、2010年にRackspace HostingとNASAによって始められたIaaSクラウドコンピューティングプロジェクト。
OpenStackは初版がリリースされたのが2010年。
当時は複数企業が主体となった活動だったとはいえ、コミュニティに技術者が大勢参加しており、ものすごい勢いでバージョンアップし続けている模様。
また、初期にあったモジュールが解体され複数のサービスに分割するなどといった、再配置もされていることからも、プライベートクラウドの姿形は完成形ではないということを言っているようです。
2014年時点で、リリース名「Icehouse」と「Juno」がリリース予定とのこと。
OpenStackを構成するコンポーネント
「Havana」として提供されているコンポーネントは以下。
- Nova
仮想マシンの管理 - Swift
オブジェクトストレージの管理 - Glance
OSテンプレートイメージの管理
スナップショットの管理 - Keystone
APIのためのユーザ認証
APIアクセスURL(エンドポイント)の通知 - Horizon
Webコンソール(ダッシュボード) - Neutron
仮想ネットワークの管理 - Cinder
ブロックボリュームの管理 - Ceilometer
コンポーネントから統計情報の収集 - Heat
構成の自動化(オーケストレーション)
読み終わって思うこと
とりあえず今の最新バージョンを導入することで、きちんとしたプライベートクラウドを構築することが可能になると思いました。
どうしてもコミュニティによる機能追加がものすごい勢いで、導入後取り残されてしまうんじゃないのかというリスクを背負うことになる、というところが気になるポイントじゃないでしょうか。
そこはもう一度作り直すという覚悟を決めて割りきって一歩を踏み出す、というポリシーで開発されているんだと思えばいいんでしょうか。
本書執筆時点では、2013年の「Havana」をベースに執筆されていて2014年リリース予定?のトピックは含まれていなかったので、若干カバー範囲が古いようです。
とはいえ、2014年に登場した新しい機能は浸透するのに、またそれ相応の時間がかかると考えれば、書籍という媒体の特性というだけで、入門としては問題なく目的を達成できたように思います。
レスポンシブ広告
関連記事
-
GitHub実践入門 ~Pull Requestによる開発の変革
仕事でGitを使った開発をしたりGitHubのツールを活用する、という機会があっ …
-
OpenFlow徹底入門 SDNを実現する技術と知識
SDNの雰囲気を嗜む 最近すごく注目されているOpenFlow。 …
-
インフラデザインパターン ~安定稼動に導く127の設計方式
サーバー/ストレージ/ネットワークといった物理リソースを組み込んだシステム開発の …