Web Platformの全体像を知る
Windows Azure Platformのコンピューティング機能をおさえる
これまでの連載で紹介してきたテクノロジやフレームワークは、すべて開発環境の話です。一方、Windows Azure Platformは、その名の通り、プラットフォームです。開発したアプリケーションを展開して実行させるデプロイ環境とも言えます。
Windows Azure Platformは、(1)PaaSのフロントエンドとして利用する「Windows Azure」、(2)クラウド上のデータベース「SQL Azure」、(3)クラウドとオンプレミスを接続する「Windows Azure AppFabric」、以上の3つの製品から成り立つプラットフォームです。
図5: Windows Azure Platformの構造 |
本記事では、Windows Azure内のコンピューティング・サービスにフォーカスを絞り、ポイントを紹介します。
- (1)Webロール
Webロールとは、非常に乱暴に言うと、Windows Azure PlatformにホストされているIIS(Internet Information Services)のことです。HTTPリクエストを処理するロールで、ASP.NETやWCF(Windows Communication Foundation)、Silverlightのほか、PHP、Perl、Java、Rubyなどの言語や、それぞれのフレームワークを配置して動作させることができます。
- (2)Workerロール
Workerロールは、バックグラウンドでプロセスを実行するためのロールです。エンドユーザーが直接アクセスして操作することはありません。非同期のバッチ処理や大規模な計算が必要な場合は、こちらのWorkerロールを使うことで、効率的に処理を実行できます。
- (3)VMロール
VMロールは、Amazon EC2のようなIaaS(Infrastructure as a Service)ととらえるとよいでしょう。内部的に言うと、Windows Server 2008 R2の仮想化インスタンスです。まだBetaの段階ですが、提供されています。
Webロールは、最低限の設定をすれば、後はメンテナンスなどはクラウド側で実施してくれます。一方、VMロールの場合は、利用者が責任を持って一通りの設定やメンテナンスを行う必要があります。どうしてもWebロールでは利用できないアプリケーションを使いたい場合(例えば、アプリケーション内で使うコンポーネントをサーバーにインストールしなければならない場合)には魅力的なロールと言えそうです。
実際にクラウドにアプリケーションをデプロイする際には、上記3つのロールのいずれかを選択します。Windows Azure Platformは、Google App Engineと違い、シビアに課金されます。その影響もあってか、いまだに食わず嫌いな開発者の方が多いですが、需要は確実にあります。まずは、Windows Azure Platformに触れて、クラウド・コンピューティングの可能性を感じてみるとよいでしょう。
まとめ
今回は、SilverlightとWindows Azure Platformの特徴、使い所を紹介しました。「RIAやPaaS型クラウドは時期尚早」と感じましたか。それとも「何となく使えそうかな」と感じましたか。いずれのテクノロジも、Microsoftならではのサポートが得られます。
また、MSDNフォーラムをはじめとするユーザー主体のコミュニティが、活発に情報発信ならびに情報共有を実施しています。特に、MSDNフォーラムのWindows Azure全般を取り扱うフォーラムでは、特に活発な質問と意見のやり取りが行われています。気になることがあった場合は、そちらに投稿してみるのもよいでしょう。
本連載は、現場での具体的な適用ケースを記載してきたものの、全体的に広く浅く、どのような機能があるのかを認知する形式で進めてきました。もし、気になるテクノロジやフレームワークがあれば、ぜひ本連載を足掛かりに、より深い情報を収集してみてください。