ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

AIOps はIT運用者の働き方改革を実現するのか?

こんにちは、プラットフォームビジネス事業部の五十嵐です。
皆さんは「AIOps」という言葉を聞いたことがあるでしょうか? DevOpsの親戚?いや、そもそもDevOpsすら聞いたことがないという方には暫し辛抱して読んでいただければと思います。
「AIOps」とは AI + Ops を繋げた造語です。
IT運用者であれば、Opsと聞けばオペレーション。オペレーションを日本語で言えば、運用。そうそう俺たち、私たちのことかと察していただける事と思います。 では、AIは? AIはArtificial Intelligence = 人工知能 。つまり人工知能による運用、とはならないのです。
紛らわしいことにAIOpsのAIとは人工知能を指す単語ではないのです。

AIOpsの正しい意味はAlgorithmic IT Operationsの略で、日本語にすれば「アルゴリズム的なIT運用」となります。そうなると結局、「人工知能が登場するじゃないか」とお思いの方もおられると思います。
そうです、AI+Opsも決して間違いではありません。しかし、Algorithmic IT Operations と言うのは、アルゴリズム的な要素が人工知能だけではないのがキーとなります。

今回は、その「Algorithmic」をIT運用で活用しようとする AIOpsについて語ってみたいと思います。

イントロダクション: 企業が抱える運用上の課題とは

企業にはCIOという方が必ずいらっしゃると思います。そのタイトルを持っている人がいなくとも情報システム部の部長とか、企業内のIT関連のリーダー、担当がいらっしゃるのではないでしょうか?
そんな方々が日々課題としていること、もしくは経営陣から日々プレッシャーをかけられていること、それは企業活動を継続させるためのITコストの中で、意外と大きな割合をしめ、しかも経費を圧縮することすら難しいと課題として感じている事があります。それはIT運用に関わる人員の数とそのコストです。
「人員にコストがかかるのであれば、減らせばいい!」と、そうは簡単にいかないのがIT運用なんです。その理由を次に説明していきたいと思います。

さまざまなユーザーからプレッシャーをかけられるIT運用

皆さんは、ITを利用して様々なサービスを受けているかと思います。見積書をシステムから作成している人、経費精算をシステムで処理する人、仕事以外でも息抜きでSNSで人と繋がったり、今すぐ欲しいと思えばオンラインストアで買い物したり、究極的に言えば、それらの各サービスを利用するためにスマホやタブレットから各サービスへ繋がるためには移動体通信ネットワークというサービスが必要になりますよね。それらのどのサービスが利用できなかったら、それもIT機器の不具合や故障によって利用できない状況になったら……

当然そのサービスを提供する事業者、事業体にクレームがいきます。もしは、クレームするまでもなく、別の同様のサービス事業者へ切り替えてしまうかもしれません。ユーザーという生き物(もちろん私も含めて)は非常に主観的な生き物であり、それらのサービスは使えて当たり前だと認識しています。今のご時世ではユーザーから見てサービスの代わりはいくらでもあります。お金も極力払いたくない上に快適に利用できないとすぐにそのサービスから離れてしまうという、企業から見ると利益を産むための貴重な存在かつ、脅威的な存在であるのです。 そうなんです。経営陣から見るとそんな脅威な存在から身を守るためにはIT運用部門に「サービスを停めるな!」とプレッシャーが行くわけですね。停まらなければ平和は保たれるわけですから。
では、そんなIT運用部門で人をそう簡単に削減できない理由。それは、サービスを提供するためには、ITの仕組みが複雑怪奇になっているということなんです。
例えば、オンラインバンクで振込したい時、スマホからネットワークを介してWebサーバにアクセスして、そのWebサーバから本人確認をするために認証サーバにデータが流れて、口座情報を出すために勘定系システムに入って、それからそれから。そのシステム一つにしてもアプリケーション、データベース、ネットワーク様々なIT機器で構成されてます。その構成も、最近流行りのクラウドとやらで機能拡張とか性能向上のために構成が日々変わったり、それをお客様から「オンラインバンクが使えない!」というざっくりとしたクレームとして上がってきます。その「使えない」原因を特定するとなると、時として人海戦力で見つけたり、熟練された技術者の「勘」に頼ったりしている場合も多々あるわけですね。

それでもなるべくITに頼って、それも人工知能みたいなロボットが人の代わりになって働いてくれればと、IT運用者は日々格闘してきました。
その歴史を軽く整理してみましょう。

ワークプロセスやルールベースの原因特定

一番、歴史がある分析手法と言えるのではないでしょうか?
ルールを定義する事により、挙動の異常パターン検知する。すなわちルールベースの特定手法です。
IT運用のエキスパートが、過去の対応や経験からルールを導き出すアプローチであり、エキスパートへの大幅な依存それによる属人化に陥りがちで、ルール定義の維持・更新に膨大なコストが必要となります。

また、ルールの定義化に含まれる偽陰性の問題が挙げられます。ルールは過去の事象にのみ対応し、未知の問題や対応方法は定義化できません。
ルールは過去の経験をフロー化することに注力され、すなわち特殊な能力を持つ「人」に頼らざるを得なくなり、全ての問題や原因特定手法を定義化する事が困難であります。

