このページの本文へ

Windows Azureでクラウドをはじめよう 第3回

3種類あるロールの違いとは?

Windows Azureの大きな特徴「ロール」を理解しよう

2011年04月20日 06時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

第1回第2回では、Windows Azureの動作を知るために必要な仕組みを紹介した。続いては、Windows Azureのアプリケーション開発に必要な知識として、実行環境である3種類のロールを見てみよう。

3種類のロールとは?

 Windows Azureの実行環境は、大きく3種類ある。「Webロール」、「Workerロール」、「VMロール」の3種である(図1)。

図1 Windows Azureの3つのロール

 Webロールは、IISの上で提供されるWebページとその処理機能だ。簡単にいえば、ASP.NETによるページ表示機能に相当する。2つ目のWorkerロールは、Webロールと対にして利用するもので、サーバー側のバックエンド処理ルーチンとなる。

 たとえばオンラインショッピングサイトを考えた場合、WebロールはユーザーがWebブラウザで見るカタログや注文画面を担当し、Workerロールは受注処理を担当する。そしてWorkerロールは、ストレージサービスのキューと組になり、キューに投入されたアイテムを順次処理するという動作を行なう。キューが間に入るようになっているのは、大量処理などの場合にWorkerロールを複数のVMで動作させて並行処理を可能にするためだ。

 3つ目の「VMロール」は、上記2つとは少々異なる。あらかじめ設定されたWindows Server 2008 R2の環境が入ったVMイメージに対して、アプリケーションをインストールしたものを作成、これをWindows Azureにアップロードしてサービスなどを実行させる仕組みだ(図2)。

図2 VMロールの仕組み

 VMロールでは、Windows Server 2008 R2で動作するアプリケーションの大半が、そのまま利用できる。ただし、Hyper-V内での実行であり、システム設定がある程度固定されてしまうなど、オンプレミスのWindows Serverに比べて制限がある。たとえば、アプリケーション内で管理者権限が必要な処理やAPI呼び出しは制限される。

各ロールの開発方法

 現時点でのWindows Azure用アプリケーションとは、上記3つのロールのどれかで動作するものとなる。それぞれの開発はVisual Studioなどで可能であり、Windows Azure用アプリケーションは、専用システムへのインストールパッケージとして生成される。これにより、ファブリックコントローラーは、VMを増やすような場合、簡単にユーザーアプリケーションをセットアップできる。逆にいうと、Windows Azure用アプリケーションは、複数のVMで並列動作される前提で作らねばならないわけだ。

 とはいえ、Webロールの開発はASP.NETによるページ記述で行なうため、通常のASP.NETの開発とほとんど変わらない。内部のプログラムは、表示イメージ(HTML)の生成時に起動し、表示セッションが終わると終了させられる。このため、ページ表示と独立した処理は、キューを介してWorkerロールで行なうようにする(図3)。

図3 Webロールの動作

 一方、Workerロールは、VB.NETやC#などで記述されたプログラムだ。キュー内のアイテムを取り出し、処理を行なって終了するというサイクルで動作する。ただし、クラウドでの実行であり、処理が失敗する可能性がある。このため、キュー内アイテムの処理が完了したあと、アイテムを処理済みとしてマークして削除するようになっている。何らかの原因でWorkerが終了してしまっても、新たなWorkerプロセスが再度処理を行なうという仕組みを持つ(図4)。

図4 プログラムを実行するWorkerロール

 ●

 3種類のロールの説明は以上だ。Azure Platformのコンポーネント解説の最後として、次回はストレージサービスを詳しく見てみよう。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事

アクセスランキング

  1. 1位

    TECH

    フォーティネットの「SSL-VPN廃止」 IPsec移行と脱VPN、それぞれの注意点を総ざらい

  2. 2位

    ソフトウェア・仮想化

    「SaaSの死」の影響は感じない ― グローバル以上に好調な日本市場、ServiceNow鈴木社長が語る

  3. 3位

    ネットワーク

    ネットワークとセキュリティの統合に強み 通信事業者系ZTNA/SASEサービス3選

  4. 4位

    TECH

    「蟻の一穴」となるリモートアクセスVPNの脆弱性 ZTNA/SASEはなぜ必要か?

  5. 5位

    デジタル

    海外駐在員の負担を軽減し、ワンチームへ kintoneは言語と文化の壁を越える「翻訳の魔法」

  6. 6位

    ビジネス

    医療費5兆円抑制につながる“国産ヘルスケア基盤”構築へ SMBC×富士通×ソフトバンクが業務連携

  7. 7位

    エンタープライズ

    基盤も古いし、コードも酷い! そんなクエストにGitHub Copilotで試行錯誤しまくった「みんな」こそ最高

  8. 8位

    サーバー・ストレージ

    「30%ではなく“30倍”の生産性向上へ」 AIエージェント時代に求められるIT基盤、マイケル・デル氏が語る

  9. 9位

    ビジネス・開発

    いますぐ捨てたいITサービスは? AI推しにそろそろ飽きてません? 情シスさんのホンネを「ゆるっとナイト」で聞いた

  10. 10位

    ITトピック

    AIセキュリティで必要な6つの対策/20代の半数が「検索エンジンを使わない」/生成AIツールはエンジニアの「業務インフラ」へ、ほか

集計期間:
2026年05月19日~2026年05月25日
  • 角川アスキー総合研究所