このページの本文へ

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

アプリケーションやデータ販売を行なうAzure Marketplaceも用意

Azureアプリを支えるデータベースとAppFabric

2011年04月13日 09時00分更新

文● 塩田紳二

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

前回はマイクロソフトのクラウドサービス「Windows Azure Platform」を構成する3つの部分の1つ、中心部といえるアプリケーション実行環境である「Windows Azure」について紹介した。続いては、残る2つである「SQL Azure」と「AppFabric」を解説し、アプリケーションやデータの販売を行なう外部サービス「Windows Azure Marketplace」を見てみよう。

リレーショナルデータベースのSQL AzureとAppFabric

 SQL Azureは、マイクロソフトのSQL Serverの主要機能をクラウドとして実装したものだ。Windows Azureアプリケーションからアクセスできるほか、ローカルのアプリケーションからアクセスすることも可能だ(図1)。

図1 データベースサービス「SQL Azure」

 SQL Azureは、基本的にSQL Serverと互換性がある。このため、同じプログラムでクラウド、オンプレミスどちらのデータベースにもアクセスが可能だ。これにより、オンプレミスのシステムをAzure Platformに移行する際、まずはアプリケーション側だけをクラウド化し、SQL Serverはオンプレミスのままとし、あとからSQL Azureに移行させることができる。ストレージサービスと同様に、同じデータは3つ複製され冗長性を高めている。

 そのほか、レポート作成システムとしてSQL Serverの「SSRS(SQL Server Reporting Services)」の下位互換となるレポーティングサービス、他のSQL Azureデータベース、およびSQL Serverと同期を行なうSQL Azure Data Syncサービスなどがある。

 Windows Azure、SQL Azureに続く3つ目の主要コンポーネントが「Windows Azure AppFabric」だ。これは、.NET Frameworkを使って分散アプリケーションを開発するためのサービスで、必ずしもWindows Azureアプリケーション用というわけではない。このAppFabricは、「サービスバス」と「アクセスコントロール」、「キャッシュ」の3つのコンポーネントから構成されている(図2)。

図2 3つのコンポーネントからなるWindows Azure AppFabric

 「サービスバス」は、WCF(Windows Communication Foundation)やHTTP/HTTPSで通信を行なうアプリケーション間を接続するサービスだ(図3)。WCFは通信の基本的なフレームワークであるが、たとえばNATを利用しているとかファイアウォールなどは、環境依存であり、アプリケーション側から統一的な制御は困難である。この問題を解決するのが、サービスバスだ。

図3 アプリケーション間を接続する「サービスバス」

 サービスバスは、インターネット側にあり、サービスを提供するアプリケーションが登録を要請する。するとURIが提供されるため、これをクライアントアプリケーション側に設定することで、アプリケーション間での通信が可能になる。この時、サービスバスが通信を中継するため、クライアント側はインターネット側のサービスへのアクセスと同じように接続が可能となる。サービス側も、サービスバスへの登録時に使った接続を介してクライアントからの要求を受け取るため、双方のファイアウォールやNATなどの問題は発生しない

 また、クライアントから見えるのはAzure Platformにあるサービスバスサーバーであり、ユーザーサービスを提供する側を直接見ることがない。このため、セキュリティ上も有利になる。

 AppFabricの2つ目の機能であるアクセスコントロールサービスは、ユーザー管理などのためのIDとそのIDによるアクセス制御を行なうサービスだ(図4)。マイクロソフトのWindows Live IDやActive DirectoryのIDのほか、Google、Yahoo!、Facebookなど他社サービスのIDも流用できる。

図4 「アクセスコントロール」の手順

 アクセスコントロールは、これらのIDからユーザーの設定したルールに基づき、アプリケーション利用のためのトークンを生成する。クライアント側では、このトークンを利用してユーザーのサービスへとアクセスする。こうした仕組みにより、クラウドサービスで広く使われる「IDによるアクセス制御の仕組み」を簡単に組み込むことが可能だ。もちろん、ユーザーのサービス側は、Azure Platformにあっても、オンプレミスでもかまわない。

 AppFabricの3つ目であるキャッシュサービスは、Windows Azureの分散キャッシュを制御、アクセスするための機能を提供する。Windows Azureでは、BLOBデータに関しては自動的に分散キャッシュが行なわれるが、このキャッシュサービスを使うと、Windows Azureアプリケーションがキャッシュに任意のデータを配置できる。これにより、オンプレミスのクライアントなどがデータを要求したばあい、キャッシュのデータを返すようにできる。

Azure用アプリストアも用意

 最後に、これまで紹介した機能とはちょっと異なる「Windows Azure Marketplace」を紹介しよう。これは、Azure Platform上に構築されたサービスやサービスで利用するデータなどのオンラインストア機能だ。さまざまなサービスで利用するような統計や財務、法務、株式情報といったデータをオンラインで販売できる。

画面1 データを販売する「Marketplace DataMarket」

 データは、オンライン販売され、購入したユーザーは、Marketplace DataMarketに対してリアルタイムにデータを要求できる(図5)。このため、静的なデータだけでなく、リアルタイムに変化するようなデータも扱うことが可能だ。データ自体は、Azure Platform側にも、オンプレミス側にも配置することが可能だ。

図5 Azure Platformのアプリケーションやデータを販売する「Windows Azure Marketplace」

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード