Microsoft、Azure向けの障害予測・障害軽減サービス「Project Narya」を発表:ABテストと強化学習を用いて最適な障害軽減策を決定
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つの手順を実行していた。
- 障害が予測されたノードで、新しい割り当てをブロックする
- できるだけ多くのVMをオンザフライで移動する(ライブマイグレーション)
- 寿命の短いVMが停止したり、顧客が再デプロイしたりするまで数日待つ
- 残ったVMを切断し、正常なノードに移動する
- ノードを本番環境から切り離し、内部診断を実行して修復方法を決める
この手法には幾つか問題があったという。例えばディスクに障害が起こることが予測できたとしても、数日待つ間に実際に故障してしまう場合がある。逆に誤検知による誤った予測は顧客に影響を及ぼす。
Project NaryaはResourceCentralを用いるものの、軽減策を直接当てはめることはしない。障害の発生を予測したときに、内容ごとにあらかじめ決められた単一の軽減策を講じるのではなく、複数の取り得る軽減策を検討する。一連の予測に応じて、オンラインABテストフレームワークか、または強化学習フレームワークを用いて、最適な対応を決定する。
対応は次のような3つのフェーズに分かれる。
フェーズ1 障害を予測する
Naryaはさまざまなテレメトリーを使用して、ハードウェアの問題に起因するホスト障害の可能性を予測する。ドメインエキスパートの知識に基づく数十の予測ルールと、機械学習ベースの方法を組み合わせることで、正確に予測できるという。
フェーズ2 軽減策を決定し、適用する
MicrosoftはNaryaが検討すべき一連の軽減策の選択肢を用意した。これらの選択肢は、多数の小規模なステップからなる複合体と考えることができる。例えば次のようなステップがある。
- ノードを割り当て不能だとマークする
- 他のノードへVMを移動するため、ライブマイグレーションを実行する
- メモリを保持しながらカーネルをソフトリブートする。これにより、顧客ワークロードの中断を最小化する
- ノードへの割り当ての優先順位を下げる
障害の発生を予測したときに柔軟な対応を行うため、NaryaはオンラインABテストフレームワークか、または強化学習(RL)フレームワークを用いて、VMの中断を最小化する軽減策を継続的に最適化する。
ABテストでは複数の軽減策を選択後、何も対策を打っていない対照群と比較し、全データを収集する。その後、軽減策がどのシナリオに最適だったのかを判断する。強化学習では時間をかけて多数の軽減策を検討する。直近の対策に対して重み付けすることで、全体的な顧客体験を最大化する方法を学習する。強化学習はABテストとは異なり、最適な軽減策を実行することと新しい軽減策を探すことの間でバランスをとることができる。こうして最適ではない軽減策を避けるよう学習できる。
フェーズ3 顧客への影響を観察し、モデルを再トレーニングする
軽減策を講じた後は新しいデータが集まってくる。顧客への影響を示す最新データを利用して、Naryaフレームワークのあらゆる段階でモデルが継続的に改善されていく。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「AIOps」で運用管理者の働き方はどう変わるのか
ITがビジネスを加速させる昨今、多くの新規サービスが開発、リリースされ、運用管理者には安定したサービスの供給や、利用動向のログを解析することが求められている。だが、これに伴い解析すべきログや拾うべきアラートも増す一方となり、多大な負担が運用管理者の身に振り掛かっている。こうした中、AIを利用したIT運用「AIOps」が注目されている。では企業がAIOpsを取り入れる上で必要なこととは何か。運用管理者は、AIとどう向き合うべきなのか。本特集では、そのヒントをお届けする。 - 「AIOps」とは何か、どのように始めるべきなのか
ITサービスの停止やパフォーマンスの低下は、ビジネス上の損失に直結する。では、サービスの吐き出す膨大なログデータを、サービス品質の向上や維持にどうつなげればいいのか。ここで検討すべきなのがAIOps(Artificial intelligence for IT Operations)だ。 - 機械学習を活用して見えないインフラ障害を検知――九州のISPサービスを担う、QTnet運用エンジニアの挑戦
九州のISPサービスを担う、QTnet運用エンジニア木村氏は、ITインフラの監視に機械学習を活用し、これまで見えていなかった異常の検知や予測に取り組んでいる。「機械学習に関しては、ほぼど素人の取り組みだが、ソフトウェア開発に活用する際のヒントになれば」と謙遜しながら、その歩みを紹介した。