最近、Windows Azure 開発方法について相談を受ける機会が増えているので、開発環境と開発手順についてシンプルに纏めました。
■Windows Azure(ウィンドウズ・アジュール)開発環境
【フレームワーク概要】
⇒ マイクロソフトのクラウド技術の集合体です。
⇒ Windows Azure プラットフォームの開発、サービスホスティングおよびサービス管理機能を提供するクラウドOSです。
⇒ 複数のマイクロソフト開発言語に対応している。
⇒ HTTP(S) 上で SOAP, REST, XML に対応しオンプレミス環境と通信可能です。
⇒ 開発環境は Visual Studio 2010 に統合された SDK とローカルデバッグ実行(エミュレータ)環境が提供されている。 (2011/02/03 現在: Windows Azure SDK 1.3)
Windows Azure SDK および Windows Azure Tools for Microsoft Visual Studio
(注意 ↑ :Google Chrome を標準ブラウザとしているため、html アイコンが変わっています)
===
【開発全体像】
⇒ Windows Azure は次の基本コンポーネンツが含まれます。
・コンピューティングサービス:アプリの配置・実行環境(ホスティング環境)
・ストレージサービス:テーブル (Table)、キュー (Queue)、ブローブ (BLOB)、ドライブ (Drive)
・管理:管理用ポータルサイト、管理 API と診断 API
⇒ 上記基本コンポーネンツに対して開発環境 (Developer SDK) が存在する。
⇒ アプリ開発の流れ
↓
開発ローカル環境: (単体から結合テストの前半まで)
コーディング (Visual Studio, Azure SDK)、デバッグ (Visual Studio, Azure SDK, 開発ファブリック, 開発ストレージ)
↓
クラウド環境: (結合テストの後半から総合テストは Windows Azure ステージング環境で実施する)
配置・実行(Windows Azure ポータルサイト、管理 API)、運用管理 (Windows Azure ポータルサイト、ダッシュボード、管理 API、その他のツール)
======
■Windows Azure(ウィンドウズ・アジュール)開発手順
【開発ツール】
⇒ Windows Azure 開発は Microsoft Visual Studio 2010 のみならず Microsoft Visual Web Developer 2010 Express (無償)も使用可能です。(ただし、ローカル開発のみ)
実際に確認した様子:
ここで、Microsoft Visual Web Developer 2010 Express を(デバッグ操作を伴う場合は管理者権限で)起動しバージョン情報を確認すると、
↓
Windows Azure Tools Version 1.3 が確認できます。(Windows Azure でスケーラブルな Web アプリケーションおよびサービス の作成、構築、デバッグ、実行、およびパッケージ化を行うには、Visual Studio 2010 が必要です)
===
【開発手順】
1.Microsoft Visual Web Developer 2010 Express で、新規 Azure プロジェクトをテンプレートから作成。基本的には Visual Studio 同様に .NET Freamrwork 4 から開発ソリューション対象に対して Web Role (役割)を与えます。これにより、単一のアプリ上で複数の機能を持たせられます。
↓
2.サンプルソースを流用しデバッグなしでビルドします。 (Hellow Cloud など)
↓
3.このように表示されるため、 WebRole Endpoints は http で接続する初期設定になっています(通常は意識しなくて構いません)
ここで Type は外部入力されるので Input Type となっていますが、他にも内部入力用に Internal Type が指定可能です。
↓
4. ここまでがローカル環境での開発で、コーディングと結合テスト前半までが終了していると仮定します。次に Winodws Azure へ乗せてみましょう。Windows AzurePlatform Portal (Azureポータルサイト :現在は英語版のみ)を開き、所定の手続き操作を行います。
注意: Microsoft と Windows AzurePlatform 契約アカウントが必要です。(登録にはクレジットカード番号入力を伴います) ⇒ 代理申込を希望される方はご連絡ください。BPOS 導入を考えていらっしゃる企業も、迅速に使えるように代理申込いたします(別途 twitter で DM ください)。
↓
5. Azureポータルで発行されたトークンをアプリ側での Web Role / Virtual Networkで指定します。
すると、クラウド環境 (結合テストの後半から総合テストは Windows Azure ステージング環境で実施する)での結合テスト後半から総合テストを行えるようになります。
以上で大体の概要を掴んでもらえたかと思います。上記4.と5.を説明していない企業があり(どうやら提案している企業は外部へ投げているかもw)、私のところへ「実際の開発シナリオはどうなの?」と相談が増えているのが現状です。