「AIOps」とは何か? IT運用を変える“5つのステージ”と全体像:データ収集から異常検知まで
クラウドや分散システムの普及により、システム運用はますます複雑化している。「AIOps」でAI技術を活用することで、運用の効率と精度を飛躍的に高めることが可能になる。AIOps導入のステップやこつを解説する。
AIOpsは、システム運用にAI(人工知能)技術を活用する手法だ。日々の業務で発生するトラブルを素早く発見して対応したり、作業を自動化して人手を減らしたりすることが可能になる。その導入を成功させるには、AIOpsの仕組みと活用のこつを理解しておくことが重要になる。
まずシステム運用に関する大量のデータを収集するところからAIOpsは始まる。そのデータをAIモデルに学習させることで、異常の検知や自動対応が可能になる。AIモデルを継続的に学習させ続けることで、対応の精度が向上していく。こうした技術は、もともと大量のデータを扱うITの現場と非常に相性が良い。
AIOpsとは何か?
AIOpsとは、AI技術をシステム運用のフローに統合し、サービスやインフラの運用管理に自動化の手法を導入するプロセスを指す。ITサービスの品質向上が主な目的だ。働き方が多様になり、一方ではハイブリッドクラウドやマルチクラウドといった複雑なシステム環境が一般化する中で、AIOpsの重要性は高まっている。AIOpsによって、未知の問題を迅速に発見し、解決策を見いだし、業務プロセスを合理化し、より高品質なソフトウェアを構築することが可能になる。
DevOps(開発と運用の一体化)チームは通常、まずインフラや運用、データの監視に機械学習を適用することから始め、ITおよび技術サービスの自動化を進めていく。
AIOpsは、自然言語処理(NLP:Natural Language Processing)、イベント相関分析、統計モデルといった技術を活用することで、システム運用に具体的な成果をもたらす。AIOpsの主要なステージである「データの収集」「モデルの訓練」「自動化」「異常検知」「継続的学習」を経て、具体的な成果につながる。
AIOpsの主な利点としては、システム監視やロールバックの自動化によって、リアルタイムで発生する事象への即時対応を強化できる点が挙げられる。特に、関連するイベントやインシデントを単一の課題として関連付けて把握できることが重要だ。AIOpsのプロセスでは、イベントの前後関係を明らかにし、根本原因を特定した上で、適切なIT管理者やチームメンバーにアラートを送信する。サイバー脅威への対応にも役立つ可能性がある。
AIOpsのステージ
データ収集
AIOpsの重要なステージの一つが、データの収集だ。AIOpsツールが扱うデータには、過去のシステムデータ、イベントログ、ネットワーク情報、リアルタイムの運用データなどが含まれる。これらの情報はDevOpsチームが収集し、過去のシステム状態を分析することで、トレンドや異常のパターンを特定する。
組織が解決を目指す課題は、DevOpsチームが収集・分析するデータに影響を与える。そのため、チームは次のような問いを設定して、状況を多角的に検討することが望ましい。
- アラートの発生源は何か
- アラートの重要度はどの程度か
- どのようなテレメトリーデータ(システムの稼働状況を監視・分析するために収集するデータ)を蓄積しているか
- 常時監視すべきシステムはどれか
AIOpsは通常、データ分析基盤を活用して、システム環境内のさまざまなITコンポーネントから得られる断片的なデータを統合する。その際、データの読み込み、抽出、変換、ロードといった処理(ETL:Extract, Transform, Load)を実行し、システム運用チームは統合されたデータを基に、業務プロセスの改善や対応策の策定に役立てる。
モデルの訓練と自動化
チームが必要なデータを収集した後は、そのデータをパイプラインに流し、実用的なAIモデルを構築する。IT部門の重要な役割の一つは、新たな需要に先回りして対応することだ。従来のように、CPUやメインメモリの使用量を手動で監視するのではなく、AIOpsを活用すれば、機械学習アルゴリズムに基づいて自動的なスケーリングをプログラムできるようになる。これには、トラフィックのタイムライン予測、特定システムへのインバウンドトラフィックの予測、アプリケーションを提供する複数の計算リソースの管理が含まれる。
システム利用の増加に応じてスケールアップを必要とする企業にとっては、事後対応ではなく事前拡張にシフトすることによって、適正なキャパシティー(容量)を予測し、コスト削減につなげることが可能になる。
IT部門は、訓練データセットを活用してネットワークの利用状況を管理し、AIモデルのテストを実施できる。自動化と機械学習を導入することで、モデルの精度と高水準の自動化が実現する。自動化の成功は、AIモデルの効果的な構築、AIモデル運用の一連の流れが問題なく機能しているかどうかの監視、異常の検知、異常タイプの分類と推論、さらにはアラートの自動生成といったプロセスによって支えられる。
運用チームは、データ主導のアプローチにより、従来の孤立したIT監視の限界を克服できる。スクリプト化や手作業の細かな操作を自動化することで、より効果的なワークフローや予測型プロセス、さらにはビジネス全体の自動化を実現できるようになる。
異常検知
AIOpsでは、アプリケーションやインフラから取得したデータを分析し、過去の情報と比較することで、応答時間やCPU使用率の変化を通じて異常を検出することが可能になる。緊急性が高い場合には、システム管理者に自動でアラートを発する。
データ分析と推論機能を活用することで、誤検知(誤報)を減らし、無関係な通知による影響を最小限に抑えることもできる。こうした通知の精度向上は、インフラ全体のセキュリティを強化する上でも重要な役割を果たす。マルウェアの感染が検出された場合には、高度な機械学習アルゴリズムを用いて他の潜在的な侵害を特定し、リアルタイムかつ効率的に対処することも可能になる。
AIOpsは、ストレージ管理の領域でも有用だ。例えば、IOPS(Input/Output Operations Per Second:1秒当たりの入出力処理数)が基準値を下回った場合や、ストレージの容量が限界に達した場合にアラートが発出される。必要に応じてストレージの記録領域を自動で割り当て、ストレージ容量の拡張をリアルタイムで実行することも可能だ。
学習の継続化
AIOpsの成功は、継続的な学習を確実に実行できるかどうかに懸かっている。AIOpsの運用では、継続的な改善サイクルを適用することが重要であり、これによってさまざまなツールやシステムとの統合を着実に進めることができる。この継続的改善の一環として、チームはあらかじめ設定した基準を満たしているかどうかを継続的に評価し、システムのパフォーマンスを定量的に評価する必要がある。
例えば、AIOpsシステムが膨大なデータに対して異常検知や予測分析を行う能力を高めるにつれて、システムは学習を重ね、対応できる課題の範囲を拡大していく。ITチームは、モデルの訓練フェーズにおいて、どの程度の精度が求められるかを理解しておくことが不可欠だ。
AIOpsを最大限に活用するには、可能な限り多くのシステムを一元的に統合し、包括的な管理体制を構築することが望ましい。逆に、統合が不十分な場合、システムのどこかで問題が発生し、それがサービス全体に影響を与える恐れがある。例えば、脆弱(ぜいじゃく)性に関連したネットワーク障害や、データベースのレスポンス遅延が、最終的にはエンドユーザーの体験悪化につながる可能性がある。
AIOpsのベストプラクティス
AIOpsを導入する際は、あらかじめそのベストプラクティスを検討しておくことが欠かせない。多くの企業がAIOps導入の理由として挙げるのが、障害対応の迅速化だ。この分野での課題に対処するためには、次のような問いを組織として検討する必要がある。
- 現行システムでは、サービスレベルの目標(SLO)に影響を及ぼすようなダウンタイム、中断、性能低下が発生していないか
- アラートの過多やノイズの多さにより、重要な問題の特定や対応に支障を来していないか
- セキュリティ侵害などの根本原因を迅速に特定できているか
- 発生源の特定に時間がかかっていないか
AIOpsは複雑な技術領域であり、データサイエンスや機械学習の知識を持つ専門人材の関与が不可欠だ。こうしたスキルを備えた人材が社内にいない場合、AIOpsの導入に失敗するリスクが高まる。
したがって、まずは解決すべき課題を明確に定義した上で、段階的にAIOpsを展開していくことが重要だ。問題の性質とビジネスへの影響、既存のITインフラ、そして期待される成果について丁寧に説明しながら、導入プロセスを段階的に進めるべきだ。
AI技術を使ったシステム運用の自動化に際しては、倫理的な観点からの検討も欠かせない。組織は、AIによる自律的な意思決定が、自社の価値観や目標に沿ったものであることを確認し、AIOpsの健全性と信頼性を担保する責任を負わなければならない。
Copyright © ITmedia, Inc. All Rights Reserved.