概要

セッション

【AI×運用】AIを活用した障害対応の効率化実現方法 (D2-DI-08)
JIG-SAW株式会社 大田原 慶道 氏

数万ノードのシステムを運用するプロによるAI活用による障害対応について。
AIで運用はどのように効率化できるのか。実際にどのように導入されているのか。

アジェンダ

まず、現在クラウドネイティブのトレンドは

コンテナがトレンド。

画像の調査結果は海外のものではあるが、
日々運用する中で、日本でも、コンテナがトレンドだと感じている。

  • 82%が「CI/CDパイプラインを使用」
  • 44%が「ほぼ全てのアプリでコンテナ技術を使用」
  • 84%が「Kubernetesを使用」

コンテナによる、システム監視の変化

(Before) 従来のシステム監視

(After) 最近のシステム監視

クラウドネイティブな構成になってきて、
モノリスからマイクロサービスになってきている。
どんどん複雑な構成になり、機能間の依存関係も複雑。

前提として、GKEであれば、オートヒールで対応可能ではある。
ただし、オートヒールで対応不可なよっぼどな障害の対応には、手間暇がとてもかかる。

AIを活用することで解決できること

クラウドネイティブな構成の課題

大きく2つの課題がある。

  • マイクロサービスアーキテクチャによる障害原因の複雑化
  • 求められる対応スキルの高度化

(Before) 従来(モノリス)の障害対応

比較的シンプルな問題が多かった。
そのため、ランブックで再起動、などで対応可能だった。

(After) 最近(マイクロサービス)の障害対応

前述の通り、そのもそもGKEのオートヒールで対応できることが多い。
だが、実際障害としてあがるのは、そのオートヒールで対応できなかった、複雑な問題となる。

また、図の構成では、説明のためにシンプルにしているが、実際にはもっと様々なコンポーネントが複雑に組み合わさっている…。

よって、障害原因の特定に時間がかかる。
また、スキルによって結果が変わるので、人間に依存した対応となってしまう。

AIで早速解決!…と、その前に

まずは、オブザーバビリティを高めよう!

AIで早速解決できるわけではない。
そもそも、システム全体のログや、メトリクスなどの収集がなによりも大切。
AI以前に、人間が調査・対応する場合においても、
オブザーバビリティが高くない場合、原因調査の時間がかかったり、的外れな対応をしてしまう場合もある。

まずは、オブザーバビリティを実現しよう。

AI活用で解決できること

  • 原因調査に時間がかかる
  • マニュアル化できないスキル依存の対応

(課題) 原因調査に時間がかかる

いろんな情報を収集できたとしても、
その情報の大海原から人間が、0から調査するため時間かかる。

解決策

障害原因特定をAIに補助してもらう。

まず、AIに仮説を作成させ、それを人間がみて情報を精査できる。
よって、0 1での調査ではなく、出てきた情報から調査できるため効率的。

(課題) マニュアル化できないスキル依存の対応

マニュアル化できない複雑な対応には、人間の調査が必要になる。
また、ランブックなどが存在したとしても、確認作業に時間がかかるため、初動に時間が取られてしまう。

解決策

解決策をAIに提案してもらう。

ある程度特定した原因で、対応策をもう一度AIに聞くことで、一般的な対応策を提示してくれる。
これにより、スキルの平坦化を実現できる。

実際のAI導入事例

Hallelujah

生成AI(RAG)

例では、Tomcatのプロセスダウンが起こった場合。
AIがない場合、Out of Memoryのログを探すところから調査する必要がある。

が、画像のように、仮説と対策を最初から出してくれるため、
それを元に精査・検証を行うことができる。


puzzle

従来のAI(回帰分析など)

過去のデータやパターンを元に、AIで予測を行うことができる。

AI運用時の注意事項

  • 「人間が遂行可能」なオペレーションを整備する
  • オブザーバビリティを高める

「人間が遂行可能」なオペレーションを整備する

そもそも、人が遂行可能でないとAIでも対応できない…

よって、ドキュメントやルールなどを環境準備しておく必要がある。
AI頼みの対応では、AIがこけた場合に対応できなくなってしまう。

よって、人間でも対応可能な状態にしておく。

オブザーバビリティを高める

AIがインプットするための情報がとても重要。

そもそも、インプットするための情報がなければAIを活用はできない。
また、インプットの情報が正しくなければ、回答結果も間違ったものになってしまう。

よって、まずはオブザーバビリティを高めておくことが重要。

まとめ

マイクロサービスの障害対応は複雑ですが…、
AIに、原因特定や対応策を生成してもらうことで0から調査する手間が省けとても効率化できます。
また、あくまでAIは補助として使用し、人間がオペレーション可能な環境を整備しましょう。
AIと人間と、これからも協力して世の中を便利にしていきたいですね!