AIOps とは、急増する IT 業務や複雑化する新テクノロジーに、人工知能 (AI) の力で対処しようとするアプローチです。 昨今の IT インフラストラクチャの中核は、入り組んだデプロイ環境、複数のクラウドで構成されたアーキテクチャ、膨大なデータが占めるようになりつつあります。 IT 業界ではこれまで、複雑さが増した場合、対応する頭脳を増やす、つまりエンジニアや開発者、経営陣を増員することで対処してきました。 しかし、ソフトウェア チームに対する要求が日に日に増している現状では、人手を増やす方法には限界があることは明白です。 そこで方針転換が行われ、人間の知能で問題を解決するのではなく、AI を活用してチームを支援し、ソフトウェアの巨大化や終わりのないイノベーションに対処する動きが出てきました。
例として、クラウドの構成ミスを考えてみましょう。 構成ミスの原因は、クラウド データの保護設定の人為的ミスであり、 人手 (頭脳) 不足ではありません。 むしろ、このような構成ミスは、分散コンピューティングや XaaS (あらゆるもののサービス化) の世界ではほぼ避けられないものなのです。
IT システムの高度化が進めば構成ミスの発生件数も増加し、どれほど合理的かつ効率的なチームであっても対処しきれない事態になりかねません。 しかし、インシデントは、一つひとつに時間と労力をかけて対処する必要があります。放置すればインフラストラクチャに脆弱性が残り、自社はもちろん、顧客のデータが攻撃にさらされるおそれが生じるからです。
そこで登場するのが AIOps です。
AIOps の歴史
AIOps という言葉は、調査会社の Gartner が 2016 年に初めて提唱しました。 当時の IT 業界で広まりつつあった手法の名称として “AI” と “IT Operations” を組み合わせた造語で、”AI を IT 運用に活用する手法” および “IT 運用を支援する AI” を指します。
AIOps では、IT 運用の支援に、機械学習とビッグ データを利用します。 この意味では、AIOps は、Gartner による命名の前から存在していたと言えるでしょう。AI 研究の最前線に立っていた企業の多くが、長年にわたり、社内業務の支援にアルゴリズム処理を活用していたからです。
AIOps は、かつてはあまり見かけないものでしたが、今や急速にモダンな IT 環境にとって不可欠な存在になりつつあります。 業界全体がコンテナとマイクロサービスにシフトしたことで、システムを構成するコンポーネントは何倍にも増えました。 そのため、極めて複雑な IT 分野で働く開発者は、AI ツールの力を強く求めるようになっているのです。
現在の市場は、自社の機械学習ツールを売り込もうとする企業の AI ソフトウェアであふれています。AIOps をそれらと同じような一時的なトレンドとして片付けてしまうのは簡単ですが、 ビッグ データの登場やソフトウェアの巨大化によって生じたセキュリティの課題が問題であることも事実です。 なんらかの形で AIOps を導入しなければ、組織の成長を邪魔する障害にいくつも直面することは間違いありません。
AI との協力
ソフトウェア開発で AIOps を最大限活用する方法は、人間にできることが AI にもできるなら、AI に任せるようにすることです。
あらゆる IT 業務にとって、エラーや非効率の発見と診断が現在進行形の課題になっています。 現代の企業は定期的にソフトウェアを大規模にビルド、デプロイ、実行して、何万、何億ものユーザーにサービスを提供しています。 その巨大なシステムと膨大なユーザーベースから生み出されるデータは、手作業で整理することなど考えられないほど大量です。 そこで、”膨大なデータを分析して処理できる” という機械学習ならではの強みが効果を発揮します。
AIOps を効果的に実装する方法は、AI を前線の通訳者として使い、すべてのデータに AI を経由させることです。 こうすれば、AI がログの監視、情報のフィルタリング、機械学習によるパターンとインサイトの発見を担当してくれるので、組織は開発時間をフルに活用できるようになります。 AIOps を活用することで、ログを調査して入り組んだシステムに潜む問題の原因を特定する作業など、うんざりするようなタスクに時間をかけなくて済むようになるのです。
また、バグやボトルネックの検出と診断も、あらゆる IT 業務が現在進行形で抱えている課題の 1 つです。 AIOps を導入し、AI ツールに生データの調査と問題の特定を任せれば、問題への対応時間を短縮できます。 他にも、AI は、異常なアクティビティの通知、エラー警告の表示、問題が深刻化する前に発見する早期警告システムなどにも活用できます。 このように、AIOps は、内部のバグの軽減だけでなく、外部からの悪意のある攻撃を特定して防ぐ力も備えているのです。
モダンなソフトウェアのスケールは、人間では対処しきれないものです。 人間の苦手なセキュリティ機能は AIOps に任せ、時間と労力を節約しましょう。
DevOps と AIOps の違い
IT 関係の仕事に就いている人は、AIOps の発展を不安に思っているかもしれません。 しかし、AIOps は DevOps に代わるものでも、DevOps と競合するものでもありません。 AIOps の主な用途は監視とアラートです。つまり、既存の IT 部門を補完する役割であることは明白です。
DevOps チームは、さまざまなソースから収集したデータを絶えず処理しています。データ ソースは、多数のクラウド プラットフォーム、Kubernetes クラスタ、サーバーレス関数など、IT 環境に存在するあらゆるコンポーネントです。 これらの情報はすべて、重要な変数と照合し、関連づけなければなりません。 このような作業は、少し自動化するだけでメリットが得られます。
一般的な AIOps における AI の役割は、デジタル世界の番犬。エラーや異常を探り当て、従来型の DevOps チームに通知を送る存在です。 高度な AIOps では、AI がアナリストになります。重要なメトリクスの数値を高速で処理して、ソフトウェアの改善や環境の最適化につながる推奨事項を提示します。
今すぐ AIOps が DevOps に取って代わることはありませんが、その時期が近づいてきていることは間違いありません。 DevOps を既に導入している方は、自動化が進む環境に順応し、機械学習などの AI ツールをワークフローに組み込む方法を学ぶべきです。 新しいツールを活用する意欲がなければ、ソフトウェア業界の成長は鈍り、アプリケーションのセキュリティに対する潜在的な脅威が生まれてしまうでしょう。
AIOps を DevOps に組み込む方法
ほとんどの企業が AIOps を使って最初に行うのは、監視です。 AI にシステムを常時スキャンさせ、潜在的な問題にフラグを付けさせるのです。 このように異常検出を継続的に行えば、サービス停止を先回りして軽減したり、危険が深刻化する前兆を発見したりできます。
AIOps を監視に活用すれば、システム全体に注意深く目を光らせるセキュリティ レイヤーが得られます。 大量の情報を数ミリ秒で処理可能な AI ならではの能力により、セキュリティ上の欠陥を事前に特定したり、セキュリティ侵害の兆候となるパターンを検出したりできます。 さらに、大規模アプリケーション向けの 強力なセキュリティ ツール と、AIOps ならではのセキュリティ機能を組み合わせれば、冗長化した複数のセキュリティ レイヤーの内側でデータを安全に保護することもできます。
AIOps を監視とセキュリティに組み込んだ後の一般的な流れは、AIOps ツールを DevOps 戦略に統合することです。 AIOps を統合するメリットは、反復作業の自動化や、重要なデータの活用準備の迅速化など、直接的なものだけではありません。AIOps システムは、システム自体が導き出した結論に基づいてさらなる処理を行うことも可能です。
AIOps は診断にも活用されています。 AIOps を診断に利用すると、根本原因の分析の強い味方となります。 やむを得ず障害が発生してしまった場合でも、チームは AIOps ツールから即座に問題の通知を受け、その原因に関する情報を得られます。 AIOps の能力が高まったことで、問題の軽減にも力を発揮するようになっているのです。
また、機械学習アルゴリズムにリソース使用率などのメトリクスを継続的に分析させ、的確な調整案を提案させれば、システム パフォーマンスを最適化できるのはもちろん、セキュリティの強化やアーキテクチャと環境の最適化の余地も特定できます。
AIOps がある未来を受け入れる
DevOps 戦略と AIOps ツールの統合は、ほとんどのチームにとって避けられない展開です。 統合のメリットとして、DevOps プログラムでは、反復作業を行わなくてよくなり、ソフトウェアの改善に力を注ぐことができるようになります。 AIOps ツールのおかげでソフトウェアのパフォーマンスに関する情報が入手しやすくなるので、こうした改善をスムーズに行えるというメリットもあります。
AIOps は、DevOps チームにとって脅威ではなく、人間の処理能力を超える膨大な (かつ複雑な) データセットへの対処を可能とする強大な力であると言えます。 DevOps チームが適切な AIOps 戦略を採用すれば、ソフトウェアのスケーリングに付きものの膨大な、しかも相互に影響しあうさまざまな課題を克服できます。 大きな組織であれば困難を最小限に抑えて規模拡大を実現でき、小さな組織ならば増員の代わりに AI を活用することで、組織の肥大化を回避できます。 さらに、AI の能力の高まりにあわせて、DevOps と IT チームにとっての AI の重要性もさらに高まることでしょう。 自動化はよりインテリジェントになり、問題の軽減や、きめ細やかな推奨事項の提示が、より積極的に行われるようになります。
みなさんが DevOps 実践者として、将来を見据えたチームの戦略を策定するなら、AIOps も検討候補に加えましょう。 自動化を導入し、AI や機械学習ツールをワークフローに組み込むことで、ビジネスを安全かつセキュアに拡大するチャンスが得られます。