クラウド特捜部
Windows AzureからMicrosoft Azureへ
(2014/5/15 06:00)
IaaS部分の機能拡張
ここからは、Azureの機能拡張に関して、IaaS、PaaS、インフラの3つのポイントで解説していく。
今回リリースされたVisual Studio 2013 Update2とAzure SDK 2.3では、Visual StudioとMicrosoft Azureの統合が行われている。Visual Studioのユーザーインターフェイスから、Microsoft Azureの仮想マシンを作成したり、管理したりできるようになった。
これにより、Visual Studioで開発したコードをMicrosoft Azureにアップロードし、クラウドで動作している仮想マシン上にデバッグコードを置いて、オンラインでコードをデバッグすることが可能になった。IaaSレイヤにおいて開発ツールと統合された環境は、開発者の負担を大幅に減らすことになるだろう。開発したコードを実行環境においてすぐデバッグできるというのは、今までできなかったことだ。
仮想マシンのイメージバックアップに関しても大きな変更が行われた。今までMicrosoft Azureでは、OSを含んだOSイメージとストレージなどは、別々にバックアップやイメージが作成されていた。
今回は新たにVMイメージという機能が追加された。VMイメージでは、OSイメージだけでなく、データが入ったストレージを含め、すべてをイメージとして保存することになる。OSイメージ部分はプロビジョニング(Windows OSにおけるSysprep)などを自動的に行うことも可能。また現在動作している仮想マシンとストレージを、そのままスナップショットすることができる。このため、いったんシステムをシャットダウンして、静的な状態にしてからコピーをとるという必要がなくなる。
ローカルサーバーで動作しているHyper-Vのように、スナップショットが頻繁にとれるため、開発したシステムのテストを行うときなどで、もしトラブルが起こった時に、以前の状態に簡単に戻すことができる。さらに、PowerShellからVMイメージのキャプチャや展開が行えるようになっている。
今回のMicrosoft Azureの機能拡張では、DevOpsツールのPuppetとChefが標準でサポートされた。この2つは、仮想マシンのデプロイやプロビジョニングを自動的に行ってくれるシステムだ。
多くのシステムでは、1つの仮想マシンにデータベースやアプリケーションなどを置くのではなく、3階層モデル(Web、アプリケーションサーバー、データベース)のように、複数のサーバーを階層化してシステムが構築されている。これによりシステム自体をスケーラブルにして、クラウドなどで大規模なユーザーに対応できるようにしているわけだ。
しかし今までのMicrosoft Azureでは、機能の異なる複数の仮想マシンを自動デプロイする機能が弱かった。例えば、フロントのWebサーバーを何台拡張すると、ミドルティアのアプリケーションサーバーを拡張する必要がなるのか、ネットワークの設定をどうしていくのかなど、システムをスケーラブルにしていくには、手動で設定しないといけないことが多かった。
これを解決するのがPuppetだ。Puppetは、Puppetマスターにシステムをデプロイするための情報が用意されており、スケールする場合は、Puppetマスターが各仮想マシンに必要な情報を送って拡張していける。PuppetとChefは、Linuxだけでなく、Windowsもサポートされている。
このほか仮想ネットワーキングにおいては、Point to SiteのVPN、Dynamic Routing、Subnet Migration、Static Internal IPなどの機能が追加された。