米Microsoft が開発を進めるクラウド基盤「Windows Azure Platform」は,企業での利用を想定し,企業内システムと連携する。OSに当たる「Windows Azure」と,RDBMS に当たる「SQL Azure」などから成る。Visual Studio を用いて開発できるほか,Java,PHP,Python,Ruby も動作する。

 米Microsoftが提供するクラウド・プラットフォームにより,これからのアプリケーション開発/設計がどのように変わるかを,概要編と設計編の2回に分けて紹介します。今回は概要編で,プラットフォームの全体像から開発時のポイントまでを説明します。

企業内システムとクラウドをつなぐ

 Microsoftが提供するクラウド・プラットフォームは,「Windows Azure Platform」です。このプラットフォームは,SaaS(Software as a Service)の基盤,および,PaaS(Platform as a Service)として,企業向けシステムに利用されることを想定し,開発が進められています。クラウドというと仮想化やストレージにばかり注目が集まりますが,これらの用途に利用されることを考えると,そのほかにも考えなければならないことは多々あります。Windows Azure Platformはその点において,Microsoftの考え方を色濃く反映したものになっています。まずは,そのプラットフォームの全体概要を見ていきましょう。

 図1は,Windows Azure Platformの構成図です注1。企業向けシステムを構築する際に利用する主なものとして,「Windows Azure」「SQL Azure」「.NET Services」―があります。

図1●Windows Azure Platformを用いたシステムの全体像
図1●Windows Azure Platformを用いたシステムの全体像
[画像のクリックで拡大表示]

Windows Azure
 クラウド・システムのOSに当たり,拡張性と可用性に優れたアプリケーションのホスティング環境とストレージ環境を提供します。アプリケーション配布から運用までを可能な限り自動化し,IT管理にかかる時間やコストを効率化します。

 開発ツールの「Visual Studio」で開発した.NETアプリケーションが動作し,相互運用性のための「REST」や「SOAP」といったインタフェースをサポートします。また,Windows Server 2008/Internet Information Services(IIS)7でサポートされている「FastCGI」(Webサーバーからアプリケーションを呼び出すインタフェースの一つ)がWindows Azureでもサポートされますので,Java,PHP,Python,Rubyといった言語を用いたアプリケーションも動作可能です注2

SQL Azure
 MicrosoftのRDBMSである「SQL Server」の一連の機能をクラウド向けに提供するサービスです。初期バージョンではデータベース機能「SQL Azure1 Database」が提供されます。SQL Azure Databaseは,SQL Serverと同じリレーショナル・データ・モデルをサポートしますので,既存のアプリケーションやツール,知識を活用することができます。SQL Serverのほかの機能である,レポーティングや分析サービスなどは,今後提供される予定です。

.NET Services
 クラウド上のサービス間連携,企業内システムとクラウド・システムの連携などの機能を提供するサービスです。アクセス・コントロール,サービス・バスの各サービスも提供します。