先日のエントリで書いた通り、最近はAmazon EC2を本格的に使うために色々試しているところです。Amazon EC2でのノウハウも溜りつつあり、世の中的にも事例が徐々に出てきていますが、すこし前に26台まとめて吹き飛ぶといった、クラウドのデメリットも徐々に表に出てきつつあります。
この手のデメリットはクラウドを使う以上は本質的に避けがたいのですが、その時のためにもAmazonの奮起に期待するとか、なんとかバッドノウハウでカバーする、というだけではなく、そもそも別のクラウド事業者をいざという時の選択肢として確保しておきたいところです。
選択肢となりえるクラウドサービスは、国内でもいくつか登場してきていますが、今回は、ちょっと伏兵的なWindows Azureの可能性を試してみました。(Google App Engineは、さすがに環境が特殊すぎるので過去の資産がある立場としては、選択することは、なかなか難しいです。)
詳細は、以前、MSさんとセミナーをした際の資料をあげておきましたので、そちらも参照してください。ここでは、セミナーの内容のエッセンスをいくつか紹介します。
Windows Azureとは
Microsoftの提供するクラウドコンピューティングサービス。基本的には、Windowsサーバが使えるクラウド、という説明が一番シンプルでしょう。はてなのようにLAMPスタックに染まっていると、Windowsサーバは接する機会がないのですが、MySQLも動くし、memcachedも動くし、JavaはもちろんPHPやPerl, Rubyも動きますので、普段書いているアプリケーションは、そのまま動くことも珍しくありません。
Windows Azureは、.NETで構築されたアプリケーションを動かすだけではなく、任意のネイティブアプリケーションも動かせます。管理者権限やレジストリ操作を必要とするものは、現時点では動きませんので、MySQLのようなWindowsらしくないアプリケーションの方が簡単に動作するようです。
実際なにが動く?
セミナーでは、PHPのシンプルなアプリや、Mediawikiを動かしてみました。Accesslaratorのようなサポートツールも充実していますので、思ったより簡単に動かすことができます。他にもRuby on Railsも動きますし、既存のアプリケーションも用意に動くと思います。(少なくともGAE上に持っていくよりは相当にラクだと思います)
結局使える?
それで実際に使えるか、というと、デプロイ手段が限られていたり、まだまだ不安定要素が多く、もうすこし洗練されるのを待つ必要があると思います。ただ、いわゆるクラウドコンピューティング環境の選択肢がAmazonとGoogleに限定されるのは、健全な市場とは言えません。特にGAEは環境が特殊ということもあります。
Windows Azureの価格体系は、Amazon EC2を意識しているそうですし、MicrosoftとAmazonが本気で殴り合いをしている間は、価格の低廉化が進んでいくことでしょう。
クラウドコンピューティング業界の競争をより推進させるためにも、Windows AzureがEC2の代替として使えるようになる可能性に期待しています。