Windows Azure のバランスの良さについて

Tech Ed 2010 North Americaに参加し、Windows Azureの良さを本当に理解することができました。

各社クラウドソリューションがありますが、Windows Azureはもっとも優れたバランスを提供していると思います。個人的な勝手な予想では、IaaSとPaaSの間に、クラウドサービスの落としどころがあると考えます。IaaS寄りのクラウド、PaaS寄りのクラウド、多種多様ですが、Windows Azure は、そのバランスが絶妙です。

わかりやすく説明するには、他のクラウドサービスを例に出し、その違いを語るのがもっとも良い方法なのですが、さすがに、それは、生々しすぎるので、以下の Windows Azure のメリットを、他のサービスと比較した場合、どうなのか?という事を考えなら、読んいただければと思います。一部、稚拙と思われる記述もありますが、そのあたりはご容赦を。

Windows Azure のメリット1: オンプレミス、クラウド、共通の実行基盤

やはり、クラウドに向けた特別なアプリケーション開発というのは、現在、オンプレミスで動作しているアプリケーションを移行する場合に、コストがかさみます。Windows Azure は、基本的には、Windows Serverでのアプリケーション開発と同等というのはメリットです。また、万が一、クラウドからオンプレミスにアプリケーションを移動させたいといった場合にも対処できます。

Windows Azure のメリット2:アプリケーションプラットフォームの管理が不要

クラウド的な仮想サーバーの提供、つまりクラウド上で動作している仮想サーバーを、そのまま提供しているクラウドであれば、メリット1は、もっと明確に表現する、つまり、「オンプレミスのソリューションを、100%、クラウドに移行できます。」と言えるはずです。ですが、仮想サーバーをそのまま提供しているクラウドの場合、サーバーのメンテナンス、具体的には、セキュリティパッチ適用などもユーザー自身が行わなければなりません。
Windows Azureの場合、セキュリティパッチ適用は、マイクロソフトが実施しますし、OSの新しい機能追加も、(良くも悪くも)自動的に実施されます。たとえば、Windows Azure上の.NET Framework 4も適用開始が、TechEdでアナウンスされました。こういったメンテナンスを実施しなくて良いというのがメリットと言え、将来的に、最新のプラットフォームを保たれる事がある程度保証されています。
OS丸ごと提供されているクラウドの場合、占有のレンタルサーバー同様、OSのパッチ適用や、バージョンアップが任されている反面、そのメンテナンスは自身で実施しなければならないですが、セキュリティパッチの提供されていないOSを使い続けなければならない可能性があるというリスクがあります。

逆に、この点での、Windows Azure のデメリットは、マイクロソフトが提供するまで、最新のプラットフォームが利用できなかったり、勝手にパッチを適用されてしまうので、すでに実行中のアプリケーションが動作しなくなる可能性が常につきまとうという事です。今回で言えば、6月まで、.NET Framework 4をターゲットとしたアプリケーションを、Windows Azure で使えなかったのは、デメリットと言えるかもしれません。

Windows Azure のメリット3: 開発環境との親和性

一言で表現してしまえば、Visual Studio を使って、オフラインでもオンラインでも開発・メンテナンスができるという点。まだまだ、Windows Azure 開発は、オンプレミスの Windows Server 開発よりも不便な点が多いですが、マイクロソフトは、これからも努力して、その差を埋めようとしています。Windows Azure Tools for Microsoft Visual Studio 1.2 では、Azure上で動作しているサービスを、インテリトレースできるようしてたりしますが、現時点で、ここまでできているクラウドサービスは無いのではないかと思っています。