ちょっと前の話題ではありますが、Microsoft patterns & practicesが提供するEnterprise Library 5.0にWindows Azure Integration Packが追加されています。(現状はPreview版のようですが)
Integration PackとしてはWindows AzureのほかにもSilverlightなどがありますね。
さてこのWindows Azure Integration Packとやらは何ができるんでしょう?
EntLib vNext teaser や Using Enterprise Library 5.0 in Windows Azure(PDF) を見るとEnterprise Libraryで提供されているロギングや暗号化、データアクセス、コンフィグレーションなどのアプリケーションブロックがAzure上でも利用できるようになっているようです。
でEnterprise Libraryなので簡単なコンフィグレーションで環境の差異が吸収できるようになってたりするっぽいですね。なのでこのIntegration Packを使うとOnPremiseからAzureへ、AzureからOnPremiseへの移行とかがしやすくなりそうです。(というかその辺が目的でしょうか)
で、それはそれでいいとして。
目玉としてはWindows Azureに特化した部分としてWindows Azure Autoscaling Application Block(WASABi)が追加されたことです。
- Announcing Windows Azure Autoscaling Block preview
- Autoscaling Windows Azure applications
- Autoscaling Windows Azure applications (ch9)
- Enterprise Libraryは、Windows Azureアプリケーションの自動スケールを手に入れた
- Enterprise Library on Windows Azure: Key Learnings from Customer Project
わお!素晴らしいですね!こいつを使うとCPU負荷などの利用状況や時間帯などルールを評価してアクション(つまりオートスケール等)ができるようです。
まぁカスタムアクションやルールの定義も自由度高いので、そのあたりは柔軟にできそうですね。というかそのためのライブラリだし。
想定されるMaxとMinを指定してインスタンス数が予想外に増えないように・下がらないようにルール作ったり、スパイクに対応させたり。
判定材料はCPU負荷などいろいろ構成できますと。
ということでWindows Azureは公式標準機能ではありませんがオートスケールを手に入れたようです。まだPreviewなので、要望がある方は是非Voteってください。
実際に試したい方はNuGetにあがっているのでそちらからもどうぞ。
以下余談です。
このWASABiを使うと確かにオートスケールできそうです。でもWASABiを使ってるアプリケーションのみですよね。単発のLOBなアプリケーションとかならいいんでしょうけど、適用する場所、やり方、運用、ITのあり方なんかは別でちゃんと考えたほうがいいと思います。似たようなことはSystemCenterでもできるわけですし、なんでそっちでも出来るかとかは考える価値はあるかと思います。
まぁ釈迦に説法と思われますが。
あとオートスケールいうならゼロインスタンス機能くれよーーこればっかりはAzure側で対応してくれなきゃ無理!!