1.3 クラウドコンピューティングの活用に向けて
ここまで、クラウドコンピューティング、特に、IaaS タイプのクラウドサービスについて、その概要を説明してきました。
抽象化されたコンポーネントにより、利用者にとって必要な機能を直接に提供するとともに、さまざまな手順が標準化されること、そして、API を利用した自動化が実現できることがわかりました。これらはすべて、システム構築の迅速化に役立ちます。
これらクラウドサービスの本質を理解して使いこなすことで、これまでとはまったく異なるシステム構築の世界が開けます。
また、クラウドの API は、クラウドの基本機能に対応するものなので、API を理解することで、そのクラウドサービスが提供する機能を総合的に知ることができます。API リストは、クラウドの機能一覧表とも言えるでしょう(図 1.17)。
中には、Webコンソールからは利用できない機能が隠れていることもあります。これまで、Webコンソールを中心にクラウドを利用していた方も、API を見直すことで新たな発見があるかもしれません。
なお、物理環境を意識しないですむことがクラウドの利点ですが、より適切にクラウドサービスを利用するうえでは、その背後にある物理環境のことを知っておくことも有用です。
たとえば、データセンターが被災した際にサービスを継続するための「DR(Disaster Recovery)」を実現するうえでは、異なるデータセンターに複数の仮想マシンを配置するなど物理環境を意識した構成が必要となります(図 1.18)。
また、オープンソースソフトウェアとして提供される OpenStack では、内部の仕組みが公開されているので、その気になれば、各種コンポーネントの裏側にある仕組みをすべて理解することも不可能ではありません。
Web コンソールやコマンドから仮想マシンを起動した場合、クラウドの中ではいったい何が行なわれているのか?――このような内部構造について知ることも、クラウドを活用するうえでは有益な知識となります。
続く第 2 章では、代表的なクラウド環境として、Amazon Web Services(AWS)と OpenStack を取り上げ、その主要な構成要素を紹介します。その後、第 3 章からは、各コンポーネントの機能とそれを操作するための API について、より詳しく説明を行ないます。
OpenStack を例として、API の背後にある、内部の仕組みについても解説を加えます。抽象化/標準化というクラウドサービスの本質を押さえつつ、内部構造の理解を含めることで、クラウドコンピューティングのメリットを最大限に引き出す活用法を学んでいきましょう。