Windows Azureコンピューティングサービス
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に関する新情報や今後リリースされる機能について紹介されています。英語セッションなのですが、今回は日本語同時通訳がキーノートや一部セッションで行われました。プレーヤーで切り替えられるので、確認してみてください。