ボタン1つでクラウドへディプロイ

Azure開発の概要、マイクロソフトが国内で初デモ

2009/01/27

azure01.jpg マイクロソフト 執行役デベロッパー&プラットフォーム統括本部長の大場章弘氏

 次世代のクラウド開発を支えるのは.NET――。マイクロソフト主催で1月27日に横浜で開かれた「tech・days Japan 2009」の基調講演で同社執行役の大場章弘氏(デベロッパー&プラットフォーム統括本部長)は、こう語った。同社はこの日、国内では初めてWindows Azureプラットフォームのデモンストレーションも行い、クラウド向けアプリケーションの開発、あるいはクラウドを組み合わせた開発が、いかにこれまでの開発ツールや開発言語で容易に行えるかを強調した。

 「メインフレームでアセンブラを書いていた私にはVisualBasic1.0は衝撃だった。しかし、(Windows Azureの開発・ディプロイの容易さは)、さらにその100倍衝撃的だ」。大場氏は、Windows Azure向けの開発を行うことになっても、これまでに投資してきた開発ツールやスキルなどが活かせると話す。

Visual Studio 2008+SDKのデモンストレーション

 同社が行ったデモンストレーションによれば、Windows Azure向けアプリケーションの開発は、いくつかのステップかに分かれる。まず、ASP.NET開発のように従来通りVisual Studio 2008(現状、SDKをダウンロードしてインストールする必要がある)を使ってコーディングする。作成したプロジェクトは、ローカルで稼働するWindows Azureのエミュレーション環境でテストすることができる。エミュレーション環境を構成するのは「Development Storage」と「Development Fabric」の2つのコンポーネントだ。同社はAzureを支えるサービスを“ビルディング・ブロック”と呼んでおり、これら2つはAzure上のビルディング・ブロックを、ローカルPC上で再現するローカルWebサーバのようなものだ。

azure02.jpg Azureプラットフォーム向けアプリケーションはVisual Studioを使って開発できる
azure03.jpg ローカルPCで動くテスト用のエミュレーション環境を構成するコンポーネントの1つ、Development Storage
azure04.jpg ディプロイ関連の管理を行うDevelopment Fabric

 Development Storageは、Windows Azure上のストレージサービスを代替するもので、Blob、Queue、Tableの3種類のサービスからなる(それぞれローカルでは別ポートをListenしている)。一方、Development Fabricはアプリケーションのディプロイに関わるもので、Webロール、Workerロールなどのインスタンスを管理する。WebロールはHTTPリクエストに応えるAzure上のサービスで、Workerロールはキューから処理すべきデータを読み出しながら、実際に処理を行う実体となるようだ。ほかのクラウドサービス同様に、Windows Azureでは、こうしたインスタンスの数を増やすことでスケーラビリティの高いアプリケーションを開発・提供できる。

azure05.jpg Windows Azureではデータモデルや“サーバ”の概念も変わる。“Webロール”はHTTPリクエストに応えるサービス、“Workerロール”は分散処理を行うサービス。データはテーブルで管理する

 Visual Studioを使って開発、動作確認を行ったアプリケーションは、開発者が個別に持てるポータルサイトからディプロイできる。コンパイルした結果をバイナリパッケージとして単一のファイルにアーカイブし、利用するインスタンス数などを記述した設定ファイルとともにWebブラウザからアップロードする。後は“ステージング・ボックス”、“プロダクション・ボックス”と呼ぶ、巨大なアイコンの下にある「Deploy」ボタンを押すだけで、テスト用のディプロイと本番環境へのディプロイが行えるという。

azure06.jpg Azure向けに開発したアプリケーションはパッケージファイルにして、ポータルサイトへアップロードすることでディプロイできる
azure07.jpg ディプロイはボタン1つとシンプル
azure08.jpg Azure上で動いているシンプルなWebフォームのアプリケーション

データモデルは異なっても、同じ言語、同じ環境

 スケーラブルな分散環境に適したアプリケーションを開発するには、従来と異なる設計が必須だろう。大場氏も、スケーラビリティの高いアプリケーションとするためにはキューを介した疎結合でサービスを組み合わせていくような設計が基本となるという。またSQL Data Service(SDS)では、データモデルも従来のRDBMSからテーブルをベースとしたものになり、大きく変わる。こうした意味ではクラウド向けの開発は、従来とかなり異なるものになるだろう。しかし、使い慣れた開発・デバッグ環境が使えるメリットは大きい。.NET開発に使える言語の自由度も上がっており、間口は広いといえそうだ。

 Windows Azureプラットフォームにはビジネス利用を想定した機能も多い。Active Directoryや業界標準のSAMLによる、きめ細かな認証・アクセスコントロール機能、レガシーシステムとの連携も可能にする汎用のアプリケーションバス、ワークフローの共有ホストなどを提供するという。

 Windows Azureプラットフォームは、コンシューマ系のデータ、ID連携が行えるAPIを備えた「Live Services」、オフィスコラボレーションやCRM関連サービスの「SharePoint Services」「Dynamics CRM Services」も載る、非常に大きなクラウドプラットフォームだ。大場氏はクラウドコンピューティングの現状を、「魅力的な選択肢だが万能ではない」とし、今後、互換性や連携を保ちつつオンプレミスからクラウドへの移行が徐々に起こっていくだろうと話した。

関連リンク

(@IT 西村賢)

情報をお寄せください:

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH