はじめに
Windows AzureおよびAzure Storageは、ASP.NETアプリケーションの使い勝手を継承しつつ、豊富な新機能を搭載した、拡張性と堅牢性に優れた新しいアーキテクチャです。これは従来型のクライアントサーバアーキテクチャからのパラダイムシフトと言えるものですが、これは開発者に新しい選択肢を与えると同時に、頭痛のタネももたらします。「クラウド」は、すべてのアプリケーションや状況についての解決策になるものではなく、少なくとも一般的な概念を理解している場合に、解決策の候補(いわゆる「ツールベルト」の中の「ツール」の1つ)としての可能性を秘めているにすぎません。
本稿では、クラウドアーキテクチャを採用したアプリケーションの構築方法を、実際の例を使って説明します。以下の項目に沿って、Azure StorageのTableとQueueという新しいサービスを使ったマルチロールのクラウドサービスを構築する方法を示します。
- Web RoleとWorker RoleからなるWindows Azureアプリケーションを作成する
- Azure Storage
- アカウント情報を記述した構成ファイルを設定する
- Tableを用いてデータを保存および取得する
- Queueを用いてWorker Roleにメッセージを送信する
- Azure SDK StorageClientプロジェクトを用いてTableおよびQueue操作を行う
本稿のコードを、自分の環境で実際に動作させたい場合は、以下をインストールしておく必要があります。
- VS 2008 SP1
- Windows Azure Tools for Visual Studio(http://www.microsoft.com/azure/sdk.mspxにあります)
- Windows Azure SDK(Windows Azure Tools for VSとともにインストールされます)
Windows Azure Tools for Visual Studioをインストールするには、Vista SP1またはそれ以降が必要です。Windows XPにインストールすることはできません。
本稿のコードとスクリーンショットは、AzureのJuly 2009 CTPのものであり、正式リリースまでに変更される可能性があります。正式版のリリース後には最新のドキュメントを参照し、廃止または変更された機能がないかを確認してください。
次ページ以降で作成するアプリケーションでは、1つのWeb Role
を用いて、ユーザーが2つの数値を入力し、後でそれらの和を参照できるようにします。また、Worker Role
を用いて、Queue
メッセージを取得し、2つの入力を取り出して加算し、結果をTable
ストレージへと保存します。簡単な加算のためにWorker Role
を使用するのは大げさなようですが、ユーザーインターフェースの応答性と拡張性を備えたクラウドアプリケーションを設計するために必要なすべての処理を示す例となっています。