前回は仮想サーバーの「プール化」を説明しました。今回は、仮想化の次のステップに当たる「自動化」に焦点を当てます。プライベートクラウドの実際の運用という観点から、必要となる資源管理の機構やオートメーション技術などを説明します。

 仮想化されたインフラストラクチャーの運用で発生するさまざまなオペレーションを、管理者がすべてGUI操作で操作していては時間的にも工数的にも高くついてしまいます。そこで、可能な限り自動的・自律的に運用できる枠組みや、一定レベルまでの操作を利用者自身で完結できるようなセルフサービスの仕組みが必要となります。以降では、運用を自動化するためのさまざまなアプローチについて述べます。

自動化へのアプローチ (1) ー APIによる制御

 最初の方法はAPIの提供です。仮想インフラストラクチャーに対するさまざまなオペレーションを行うAPIが備わっていれば、例えばアプリケーションソフトウエアなどからもさまざまな制御が可能になり、その企業が必要とする一連の操作内容をプログラム化して自動制御することが可能になります。

 そのようなAPIの一つの例に、「VMware vSphere API」があります。VMware vSphere APIは、Web Servicesテクノロジー上で動作するAPIで、WS-I Basic Profile 1.0に準拠しています。このため、JavaやC#など、SOAPが利用できるプログラミング言語で記述されたアプリケーションから利用できます。

 VMware vSphere APIを利用するアプリケーションの開発には、VMware vSphere Web Services SDKを用います。これに含まれるWSDLを用いることで、VMware vSphere API使用してVMware vCenter Serverに接続し、仮想インフラの操作・制御が行えます。

 VMware vSphere 4には「VMware vSphere Client」と呼ばれるGUIアプリケーションが提供されていますが、これでできる操作は基本的にすべてVMware vSphere APIからも制御できます。

・VMware vSphere Web Services SDKは以下より無償でダウンロードできます。
 http://www.vmware.com/support/developer/vc-sdk/

 VMware vSphere Web Services SDKを利用することでAPIを利用した制御が可能になりますが、用途や目的によっては、Web Servicesを利用したアプリケーション開発は負担が重い、という場合もあるだろう。そのような場合、簡易的にAPIを利用できるツールキットも提供されている。これを用いるとWeb Servicesの存在を意識せずに、VMware vSphere APIを用いてアクセスできます。現時点では、Perl、Java用のツールキットが提供されています。

・VMware vSphere SDK for Perl
 http://www.vmware.com/support/developer/viperltoolkit/
・VMware vSphere SDK for Java (試験的サポート)
 http://communities.vmware.com/docs/DOC-9625

 また、より抽象化レベルを向上させ、手軽に利用可能なツールとして、「VMware vSphere PowerCLI」が提供されています。このツールを用いると、Windows PowerShellのインタフェースからVMware vSphere 4の一部の操作を行うことができます。

・VMware vSphere PowerCLI
 http://www.vmware.com/support/developer/windowstoolkit/