そんなルールベースの運用では、脱属人を実現できません。そんな中登場したのが「ML」とみんなが言っている、マシンラーニング。そう、日本語で言うところの機械学習の活用です。

いつもと「違う」挙動を捉えるための機械学習

筆者本人も2010年頃から、ある期待を持ってサポートしてきた機械学習。
挙動のパターンを継時的に学習させることによりベースラインを自動的に作成し、今まで人が作っていたルールの定義化を自動で行う事が可能となる手法です。Temporal Causality Modeling とか、様々なロジックが存在し、平常のデータの挙動の因果(ベースライン)を学習し、その因果が崩れる (ベースラインを逸脱する) ことを「異常」と判断し、アラートをあげるのが良くある機械学習ですよね。
そんな万能だと思った「数学的に紐解く」分析手法にも落とし穴がありました。

誤検知 (偽陽性) によるノイズの問題に直面

人の判断や「虫の知らせ」的な予兆の検知が期待された機械学習が有効な場面は多々あるのですが、思わぬ問題が発生しました。
「誤検知 (偽陽性) によるノイズの問題」です。

全ての異常と判断された挙動の中には調査した結果、異常でない事象も多々あり、その結果をシステムへフィードバック出来ずにいつまでも誤検知が減らない。もしくはデータが増えるせいでさらに誤検知が増えていき、本当の異常なのか、それともノイズだったのかの判断を人間が永遠と実行し、結局人海戦力的な運用になってしまうと言う本末転倒的な結果になることが多々見受けられました。

また、一般的には異常なのですが、ある組織の環境では、正常だったりする場合もあります。こういった組織に合致した正規分布をモデル化することは困難であり、モデルを修正する事が出来ない、修正するにも結局人に頼らざるを得ない。こうした悪循環に陥ることもあったことかと思います。

そんな中、登場した機械学習に人工知能を付加すると言う試み

ルールベースの分析、機械学習による分析、時代の進化とともに進化してきたIT運用での分析手法、原因特定手法、問題対応判断手法ですが、最終的に現時点でトレンドとなっているのが、それらの機能に人工知能を組み合わせたソリューションです。人工知能といっても、人工知能が勝手に学習し、判断する「ターミネーター」の世界観ではありません。IT運用に求められる人工知能の活用とは「機械学習などで学習させ」「その結果を人工知能にフィードバックし」「人間が判断した結論+αを人工知能が覚え判断していく」という好循環における人間の代用です。
その手法は「機械学習の利点はもちろんのこと、欠点である組織固有の特徴性やノイズの削減を人工知能で解決する事が可能である」という考え方に基づいたものです。
ニューラルネットワークなどの人工知能アルゴリズムの活用で、分析のモデル化し、分析モデルの変更(進化)などを人間によるフィードバックを人工知能に与えることで対応させる事が、ルールベースや機械学習で抱える諸問題をクリアするための要件だではないでしょうか。 その人工知能に必要な技術要素は以下が挙げられます。
• アルゴリズムで分析モデルを作成する「フィーチャー・エンジニアリング」技術
• エキスパート(人間)のフィードバックのための「フィードバック」技術
• フィードバックを反映させ新たなモデルを作成する「リモデリング」技術
の3要素でAIOpsを実現できるのではと考えています。

また人工知能を活用するメリットとして、深い洞察力や様々な経験をもつ技術者や運用者の「長年の直感」的な判断を「フィードバック」により人工知能に移植できる可能性です。すなわち、その熟知したエキスパートたちが離職した後でも、その経験や知識が人工知能に蓄積され、その判断は更に機械学習で新たにモデリングされた中で有効であったかどうかを継続的なフィードバックで、さらに精度を向上することができる好循環を産むと考えられます。
ルールベースの分析は、定量的な事象や判断に活用し、機械学習と人工知能を使うことにより、より正しくシステムが人間の代わりに判断し、運用できる可能性が生じる。それがAIOpsの可能性ではないかと思います。AIOpsが今まで実現できるように見えて出来なかった運用コストの削減、すなわちIT運用従事者の削減を実現できる唯一であり、最後の期待なのではないでしょうか?

そのような機械学習に人工知能の要素を加味し、IT運用を循環させていく手法がAIOpsです。またガートナーが定義しているAIOpsの要素は、それらにサービスデスク、監視システム、自動化システムを組み合わせ、コンピュータが判断する割合を循環の中で増やしていき、最終的には人員削減、IT運用コストの低減を狙えるというものです。

f:id:imadafv:20190220183836p:plain 図1: ガートナーが定義するAIOpsプラットフォーム

最後に

ただし、AIOpsと言われ出したもの、また最近の話。様々なベンダーが人工知能やコグニティブ、ビックデータを組み合わせ、市場にリリースし始めていますが、どこのベンダーソリューションが有効であるかは、一長一短というフェーズではないでしょうか?
これから人工知能やコグニティブシステムと融合させたアルゴリズム的なIT運用基盤はますます充実され、比較できるようになってくるのではと考えます。

次回があるとすれば、ベンダーから様々なソリューションが出揃って、機能比較などできるようになったら、更に深い洞察をご提供できるものと考えています。その時、またお会いしましょう!