.NET4に対応したWindowsAzureGuestOS1.2公開。クラウド上のOSバージョン管理はどうする?
Azureチームブログ曰く、Azure OSの最新版が4月5日付けで公開された。
年初の正式サービス開始当初版1.0から数えて早くも3代目。
今回の目玉はVisualStudio2010と共に近々世に放たれる.NET4対応。
現在は.NET3.5SP1となっているAzure上の.NET実行環境が、早くも.NET4(RC版)対応となる。
AzureがまだCTPの頃、.NET Servicesと呼んでいた現AppFabricからワークフローが
除外されたことは記憶に新しいが、.NET4対応となって近々復活する予定。
.NET開発者にとってはアプリを動かす快適な環境がまたひとつ増えることになる。
Windows Azure Guest OS 1.2 (Release 201003-01)
Configuration value: WA-GUEST-OS-1.2_201003-01 (←.cscfgに指定する値)
Release date: April 5th, 2010
Features:
* Enables HTTP dynamic compression for web roles
* Provides updates to the URL Rewrite Module for IIS
* Incorporates the Microsoft .NET Framework 4.0 release candidate
* Delivers stability and security patch fixes applicable to Windows Azure Guest OS, as noted below.
これをみると、.NET4対応だけでなくWebRole(IIS)における動的コンテンツの圧縮や
URLリライトなどの改善とともに、セキュリティパッチがあたっていることに気づくだろう。
さて、ユーザー目線でみるとここでひとつ悩み事。
クラウド上のOSイメージのバージョンはどのように管理、適用してゆくべきなのだろうか。
以前このブログでもご紹介したとおり、AzureのゲストOSの切り替え方はいたってシンプル。
設定ファイル内のOSバージョンを書き換えるだけである。ドメイングループを利用した
ローリングアップデートを行えば、サービスを停止することなく更新することが可能だ。
(要2インスタンス以上)
しかし、実際にアプリを展開する場合、パッチのあたり具合によって動く/動かないといった
トラブルはつきもので、管理工数などを鑑みれば「常に最新」が必ずしも正義とは限らない。
どのOSに何のパッチが当たっているのかは、MSDNライブラリで確認することができるので
最新版にして動かなくなったという場合には、以前のバージョンも試してみていただきたい。
基本的には、利用しているテクノロジと外部への晒され具合の兼ね合いで考えるべき
ではなかろうか。例えば、外部にさらされているWebRoleは常に最新とし、バックに
配置するWorkerRoleはめったなことがない限り、使用するOSイメージのバージョンは
固定するという方針は多くの場合現実的だろう。WebRoleを使う時点で、IIS上の.NET実行
環境で動くASP.NETなどのマネージコードであろうことから、比較的パッチにそれほど
センシティブではないと思われる。一方、WorkerRoleにFullTrustモードで配置される
Win32コードなどは、パッチの影響(による心配事)を最小化した方がよろしかろう。
WebRole/WorkerRoleの疎結合アーキテクチャはこのような観点でも活きてくる。
なお、.NETが4になって具体的になにがどうよくなるのか早く知りたい!という方は、
@tashinmu や @masamis あたりに直接質問してみてもよいだろうが、世界同時開催の
VisualStudio2010 Ready Day およびそれに続く全国ラウンチツアーにご来場いただくのが
手っ取り早い。残念ながら初回4月13日の初回東京会場はすでに満員御礼となってしまって
いるのだが、大阪、名古屋、札幌、福岡、そして最後の5月25日東京開催分は、ブログ
執筆時点でまだ申し込み可能なようだ。
「.NETってもう4なんだ」という方々も正直多いと思われるが、VisualStudioとともに
メジャーバージョンアップとなる今回、気分を入れ替えて新しい技術と向き合ってみては
いかがだろうか。