ボタン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 西村賢)

情報をお寄せください:

Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える

キャリアアップ


- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

イーロン・マスク氏がユーザーに問いかけた「Vine復活」は良いアイデアか?
イーロン・マスク氏は自身のXアカウントで、ショート動画サービス「Vine」を復活させるべ...

ドコモとサイバーエージェントの共同出資会社がCookie非依存のターゲティング広告配信手法を開発
Prism Partnerは、NTTドコモが提供するファーストパーティデータの活用により、ドコモオ...

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...