Windows Azure SDK の更新

年末に爆弾じゃなくて大型?のアップデートがきましたー。

今回更新されたのは以下の3つ。

で、ややこしいことに内部バージョンはWindows Azure SDK 1.6なんですが中身はいろいろ再配置・きったはったがありました。それに伴い名称なども変更されてるので注意が必要です。

まぁ元ソースは文末にまとめたリンクを見て頂くか、きっと日本語化された公式ソースっぽい内容をナイスガイさとうなおき氏が近日中にまとめると思われるのでそちらを見てください。(丸投げ)

とは言ってもまぁ軽くまとめておきたいと思います。

Windows Azure Training Kit November 2011 Update

変更点は以下の通りです。

  • [New demo] Publishing Cloud Applications with Visual Studio
  • [Updated] Labs and Demos to leverage the new Window Azure SDK & Tools 1.6
  • [Updated] SQL Azure Presentations
  • Applied several minor fixes in content

まぁ最新のSDKに対応+αというところですね。※あとで見ないと

ダウンロードはこちら → Windows Azure Platform Training Kit – November Update

Windows Azure SDK 1.6

さてWindows Azure SDK 1.6まわりです。こいつが結構大変。まず名称が「Windows Azure SDK for .NET」にかわりました。というかWindows Azure Tools for Visual Studio 2010にWindows Azure SDK for .NETが含まれるようになってます。

で、以前はCompute/Storage Emulatorが同梱だったのが一応別物に。(プログラムの追加と削除的な意味で)
また合わせて「Windows Azure Libraries for .NET 1.6」としてService Bus、Caching、ServiceBus Queueに関するライブラリやツールが纏められています。(つまるところもとはWindows Azure AppFabric SDK)

逆にWindows Azure EmulatorとしてCompute/Storage Emulatorは分けられました。
※ほかにWindows Azure Authoring ToolsとかあるんですがこいつがこれまでのSDKと同等かな?

ちょっと面倒ですがWebPIで個別にダウンロードすればわかるかも。

インストールはこちらから → Windows Azure SDK for .NET

Web Platform Installerが起動するのでさくっと入れることができます。

※↑これは個別にWebPIでAzureで検索した画面

依存関係等は↑参照

 

インストール後はこんな感じになります。

個別にわかれてるのが確認できます。

さて、Windows Azure SDK 1.6もといWindows Azure SDK for .NETの変更点ですが大きく以下のようになっています。

  • 流れるような発行
    • Visual Studioから管理ポータルを触らずにホストサービス・ストレージアカウントの作成や証明書の作成、RDPの設定などなど一連の作業をウィザード形式で簡単に行えます。またインプレースアップグレードにも対応。
  • マルチプロファイル
    • 発行に関する設定をプロファイルとして保存。簡単に変更できます。
  • チームビルド
    • MSBuildコマンドに対応。TFSと連携させたりビルドの自動化やVisual Studioがなくてもビルドすることができます。
  • インプレースアップグレード
    • 先日アップデートされたインプレースアップグレード機能に対応(こちらを参照
  • 拡張された発行ウィザード
    • 証明書の作成やポータルへの発行等にも対応
  • 自動的な証明書の管理と構成
    • RDPに利用する証明書の作成など、わずらわしいコマンドを叩かなくてもOK。管理ポータルへのアップロードも発行ウィザードが自動的にしてくれます。
  • 複数のサブスクリプションに対応
    • 複数のWindows Azureサブスクリプション(契約)を切り替えて発行できます。
  • ホストサービス、ストレージアカウントの作成
    • Visual Studioからホストサービスやストレージアカウントの作成ができます。管理ポータルいらず。
  • リモートデスクトップの構成の簡便化
    • リモートデスクトップ接続の際にチェックを入れてユーザー名・パスワードを指定するだけで設定できます。証明書を指定することもできますし自動的に作成・アップロードすることもできます。
  • デプロイ設定
    • 複数の環境設定(サービス構成ファイル)を管理して発行を管理することができます。
  • アクティビティログ
    • 仮想マシンの初期化ステータスや発行状態などでより多くの情報が得られます。

まぁ主に発行処理、開発(ビルド)まわりの拡張が多いですね。これは大規模・分散開発する人にはうれしいんじゃないでしょうか。

さて文字ばっかりだとわかりにくいので簡単にスクリーンショットでも。

発行ウィザード

Azureプロジェクトのメニューから発行をえらぶと以下のようなウィザードが起動します。

一覧に新しいサブスクリプションを指定することもできます。(初期だとそうせざるを得ないですが)

ポイントは証明書の指定ですね。これ以降のウィザードでもホストサービスの作成やストレージアカウントの作成、アップロード等全てここでの設定が必須ですのでちゃんと設定しましょう。(これは以前からも同じ)

ただ逆に言うと、一度Azureの管理ポータルで管理用証明書を登録して、ここで設定さえしておけば(開発者のマシンやBuildサーバーに証明書を入れておけば)以降は管理ポータルを触らなくても開発からデプロイまで全部できるということです。これは嬉しいんじゃない?

でウィザードを進めるとデプロイ先のホストサービスやストレージアカウント、RDPやWebDeployの設定画面が表示されます。

※但し初回はWebDeployのチェックボックスが隠れて見えない。保存して開き直すと見れます。よくわからん。
※あとここでホストサービスやストレージアカウントの新規作成を選ぶと、その時点でAzure上に作成されるので注意。

あ、ストレージアカウントの画面は以下の通りですが

「Enable deployment upgrade」はたぶんインプレースアップグレード時に必要になるのでチェックつけておいた方がいいかも。

RDPの設定も「More Options」で展開すると証明書の選択等行えますが、既定でAutomaticになっています。つまりユーザー名、パスワードと有効期間を設定するだけで自動的に証明書を作成してアップロードまで行ってくれます。お手軽!

※なんていうかITPro泣かせな気がしないでもないですね。これ証明書の管理とか大変になるのでテストとか以外はちゃんと考えて管理したほうがいいと思います。

最後にサマリを確認しておわり。PublishすればAzure上へ発行されます。

Target profile欄横の保存アイコンでプロファイルを保存できたり、切り替えたりすることができます。簡単ですね。
作ったプロファイルはWindows Azureプロジェクトのソリューションファイルとして追加されます。

実際に発行するとこんな感じに。

細かくなった…気がするw

さてインプレースアップグレードですが、そのままアプリを変更して再度発行ウィザードで発行すると(既にデプロイされた状態で発行すると)以下のようなダイアログが表示されます。

ここで「Replace」ボタンを選択するとインプレースアップグレードが実行されます。

実行前:

実行後:

デプロイIDが変わっていないので削除→再デプロイじゃないことがわかります。便利!

ちなみにVisual Web Developerでも動きます。(※IntelliTraceは動きませんが)

MSBuild

MSBuildでソリューションを実行するとこんな感じです。

SDK1.5以前はエラーになってビルドできなかったのが、ちゃんとビルドできるようになりました。ちゃんちゃん。

という感じでWindows Azure SDK for .NETはこんな感じの更新でした。細かいのは他にもあるかもしれませんが概ねSDK1.5の拡張でしたね。

 

Windows Azure Emulator

Compute / Storage Emulatorはパフォーマンス等で改善があったようです。新しいStorageのAPIにも対応してるかどなたか確認してほしいなぁ…

Windows Azure Libraries for .NET 1.6

以下の更新(何に対する更新かわかりにくいですがもとはAzure AppFabric SDK 1.0)があったようです。

  • Service Bus & Caching
    • 以前のSDKからライブラリが更新されて開発のエクスペリエンスをシンプルにするためにLibrariesとして統合しました。
  • Queues
    • UpdateMessageをサポート(キューメッセージの内容や可視タイムアウトの更新に対応)
    • メッセージをずっと不可視にするようにAddMessageに新しいオーバーロードを提供
    • サイズの制限が8KBから64KBに変更
    • Analyticsサービスに関する設定を行う為のGet/Set Service設定(よくわからない)

という感じです。まぁ何でもいいですけどぱっと見AppFabricってわからないから泣けますね。別の意味で泣く人が居そうです。

Windows Azure HPC Scheduler SDK

こちらはWindows Azure SDK for .NETのサブセット的な感じのSDKです。(実際にはAzure SDK for .NETのプラグインとして提供されます)

平たくいうとHPCをAzure上で動かすためのSDKですね。このSDKを使えばビルトインジョブスケジュールやリソースの管理、MPI / SOA / LINQ to HPCのランタイムサポート、Webベースのジョブサブミッションのインターフェース、ジョブキューやリソース構成の管理が可能になります。

詳しくはこのあたりでも ⇒ Windows Azure HPC Scheduler (MSDN)

ちょっとレンジ外なネタですので、簡単に概要というか中身だけ。

インストールは次へ次へで進む簡単仕様なので困ることはありません。

インストールが終わるとWindows Azure SDK for .NETのPluginsフォルダにプラグインが追加されます。

プラグインですので、Azureのサービス構成ファイルでImportしてあげます。

インポートされると、サービス設定ファイルに設定値が追加されます・・・・

Oh….

他にもいろいろプラグインがありますね。名前から察するにヘッドノードやブローカー、コンピュートノード、VMノード、WebFrontEndなどなどが利用できるようです。
このへんサンプルもありますしちゃんと使えば、HPCで大規模分散処理でわーいな世界が簡単?に作れそうですね。設定みると嫌になりますが。

でもまぁそれでも自前でたくさんのハードを用意しなくても利用できるのは素晴らしいと思います。あとあくまでインフラまでなので、実際のジョブ考えたりは別の話。

誰か得意な人見てくれないですかね~チラッチラッ

 

まとめ

SDK 1.5でだいぶ使いやすくなった発行ダイアログがさらに便利になったりしたのでSDK1.4以前しか見たことない人は結構戸惑うかも知れません。が、日本語化パックが来たら意外とすんなり(逆に手間なく)Azureへデプロイとかできるようになるんじゃないでしょうか。
※結構管理ポータルが…という人もいるようで(わかりにくいと言えば分りにくいか)

それ以外は今後でてくるかもしれない for PHP、for Java、for Ruby、for WP/iOS/Androidといったマルチプラットフォームをにらんだ命名変更(勝手な想像)とか、ライブラリはライブラリとしてだけ纏めたりとか結構がらっと変えたことが印象的ですね。

エミュレーターも分けたことでAzureプラットフォーム側の更新に対する追従が個別にしやすくなったのかも?

というわけで今後もいろいろありそうですね。まぁこのペースでの更新は訓練されたアジュらーほど泣くことになっていくんでしょうかねw

※あと名称が変わったことなどで古いリンク踏まされたりするケースが考えられるので、中の人はもれなくリンクの修正や最新版への誘導とかしてほしいなぁと思ったりしました。

補足:

参考までに変移を。

従来 今回の更新
Windows Azure SDK Windows Azure SDK for .NET
(Windows Azure Tools for Visual Studio 2010に同梱)
※Windows Azure Authoring Tools
Windows Azure Tools for Visual Studio 同左(ただしWindows Azure SDK for .NET含む)
Windows Azure AppFabric SDK Windows Azure Libraries for .NET
Compute / Storage Emulator
(Windows Azure SDKに同梱)
Windows Azure Emulator
(Windows Azure Tools for Visual Studio 2010に同梱)

参照

コメントを残す