Microsoftは、Azure向けの障害予測と障害軽減のためのサービス「Project Narya」を発表した。仮想マシンの障害回避を目的としており、フィードバックループを通じて障害対応策を自動的に改善できるという。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2021年3月11日(米国時間)、「Microsoft Azure」の本番環境に統合されたエンドツーエンドの障害予測と軽減のためのサービス「Project Narya」を発表した。仮想マシン(VM)の障害を回避することが目的だ。
Project Naryaは、MicrosoftがAzureプラットフォームの信頼性向上に向けて継続的に行っている取り組みの成果の一つ。Azureホストを構成するノード内のハードウェアに起こる障害を予測し、ノード上のVMに及ぶ被害を軽減する。さらに決定した軽減策の影響を測定し、自動フィードバックループを用いて障害軽減戦略をインテリジェントに調整するように設計されている。
既に15カ月以上、本番環境で稼働しており、これまでの静的な手法と比べて、VMの中断を平均26%削減し、Azureワークロードの円滑な実行に貢献しているという。
Microsoftはこれまでも機械学習を利用して障害を予測し、予測に基づいて軽減策を静的に選択していた。世界中の全てのAzureコンピューティングクラスタにデプロイ済みの一般的な機械学習と予測サービスシステム「ResourceCentralプラットフォーム」を活用している。具体的には次の5つの手順を実行していた。
この手法には幾つか問題があったという。例えばディスクに障害が起こることが予測できたとしても、数日待つ間に実際に故障してしまう場合がある。逆に誤検知による誤った予測は顧客に影響を及ぼす。
Project NaryaはResourceCentralを用いるものの、軽減策を直接当てはめることはしない。障害の発生を予測したときに、内容ごとにあらかじめ決められた単一の軽減策を講じるのではなく、複数の取り得る軽減策を検討する。一連の予測に応じて、オンラインABテストフレームワークか、または強化学習フレームワークを用いて、最適な対応を決定する。
対応は次のような3つのフェーズに分かれる。
Naryaはさまざまなテレメトリーを使用して、ハードウェアの問題に起因するホスト障害の可能性を予測する。ドメインエキスパートの知識に基づく数十の予測ルールと、機械学習ベースの方法を組み合わせることで、正確に予測できるという。
MicrosoftはNaryaが検討すべき一連の軽減策の選択肢を用意した。これらの選択肢は、多数の小規模なステップからなる複合体と考えることができる。例えば次のようなステップがある。
障害の発生を予測したときに柔軟な対応を行うため、NaryaはオンラインABテストフレームワークか、または強化学習(RL)フレームワークを用いて、VMの中断を最小化する軽減策を継続的に最適化する。
ABテストでは複数の軽減策を選択後、何も対策を打っていない対照群と比較し、全データを収集する。その後、軽減策がどのシナリオに最適だったのかを判断する。強化学習では時間をかけて多数の軽減策を検討する。直近の対策に対して重み付けすることで、全体的な顧客体験を最大化する方法を学習する。強化学習はABテストとは異なり、最適な軽減策を実行することと新しい軽減策を探すことの間でバランスをとることができる。こうして最適ではない軽減策を避けるよう学習できる。
軽減策を講じた後は新しいデータが集まってくる。顧客への影響を示す最新データを利用して、Naryaフレームワークのあらゆる段階でモデルが継続的に改善されていく。
Copyright © ITmedia, Inc. All Rights Reserved.