ボタン1つでクラウドへディプロイ
Azure開発の概要、マイクロソフトが国内で初デモ
2009/01/27
マイクロソフト 執行役デベロッパー&プラットフォーム統括本部長の大場章弘氏次世代のクラウド開発を支えるのは.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サーバのようなものだ。
ローカルPCで動くテスト用のエミュレーション環境を構成するコンポーネントの1つ、Development Storage
ディプロイ関連の管理を行うDevelopment FabricDevelopment Storageは、Windows Azure上のストレージサービスを代替するもので、Blob、Queue、Tableの3種類のサービスからなる(それぞれローカルでは別ポートをListenしている)。一方、Development Fabricはアプリケーションのディプロイに関わるもので、Webロール、Workerロールなどのインスタンスを管理する。WebロールはHTTPリクエストに応えるAzure上のサービスで、Workerロールはキューから処理すべきデータを読み出しながら、実際に処理を行う実体となるようだ。ほかのクラウドサービス同様に、Windows Azureでは、こうしたインスタンスの数を増やすことでスケーラビリティの高いアプリケーションを開発・提供できる。
Windows Azureではデータモデルや“サーバ”の概念も変わる。“Webロール”はHTTPリクエストに応えるサービス、“Workerロール”は分散処理を行うサービス。データはテーブルで管理するVisual Studioを使って開発、動作確認を行ったアプリケーションは、開発者が個別に持てるポータルサイトからディプロイできる。コンパイルした結果をバイナリパッケージとして単一のファイルにアーカイブし、利用するインスタンス数などを記述した設定ファイルとともにWebブラウザからアップロードする。後は“ステージング・ボックス”、“プロダクション・ボックス”と呼ぶ、巨大なアイコンの下にある「Deploy」ボタンを押すだけで、テスト用のディプロイと本番環境へのディプロイが行えるという。
Azure向けに開発したアプリケーションはパッケージファイルにして、ポータルサイトへアップロードすることでディプロイできる
ディプロイはボタン1つとシンプル
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」も載る、非常に大きなクラウドプラットフォームだ。大場氏はクラウドコンピューティングの現状を、「魅力的な選択肢だが万能ではない」とし、今後、互換性や連携を保ちつつオンプレミスからクラウドへの移行が徐々に起こっていくだろうと話した。
関連リンク
関連記事
情報をお寄せください:
TechTargetジャパン
- 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 -
イベントカレンダー
- - PR -


