## Memo ## Abstract マイクロサービスアーキテクチャは、配信の高速化、スケーラビリティの向上、自律性の向上など、多くのメリットをもたらすため、インターネットベースのアプリケーションの開発・運用に広く採用されている。動的なマイクロサービスが多数存在するアプリケーションの障害をいかに効果的に診断するかは、アプリケーションのパフォーマンスと信頼性を保証するための重要な鍵になっています。マイクロサービスはリクエスト処理の異なるワークフローにおいて様々な動作を行うため、既存のアプローチでは動的なデプロイ環境におけるインタラクティブなマイクロサービスを持つアプリケーションの根本原因を正確に特定できないことが多い。我々は、マイクロサービスベースのアプリケーションのための、ワークフローを考慮した統計による自動障害診断アプローチを提案する。マイクロサービス間のトレースを呼び出しツリーで特徴付け、ベースラインとしてトレースパターンを学習する。リクエストを処理するワークフローに影響する障害については、ワークフローの異常度を推定し、現在のトレースと学習されたベースラインの差をツリー編集距離で比較することにより、異常の原因となっているマイクロサービスを特定する。レスポンスタイムの大幅な増加を引き起こすパフォーマンス異常については、主成分分析を採用して、レスポンスタイムの変動が大きい疑わしいマイクロサービスを抽出する。最後に、3つの典型的なマイクロサービスベースのアプリケーションについて、一連の実験により本アプローチを評価する。その結果、本アプローチが異常の原因となっているマイクロサービスを正確に特定できることが示された。