# Gandalf
[[Microsoft Azure]] の end-to-end アナリティクスサービス。ロールアウト(ソフトウェア変更・設定変更のデプロイ)がシステムに与える影響を、コンポーネント個別の watchdog ではなくクラスタ横断のテレメトリ相関によってトップダウンに評価し、悪いロールアウトを停止する go/no-go 判定を自動で下す。異常検知 → アンサンブル投票(vote-veto)→ 空間・時間相関 → 時間減衰という4段の相関分析パイプラインと、影響範囲に基づく Gaussian discriminant classifier による決定プロセスから構成される。ラムダアーキテクチャ(Speed Layer + Batch Layer)により、即時の障害と latent な障害の両方を捕捉する。([[@2020__NSDI__Gandalf - An Intelligent, End-To-End Analytics Service for Safe Deployment in Large-Scale Cloud Infrastructure]])
Azure で 18 ヶ月以上稼働し、データプレーンで precision 92.4%・recall 100%、コントロールプレーンで precision 94.9%・recall 99.8% を達成した産業スケールの実証例。Azure の4層安全デプロイ機構(テスト環境品質管理 → safe deployment process policy → component-level watchdog → Gandalf)の最後の砦として位置づけられる。
## 横断的知見
- **Gandalf は後続の変更起因インシデント検知研究において標準的な比較ベースラインとして定着している**: [[@2021__ESEC-FSE__Identifying Bad Software Changes via Multimodal Anomaly Detection|SCWarn]](2021)は Gandalf を precision 0.79・recall 0.87 のベースラインとして評価し(Case I では Gandalf より 12 分遅く検知)、[[@2024__FSE__ChangeRCA - Finding Root Causes from Software Changes in Large Online Systems|ChangeRCA]](2024)は Gandalf を含む FUNNEL/SCWarn を 20〜28 ポイント上回ったと報告し、[[@2024__ISSRE__Guardian of the Resiliency - Detecting Erroneous Software Changes Before They Make Your Microservice System Less Fault-Resilient|Guardian]](2024)は Gandalf を ESCF(即時障害)検知に強いが ESCR(耐障害性劣化)を見逃しやすい手法として位置づける。NSDI 2020 の発表から4年以上を経ても、変更起因インシデント検知の実証比較で参照され続けている。(Source: [[@2020__NSDI__Gandalf - An Intelligent, End-To-End Analytics Service for Safe Deployment in Large-Scale Cloud Infrastructure]], [[@2024__FSE__ChangeRCA - Finding Root Causes from Software Changes in Large Online Systems]])
- **Gandalf の「カナリアフェーズのみ対応」という限界が、後続研究の問題設定を規定した**: ChangeRCA は Gandalf を「変更フロー + Holt-Winters でエラーインスタンスを検知するが、カナリアフェーズのみを対象とし完了した変更には対応できない」と特徴づける。これは Gandalf の相関分析(ロールアウトのデプロイイベントとテレメトリの時空間相関)が進行中のロールアウトを前提とした設計であることの直接的な帰結であり、完了済み変更の遅延顕在化障害への対応は Gandalf の設計スコープ外だったことを示す。(Source: [[@2024__FSE__ChangeRCA - Finding Root Causes from Software Changes in Large Online Systems]])
- **カナリアテスト([[カナリアテスト]])との関係は「統計的メトリクス比較」対「相関分析による犯人特定」という異なるアプローチである**: Google の Canary Analysis Service([[@2018__acmqueue__Canary Analysis Service]])はカナリア/対照母集団のメトリクス分布を統計検定で比較する設計だが、Gandalf は複数の同時進行ロールアウトの中から fault signal を空間・時間相関でどのコンポーネントに帰責するかを判定する設計であり、両者は「安全なデプロイ」という同じ目的に対して異なる技術的アプローチ(メトリクス統計比較 vs イベント相関分析)を取る。Azure の safe deployment policy 自体が stage → canary → pilot → region という段階を経るため、Gandalf はカナリア段階を含む複数段階を横断して機能する点でも、単一のカナリア判定ステップとは設計思想が異なる。
- **Aegis は Gandalf の component レベル監視を component/layer 横断へ拡張した後継系譜にあたる**: [[@2023__ICSE-SEIP__Aegis - Attribution of Control Plane Change Impact across Layers and Components for Cloud Systems]]は Azure control plane を対象に、単一 component の監視では捉えられない cross-component・cross-layer の変更起因障害を検出する [[Aegis (Azure Control Plane)]] を提案する。著者陣の一部(Murali Chintalapati・[[Ken Hsieh]]・[[Qingwei Lin]]・[[Yingnong Dang]])が Gandalf(NSDI 2020)と重複しており、同じ Azure チームが「単一コンポーネントのロールアウト影響評価(Gandalf)」から「複数コンポーネント・複数レイヤーをまたぐ影響帰属(Aegis)」へと問題設定を拡張したことが読み取れる。(Source: [[@2023__ICSE-SEIP__Aegis - Attribution of Control Plane Change Impact across Layers and Components for Cloud Systems]])
## 未解決の問い
- Gandalf の「カナリアフェーズのみ対応」という限界に対し、ChangeRCA 以降の RCCA(Root Cause Change Analysis)系研究がどこまで完了済み変更の遅延顕在化障害に対応できているか、体系的な比較評価は行われていない。
- Gandalf の空間相関(SS(e,c) = N_f/N_df)は precision を 77% 改善する最大の寄与要因だが、この設計は複数クラスタにまたがるロールアウト(70% 超)を前提としており、単一クラスタ・小規模デプロイへの適用可能性は論文内で検証されていない。
- Gandalf は 2020 年時点で教師あり学習を「システム挙動やロールアウトの変化に追従できない」として避けたが、2020年代の LLM ベース変更評価研究([[@2025__FSE Companion__A Multimodal Intelligent Change Assessment Framework for Microservice Systems Based on Large Language Models]])はこの判断とどう異なる前提に立っているか。
## 関連
- ソース: [[@2020__NSDI__Gandalf - An Intelligent, End-To-End Analytics Service for Safe Deployment in Large-Scale Cloud Infrastructure]]
- 開発: [[Microsoft Azure]]([[Ze Li]]・[[Qian Cheng]]・[[Ken Hsieh]]・[[Yingnong Dang]]・[[Peng Huang]]・[[Pankaj Singh]]・[[Xinsheng Yang]]・[[Qingwei Lin]]・[[Youjiang Wu]]・[[Sebastien Levy]]・[[Murali Chintalapati]])
- 関連概念: [[変更起因インシデント]] / [[カナリアテスト]]
- 比較・後続研究: [[@2021__ESEC-FSE__Identifying Bad Software Changes via Multimodal Anomaly Detection]] / [[@2024__FSE__ChangeRCA - Finding Root Causes from Software Changes in Large Online Systems]] / [[@2024__ISSRE__Guardian of the Resiliency - Detecting Erroneous Software Changes Before They Make Your Microservice System Less Fault-Resilient]] / [[@2025__FSE Companion__A Multimodal Intelligent Change Assessment Framework for Microservice Systems Based on Large Language Models]]