このページの本文へ

開発者向けマイクロソフト公式セミナーを直撃!

雲の向こう側がついに判明!? 「Windows Azure」

2009年10月21日 16時00分更新

文● 塩田紳二

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

ファブリック

 ファブリックは、マイクロソフトが構築したデータセンターにあるハードウェアを仮想化により統合して1つの巨大な計算機資源として管理・運用する。このリソースから仮想マシンを作り出し、コンピューティングサービスとストレージサービスを動作させている。

コンピューティングサービス ストレージサービス
Windows Azureの主要素である「コンピューティングサービス」同じく「ストレージサービス」

 実際は、データセンターにPCサーバーが設置されていて、クラウド用のハイパーバイザー(仮想マシン制御プログラム)が動作している。このハイパーバイザーがユーザー契約に則って仮想マシンを作り出し、その中でServer版Windows(実態は「Windows Server 2008」そのものと言われる)が動作し、その上にAzureのアプリケーション環境が作られる。これが「コンピューティング」サービスであり、同様にして仮想マシンによる「ストレージ」サービスも動作させている。

ストレージ

 ストレージサービスはファイルシステムではなく、「BLOB」(Binary Large OBject)、「テーブル」、「キュー」という3タイプのデータ形式を提供し、.NETのLINQ(Language Integrated Query、統合言語クエリー)やADO.NET(データアクセス用のクラスライブラリ)でアクセスが可能なほか、URIやHTTPを使うREST(Representational State Transfer)形式としてもアクセスが可能だ。

SQL Azure ストレージにアクセスするためのSQL Azure

 これは、Windows AzureではもっぱらWebアプリケーションが提供されると想定した措置だ。格納できるデータに上限(当面は最大10GB)はあるものの、データセンター内では3つ以上のコピーが常に保持されており、システムエラーなどのデータ消失にも対策している。

 アプリケーションは、Webページを生成してユーザーからの入力などを受け取る「Webロール」と、独立して動作する「Workerロール」の2つのインスタンス(オブジェクト実体)を組み合わせて開発する。

SQL Azure Databaseの概要と構成 SQL Azure Databaseの概要と構成
SQL Azure Databaseの概要と構成

 たとえばオンライン販売のサイトを実現する場合、Webロールでは、商品やショッピングカートの表示、ユーザー情報の入力を行なう。Workerロールでは実際の商品購入の処理をバックヤードで行なう。この2つのロールは独立して動作しており、Azureデータサービスのキューを使って相互に通信できる。

.NET Services

.NET Servicesの概要
.NET Servicesの概要

 このほかにWindows Azureでは、SQL Azureと.NET Servicesの2つのオプションサービスを提供する。SQL Azureは簡単にいえば、SQL Serverが提供するリレーショナルデータベース機能。.NET Servicesは、ローカルPC上で動作する.NETアプリケーション(オンプレミス・アプリケーション)と、Windows Azure上のアプリケーションを連携させるための機能である。具体的には、ユーザーの実行権限などを管理する「.NETアクセスコントロール」と、オンプレミスアプリケーション間の通信を取り持つ「.NETサービスバス」という2つの機能が提供される。

ピックアップ