AutoScale:Mobile Services、Service Bus、Trend、Alert
3週間前、Webサイト、クラウドサービス、仮想マシンの自動スケール調整のサポートを追加しました。
AutoScaleは、Windows Azureを構成することで、自動的にアプリケーションを動的にスケール調整するので(手動の動作は不要です)、理想的なパフォーマンスとコストバランスが可能になります。
一度構成すると、AutoScaleは、アプリケーションのロードに対応して実行されるインスタンスの数を定期的に調整します。
AutoScaleの機能が利用可能になってから、この3週間のうちに、多大な数が適用されてきているのを確認してきました。今回、さらなるAutoScale機能が利用できるようになりました。
Windows Azure Mobile Servicesのサポート
AutoScaleは、(Webサイト、VM、クラウドサービスの他)Mobile Serviceバックエンドも自動スケール調整できるようになりました。この機能は、Mobile Servicesの標準およびプレミアム層の両方で利用可能です。
AutoScaleをMobile Serviceで有効にするには、Mobile Serviceの“SCALE”タブで、AUTOSCALEを“ON”にして、設定したいスケールユニットの最小値と最大値を設定するだけです。
この機能が有効になると、Windows Azureは、Mobile ServiceとのAPIコール数を毎日定期的にチェックして、API割り当てが90%以上なると追加のユニットでスケールアップ(有効にしているインスタンスの最大値に達するまで)していきます。
日の始まりに(UTC)、Windows Azureは、スケール設定を最低値に引き下げます。これにより、Mobile Serviceインスタンスの数を最小数にしておくことができ、節約になります。
Service Bus Queue Depthのルール
AutoScaleの初回プレビューでは、次の2つの異なるロードメトリクスに基づいてワーカーロールやVMのスケールを動的に変更できました。
- ワーカーロールやVMマシンのCPUの割合
- ストレージQueueの深さ(Queueで処理待ちしているメッセージの数)
今回の更新では、Service Bus QueueのQueueの深さに基づいて、VMやクラウドサービスもスケール調整できるようになりました。
これは、Queueで処理待ちしているメッセージのバックログに基づいて、実行しているバックエンドシステムの数を動的に増減したい場合には理想的と言えます。
これを有効にするには、VMまたはクラウドサービスの“SCALE”タブで、AUTOSCALEセクションの“QUEUE”を選択してください。
AUTOSCALEセクションの“QUEUE”を選択したら、“ACCOUNT OR NAMESPACE“ドロップダウンをクリックしてください。StorageアカウントとService Busの名前空間がどちらも確認できます。
Service Busの名前空間を選択すると、名前空間のQueue一覧が"QUEUE NAME"セクションに表示されます。
モニターしたいAutoScaleの各Queueを選択してください。
Storage Queuesでは、Service Bus Queueの深さでスケール調整することで、"TARGET PER MACHINE"が定義できます。このターゲットは、一度に各ワーカーロールが処理できるはずのメッセージの量を表すことになります。もし200のターゲットがあり、Queueには2000のメッセージがある場合、AutoScaleはマシンが10個になるまでスケール調整します。その後は、アプリケーションのロードが変更するたびに動的にスケールのアップダウンを行います。