PR

 Windows Azure Platformを、マイクロソフトは「クラウドOS」と呼んでいる。その理由は、Windows Azureが単なるWebサイトを公開するだけのレンタルサーバーではなく、クラウドストレージやクラウドデータベースのプラットフォームとして機能するからだろう。

 ただそうはいっても、ユーザーがWindows Azure Platformに期待する機能として、ホスティングサービスの占める割合は大きい。そこで今回は、Windows Azure Platformにホスティングサービスを追加し、Webアプリケーションをデプロイするためのツールをインストールするところまでを解説したい。

Windows Azureの実行モデルを理解する

 Windows Azureの実行モデルを理解する上で、最初に押さえておきたい概念が「ロール」である。「ロール」とは、Windows Azureでアプリケーションを起動する際の実行単位でありコンポーネントである。ロールには「Webロール」「Workerロール」「VMロール」の3種類があり、実行するアプリケーションの性質で使い分ける。当然ながらホスティングサービスにWebアプリケーションをデプロイする場合も、この「ロール」という概念が非常に重要な意味を持つ。

 まず、最初に登場した「Webロール」は、Webサーバーである「IIS」を中心として構成される。IISはご存じの通りWebサーバーである。Webロールのアプリケーションは、IISを利用して静的なHTMLの送信からASP.NET、CGIの実行まで行う。

 これに対して「Workerロール」は、汎用的なアプリケーションを実行するコンポーネントだ。主に、Webロールからキューを受けてバックグラウンドで処理を行う。キューは、通常はストレージサービスを介した非同期通信で行われるが、通信ポートを使ってWebロールから同期通信でアクセスすることも可能になっている。

 その他の違いとして、WebロールがHTTPリクエストによってプロセスを起動するのに対して、Workerロールは最初からプロセスが起動しており、いつでも通信によって処理を依頼することができるという点がある。つまり、俗にいう3階層モデルの「プレゼンテーション層」がWebロールであり、「ビジネス層」に相当するのがWorkerロールと考えれば理解しやすいだろう。

 残された「VMロール」は、ちょっと他のロールと使い方が異なる。VMロールの実態は「Windows Server 2008 R2」の仮想マシンである。この仮想イメージは、利用者が仮想ハードディスク(VHD)としてアップロードできる。つまり、オンプレミスでWindows Serverのサービスを構築したら、そのディスクのイメージをVHD化してWindows Azureにアップロードする。これでオンプレミスのサービスを、そのままクラウド環境に移行することができる(図1)。

図1●Windows Azureの実行モデル<br>IISでWebアプリケーションを実行する「Webロール」、汎用的なアプリケーションを実行する「Workerロール」、Windows Server 2008 R2の仮想マシン上でアプリケーションを実行する「VMロール」から構成される。
図1●Windows Azureの実行モデル
IISでWebアプリケーションを実行する「Webロール」、汎用的なアプリケーションを実行する「Workerロール」、Windows Server 2008 R2の仮想マシン上でアプリケーションを実行する「VMロール」から構成される。
[画像のクリックで拡大表示]

 これがWindows Azureの実行モデルの概要だが、理解していただけただろうか。このようにWindows Azureでは、なにがしかのサービスを実行するために、必ずロールというコンポーネントを利用する。これから追加するホスティングサービスにデプロイするアプリケーションも、WebロールやWorkerロールを利用して動作することになる。

この記事は会員登録で続きをご覧いただけます

日経クロステック登録会員になると…

新着が分かるメールマガジンが届く
キーワード登録、連載フォローが便利

さらに、有料会員に申し込むとすべての記事が読み放題に!
有料会員と登録会員の違い