運用の現場にAIが求められる理由
DX推進やクラウド化の進展などにより、ビジネスに合わせた迅速な変化が求められる昨今、それを支えるITシステムの基盤についても変化が急速で、規模も大きくなり、複雑度が増しています。安定したシステム提供のためには、このようなシステム基盤に対して適切な保守・運用を行うことが重要な役割のひとつです。
AIOpsとは
AIOps(Artificial Intelligence for IT Operationsの略)という言葉をご存知でしょうか?ガートナー社が2018年頃に提唱した用語であり、同社が提唱するハイプ・サイクルにも登場する今後将来的に重要な役割を担う技術要素の1つです。
2018年の日本におけるテクノロジのハイプ・サイクル(※1)では、黎明期として位置づけられ、主流の採用までに要する年数として、今後5~10年と推測されています。つまり、あと数年もすれば本格的に適用され始め、徐々に当たり前に利用される世界が来る可能性があるということです。
AIOpsはその名前の通り、ITシステムの運用における様々なデータとAI・機械学習の技術を組み合わせることで、IT運用の改善につなげていくための領域を指します。
これまでは人手をかけて対処していたことをデータと分析の技術を通して機械で置き換えていこうというコンセプトの技術領域です。
なぜAIを運用に活用する動きが活発化しているのか?
大きく2つの観点が考えられます。1点は冒頭でも述べた通り、ITシステムの基盤が急速に変化し、かつ、規模も大規模になり、複雑化することで、これまでのように、一つ一つ丁寧に人が状況を見てどうにかするという対応が限界を迎えていることがあげられます。
もう1点は、AI・機械学習の技術の進歩があります。様々な分析を行うためのプログラムライブラリがOSS(オープンソースソフトウェア)として公開されていたり、クラウドサービス上で分析できる仕組みが整ってきているなど分析を試せる土台が充実してきています。
これらの要素が相まってAIとOpsを組み合わせる取り組みやプロダクトが様々登場してきています。
運用へのAIの活用のしどころ
"運用"と言っても幅が広く、実際どのような領域に対してAIの活用ができるでしょうか?例えば以下のようなケースが考えられます。
- 監視データやログデータの分析による異常箇所の特定
- アラートイベントの関係性の特定(共起するイベントの特定や関連イベントの特定)
- インシデント対応の過去の類似事例の検索
- パフォーマンスやリソースの将来予測
等、いずれのケースでもポイントになることは、『分析を行うためのデータが多くあること』、そこから『規則性や傾向を見つけることが運用の改善につながること』です。
AIOpsを活用することにより期待される効果
AIを先程のケースに例示したような運用作業に適用することでどのように運用が変わるでしょうか。
いつもの状態からの違いを検出
まずは、従来の監視やログチェックの方式を考えてみましょう。
例えば、CPUの使用率監視については、「直近の使用率80%を超過すればアラートを上げるように設定しよう」であったり、「ログにErrorというキーワードがあればアラートを上げるように設定しよう」といった具合に、閾値ベース、キーワードベースの評価が中心です。
このような設定を監視ツール等に行い、条件に合致した際に担当者宛にメールを送付するといった運用になっているかと思います。
しかしながらこのやり方には課題があります。「閾値としてどれぐらいの値を設定しておくと良いのだろう」、「キーワードとしてどういう文言を設定しておけば良いのだろう」と、過去の経験や知見、一般的な情報等から推定した上で定義を行うといった具合に、不確実さが含まれてしまいます。
このような状態では、的確に状況を捉えたり、人に依存せずに運用できる状態にするといったところに溝が生まれます。
これに対してAIOps的なアプローチの例としては、以下のような流れになります。
まず、稼働実績を元に、CPUの使用率がおおよそどの程度の周期で、どの程度のブレ幅で稼働するかをモデリングします。このモデリングされた結果が、まさにこれまで人が見て理解してきた過去の経験や知見に置き換わるものであり、事実に基づいたより"確度の高い情報"となります。このモデリングされた傾向と比較することで"おかしな挙動をしはじめた点"を捉えることにつなげていきます。この手法は教師あり学習の例となります。長期に渡って利用を継続し、モデルを更新していくことでより確度の高い情報になります。システムの状態が変化し、稼働傾向自体が変わった場合でも蓄積されたデータを元にモデルの更新を行っていくことで変化に追随して正しい検出につなげていくことができます。
また、利用開始当初など十分にデータがないケースでは、直近のデータをクラスタリングすることで少数派に分類される箇所を特定するといった教師なし学習のアプローチも考えられます。
ログに関しても同様で、出力されたログの実績を元に、このような時間帯には、このようなキーワードが出力される傾向にあるといった情報をモデリングし、そのモデリングされた傾向と比較することで"おかしな出力傾向が見られる点"を捉えるなどのアプローチが取れます。
このようなアプローチの変化によって、より事実に基づいた機械的な評価を行うことができ、根拠の曖昧なこれまでの閾値・キーワードベースでは見逃していた変化にもいち早く気づくことができるようになります。その結果、ITシステムの予防保守につなげていくことができます。
相関関係のあるデータを評価し総合的な状況判断
別のシーンを考えてみましょう。
とあるサービスのパフォーマンスが劣化すると、関連付いた別サービスのパフォーマンスも劣化しかねないといった具合に、実際の運用現場では個々の状況を特定するだけではなく、複合的に状況を絡めて考えないといけないケースが多々あります。
このようなケースではシステムの構成に詳しく、過去の対応経験等も豊富なシステムに詳しい人のノウハウ頼りになっている現場も多くあるかと思います。
こういった場面でも分析により評価していくことが有効に働きます。
過去の稼働実績から、「このデータの動きとこのデータの動きには相関がある」であったり、「このイベントが生じた後にはこのイベントも発生する」といったデータ間の関係性を導くことで、総合的な状況の理解につなげていくことができます。
これにより、人のノウハウに頼らず状況の確認ができるようになっていくなど人依存な状態の回避につながります。
環境の変化が激しかったり、規模が大きかったり、関係性が複雑であればあるほど、人のノウハウから関係性を評価するのは難しくなるため、このように機械的なアプローチがより重要視されるでしょう。
TISのAIOpsへの取り組み
TISでは、AIOpsの観点を取り入れた「運用レコメンドプラットフォーム」の開発を推進しています。
運用レコメンドプラットフォームでは、ITシステム上の監視データやログデータ、運用作業者の行動履歴、システムの構成情報といったデータに着目しています。
これらのデータを、システムの状況把握につながるものおよび、システムに対する変更を特定するものであると位置づけ、データ分析できる機能を実現しています。
データを分析することで、「いつもの状態と異なり始めたポイント」や「相関関係の崩れの発生」を早期に知らせることができます。
TISには、豊富な運用保守の実績があり、様々な運用データを保有しています。これらの実績・データを活かすことで、より役立つ情報を提示できるよう継続的に取り組んでいます。
現在実現できている機能としてはまだ限定的ではありますが、将来的には「システムが自らの状態を判断し、自律的にサービス継続できる状態で稼働」できる世界の実現を目指しています。
ITシステムの保守運用で課題があり、分析技術も活用した改善に取り組んでみたい、一緒にこのような世界の実現に向けて取り組みたいというお客様がおられましたら、ぜひご連絡いただければと思います。
※1:ガートナージャパン株式会社「ガートナー、「日本におけるテクノロジのハイプ・サイクル:2018年」を発表 - デジタル・ビジネスの推進に当たり注目すべき40のキーワードを抽出」
https://www.gartner.co.jp/ja/newsroom/press-releases/pr-20181011