PST時間で4月にねじ込んできました。今回はWindows Azure SDK 2.0 for .NET のリリースです。
- Announcing the release of Windows Azure SDK 2.0 for .NET
- Windows Azure SDK for .NET – 2.0
- Windows Azure SDK for Windows 8 and .NET 4 (2.0.5.1) (GitHub)
- Release Notes
インストールはWeb Platform InstallerからAzureで検索して入れるのが便利です。
インストール
Web Platform Installerから入れるとこんな感じ。
Webサイト周り
発行操作の改善
Visual Studioを使用したWebサイトへの発行がより簡単になりました。
これまで発行プロファイルをインポートすれば発行先を選べるようになっていましたが、関連付けられてる情報を自動的に取ってくるようになったので事前にプロファイルをダウンロードすることすら不要になったようです。
あとはこれまで通りですね。簡単です。
サーバーエクスプローラーの機能拡張
サーバーエクスプローラーでAzure Webサイトを管理できるようになりました。
設定の変更やログのストリーミングが可能です。
設定ページは管理ポータルと同等のことが行えますね。またログのストリーミングはVisual Studioの出力ウィンドウと統合されててわかりやすいです。
ログですがWebサイトであればあまり気にせずSystem.Diagnostics名前空間のTrace.TraceError等をつかって普通に吐き出しておけばOKです。あとはWebサイトの設定側でアプリケーションログ(ファイルシステム)を有効に(エラーに)しておきましょう。
あとは必要に応じてストリーミングでログ見ればOKです。やったね。
ログのストリーミングについてはStreaming Diagnostics Trace Logging from the Azure Command Line (plus Glimpse!)も参照。
クラウドサービス周り
メモリ集中型インスタンスへの対応
やっとこさコンフィグがメモリ集中型インスタンス(A6/A7)に対応しました。
同時更新オプション
今までWebロール/Workerロールの更新のパッケージ更新時はアップグレードドメインに従い、インスタンス毎に順次更新でした。(その代りサービスダウンが無いように更新できる)
今回追加されたオプションは、サービスダウンが発生する代わりにすべてのインスタンスを同時に更新することができます。本番では使用しにくいかもしれませんが、複数インスタンスなDev環境などで更新時に威力を発揮すると思います。
設定は発行ウィザード内で行えます。
診断サービスの改善
これまでWindows Azureのクラウドサービスでログ周りやら診断サービスを利用するとなると結構面倒くさかったですよね!?
今日のリリースでこのあたりがすごく改善されました! ロールのプロパティで「カスタムプラン」を選択し、細かい設定はダイアログ内でGUIで行えます!
今までコード書いたりと面倒だったのが素晴らしく簡単に!
設定内容は.wadcfgファイルとして保存されます。(Blob上に一緒に転送されて構成されるのでしょう)
イヤー便利便利。
診断ログの参照
サーバーエクスプローラーから診断ログの表示を選ぶと、Visual Studio上で収集されたログを参照することができるようになりました。
「診断設定の更新」を選択すれば、先述のダイアログで設定を変えることもできます。また各ログの詳細を参照すれば、保存されているBlogテーブルを該当時間にフィルタリングした状態で表示させることもできます。
もし、既存のASP.NET Webアプリ等に新しくAzureの診断用リスナを追加する場合は以下のようにWeb.configに追加すれば対応できます。
<system.diagnostics> <trace> <listeners> <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> <filter type="" /> </add> </listeners> </trace> </system.diagnostics>
Windows Azureストレージ周り
SDK1.8ではサーバーエクスプローラでBlobやQueueの操作が強化されましたが、SDK2.0ではTableが強化されました。
テーブルコンテナの作成や編集、エンティティの追加・削除・編集が可能になりました。便利!
クエリビルダもあるので、簡単にフィルタリングなどもできますね。
ServiceBus周り
サービスバス周りのクライアントライブラリが更新されました。
- メッセージのブラウズサポート
- キュー上のメッセージを参照するのにロックしたり明示的な受信操作をしなくても参照できるようになりました。デバッグやモニタリングに便利ですね。
- 新しいメッセージのポンププログラミングモデル
- イベントドリブンやプッシュベースの処理モデルに似ているポンププログラミングモデルがサポートされました。メッセージの並行処理のサポートや可変レートでのメッセージ処理ができるようになるみたいです。詳細はきっと別の方が。。。w
- アイドルメッセージエンティティの自動削除
- キュー、トピック、サブスクリプションで自動的に削除されるまでの間隔が指定できます。
- メッセージバッファに関するすべてのAPIが削除されています。代わりにサービスバスキューを使用しましょう。
PowerShell周り
Windows Azure PowerShellがPowerShell 3.0に移行しました。またCmdletsも追加されています。
- Web Sites
- Get-AzureWebSiteLog <Webサイト> -Tail
- ログをストリーミング
- 仮想マシン
- New-AzureVM
- New-AzureQuickVM
- A6/A7サポート。既定でRemotePowerShellが有効に。
- クラウドサービス
- Set-AzureDeployment -Model Simultaneous
- 同時更新が可能に
- ServiceBus
- 名前空間の作成、一覧表示、削除が可能に
- Windows Azureストア
- ストア経由でアドオンの追加や表示、プランのアップグレードなどが可能に。
- 例: New-AzureStoreAddOn myMongoDB –AddOn mongolab –plan free –Location “West US”
- ストレージ
- BlobのCRUD操作がサポート。アップロードやダウンロード、コピーなど初期操作や管理が便利になりました。
- Web/Workerロールの為の便利な足組み
- Web・Workerロールを作るためのテンプレートを New-AzureRoleTemplate で作成できます。作ったり編集したテンプレートはAdd-AzureWebRoleなどのTemplateFolder引数で指定できます。
その他の変更点
- WIndowsAzure.Diagnostics.dll が WindowsAzure.StorageClient.dll に依存しなくなりました。NuGetでWindows Azure Storage 2.0を追加してもDiagnosticsと競合しません。
- Windows Azure SDK 2.0はSDK 1.7/1.8とのサイドバイサイドをサポートしますが、SDK 1.6はサポートしなくなりました。SDK2.0がインストールされているとSDK1.6をデバッグできなくなります。
- WindowsAzure.ServiceRuntime.dllとWindowsAzure.Configuration.dllのアセンブリキャッシュは.NET 4.0でビルドされるようになりました。なので、Windows Azure SDK 2.0に移行した場合、ターゲットフレームワークを.NET Framework 3.5から.NET Framework 4.0に変更する必要があります。
- CSUpload.exeを使ってVHDファイルをアップロードするのは非推奨になりました。今後はWindows Azure PowerShellコマンドレットを使用するのが推奨です。
- クラウドサービスに含まれるWebアプリケーションは既定でAzure Storage Client 2.0が利用されるようになりました。
- クラウドサービスのアプリケーションがSDK1.8/.NET 4.0以上を使用しているなど、ゲスト OS3.xの最小要件を満たしている場合、ゲストOS1.xおよび2.xから3.xへのアップグレードが可能になりました。
- クラウドサービスのサポートポリシーが変わったようです。クラウドサービスに関するサポートポリシーはこちらで参照できます。
- 最新の2つのゲストOSファミリしかサポートしません。(つまりGuestOS1.xはサポート外となります)
- 従来のユーザーには12か月の猶予があるようです。
- 常に最新のゲストOSのバージョンのみサポートします。つまり自動更新を有効にするか、手動で最新のゲストOSのバージョンが使用されるように注意しましょう。
- 手動アップデートをしているユーザーのために60日間の猶予期間があるようです。
- 最新のSDKと1つ前のSDKの2バージョンのみサポート対象となるようです。
- 従来のユーザーには12か月の猶予があるようです。
赤シャツ氏がUpdateの内容についてしゃべってるCloud Cover Showも参照ください。