Windows Azureコンピューティングサービス

2010年11月11日(木)
大和屋 貴仁

Windows Azureコンピューティング サービス

Windows Azureコンピューティング サービスは、アプリケーションを実行するサービスである。Windows Serverをベースに構築されているサービスなので、Windows Server上で動作するアプリケーションの多くが動作する。コンピューティング サービスの目的は、膨大な数のユーザーによる同時アクセスを実現することである。同時アクセスを実現する手段として利用されているのが、スケールアウトである。スケールアウトは、処理台数を増やし、処理できる同時アクセス数を増加させる方法である。

図4:スケールアウトとスケールアップ

独自アクセス数の大規模事例の参考情報として、マイクロソフトのWindows Azure採用事例を2つ紹介する。1つ目が、Internet Explorer 9 Betaの紹介サイト「Beauty of the Web」である。2つ目が、「Microsoft ITがmicrosoft.comのWindows Azure Platformへの移行開始(英語)」のドキュメントである。

Windows AzureコンピューティングサービスはRoleインスタンス上で動作する。Firewallとロードバランサーの背後に、Roleインスタンスが展開される。Roleインスタンスを展開する際に、インスタンスの役割(Role)と、インスタンスの性能(Size)を指定する。インスタンスの役割には、Web RoleとWorker Roleの2種類のRole(役割)がある。性能向上のために、Roleに特化した仮想マシンが展開される。

Web Role
HTTPとHTTPSリクエストを受け付け、IISでウェブアプリケーションをホストすることができる。
Worker Role
Web Roleとは違ってIISでホストされず、Windowsサービスやタスクを動作せることができる。JavaやPHP、MySQLなどのアプリケーションをホストしたり、非同期処理を行う。

図5:Windows Azure コンピューティング サービス(クリックで拡大)

インスタンスの性能は、仮想マシン(VMs)のスペックに当たる。アプリケーションが必要とする性能に応じて選択する。提供されている性能は、4種類でSmall、Medium、Large、Extra largeから選択する。それぞれの性能については、下記表を参照して欲しい。CPUコア数を選択するときには、複数コアを持つデスクトップ上で速く動作しないアプリケーションを、クラウド上で複数コア上で動作させても、速くなることはないっと言うことを思い出すと良い(インスタンスのSize選択については、TechDays 2010の「Windows Azure Platform 徹底検証」を参照)。

インスタンスの性能
インスタンスの性能(Size) CPU メモリ インスタンス 容量 I/O性能 ネットワーク コスト
Small 1.6 GHz 1.7 5GB 225 GB 普通 共有NW 1倍
Medium 2 x 1.6 GHz 3.5 GB 490 GB 高速 共有NW 2倍
Large 4 x 1.6 GHz 7GB 1,000 GB 高速 共有NW 4倍
Extra large 8 x 1.6 GHz 14GB 2,040 GB 高速 専用NW 8倍

Web Role概要

Web Roleは、(IIS 7ベースの)IISでアプリケーションをホストする。外部からの通信は、Firewallとロードバランサで、プロトコルとポート番号がフィルタリングされる。リクエストを受け付けるプロトコルはHTTPとHTTPSである。HTTPとHTTPSは、どちらか一方のみの使用、または両方を使用することができる。リクエストを受け付けるポート番号は、80番と443番ポートが一般的であるが、別の番号を指定することもできる。設定したプロトコルとポート番号以外は、Firewallとロードバランサでフィルタリングされ、ホストしているアプリケーションにリクエストが送信されない。セキュリティ上、DDOS対策となっている。

図6:エンドポイントイメージ図

Worker Role概要

WebアプリケーションをホストするWeb Roleに対して、Worker Roleは、非同期処理や長時間実行するタスクなどを実行する。Worker Roleは、IISにホストされないが、外部からリクエストを受け付けたり、Web Roleと連携することができる。Worker Rollでは、様々なアプリケーションを動作させることができ、JavA + TomcatやPHP、MySQLなどが動作する。Worker RoleでWebサーバーを動作させた人もいる。(参考:Tech Fielders コラム「Windows Azure の Worker Role で Web サーバーを実装する」)

Windows Azure 最新トピックス

Windows Azure platformは、クラウドサービスで提供されており、管理&運営をマイクロソフト自身が行っている。その為、オンプレミス製品に比べて、機能拡張が速く数か月単位で更新されている。またマイクロソフトも力を入れている為、次から次へと情報提供が行われている。それらを逐次連載内では紹介しきれないので、末尾でまとめて紹介していく。

Install Maniax 4 Azure祭り 碧空の勇者たち
参加受付が11/17までのインストールマニアックス4。優勝者は、マイクロソフト本社レッドモンドにてWindows Azure責任者とディスカッションの機会が与えられるそうです。
ゼロからはじめるWindows Azure
環境の準備から、Azureを利用するための申込み、アプリケーション(WordPress)のインストールまでを紹介する連載が開始しています。すでに第三回まで公開されています。
Windows Azure用アプリケーション開発 Step-by-Step チュートリアル ガイド
コンサルティング サービス提供のWindows Azureアプリケーション開発のチュートリアル。
Windows Azure上でのWebアプリケーション開発基礎
コンサルティング サービス提供のWindows Azure開発ノウハウ。実案件を通して蓄積されたノウハウを提供する有償サービスとして提供されてきた資料の一角が無償公開されています。
PDC 10
先日アメリカで実施された開発者向けイベント。Windows Azure Platformに関する新情報や今後リリースされる機能について紹介されています。英語セッションなのですが、今回は日本語同時通訳がキーノートや一部セッションで行われました。プレーヤーで切り替えられるので、確認してみてください。

Hyper-VやSQL Serverなどの技術に興味を持ってきた自称SE。最近は、SQL Serverをベースに開発されたクラウドデータベースのSQL Azureに熱中している。一方で、Windows Phone 7にも興味を惹かれており、妥協案としてWIndows Phone 7でSQL Azureと連携させようと企む日々。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています