Like急激な進化を遂げるIT環境。企業もデジタルトランスフォーメーション(DX)への対応が急務となり、アプリケーションの近代化やAPIによるエコシステムの構築、クラウドへの移行を進めています。コストセンターと揶揄される運用の現場は変化に対応が出来ていないばかりか、更なるコストの削減を求められるという負のスパイラルに陥っている傾向にあります。企業はこの事実を認識し、DXを継続させていく運用の仕組みを早急に構築する必要があります。その解決策として注目されるのがAIであり、本稿ではそのAIを活用した運用の高度化について説明します。「2025年の崖」問題はみなさんご存知かと思います。2025年以降、人口の減少やコストの不足により、現状のシステムをメンテできる人材が不足しシステム障害が頻発する可能性が高くなり、経済や我々の生活をマヒさせてしまう、というものです。企業の運用の現場では、2025年を待たずして、すでに深刻な問題が起きていることをご存知でしょうか。「医療崩壊」ならぬ「運用崩壊」とも言える問題です。ここ数年、クラウドへの移行やデジタルトランスフォーメーションへの取り組みが加速しています。代表されるような新しい運用体制・マインドセットの導入などが進んでいます。華々しく見えるこれらの新技術や手法ですが、実際には運用の現場に新たな複雑性やリスクなどの問題をもたらしていることも事実です。運用チームには既存のオンプレミスの管理に加えて、これら全ての新技術に対しての知識や対応力が求められます。新技術への対応だけでなく、専門的知識を持った人材(いわゆる匠と呼ばれる人々)の高齢化に伴うナレッジの継承・喪失という問題も存在します。運用の現場は、これら新技術や複雑化するIT環境の管理運用と、資産とも言えるナレッジの継承・蓄積という両極端の課題への対応をしなければなりません。現実には限られた人員で、複雑化・多様化するIT環境の全てのリソースを管理したり、そこから上がってくる全てのアラートやイベントを正確に把握し、適切な対応をとっていくことは、もはや不可能なレベルに達しています。イベントやアラートの洪水の中で本当に必要な情報を選び出すことが難しく、障害の原因分析や影響範囲の特定に至っては、専門のスキルを持った人材を投入してもかなりの時間を要します。アプリケーションはコンテナでの開発が主流になりつつあり、アジャイルの手法で日々リリースや修正が加えられるようになります。コンテナ化やマイクロサービス化はアプリケーションの迅速なリリースや修正、冗長性確保によるサービスの安定化やサービスレベルの細分化などの効果をもたらしますが、一方で細分化され複雑に絡み合い、そして動的に変化しながら稼働を続けるアプリケーションを正確に管理することは、人手ではまず不可能です。このような状況下では、運用部隊のワークロードが高くなることから、抜本的な解決策が施されず同様の問題を繰り返す傾向にあります。解決までの時間が長くなるだけでなく、同じ問題を繰り返し、無駄に機会損失を増大させることになります。それではこれらの問題は人的リソースを投入すれば解決するのでしょうか。残念ながら、ある調査では労働投入量という観点で見ると、2020年にはピークを迎え、2023年からは減少が始まると報告されています。[1]つまり、これからは人を増やすどころか、もっと少ない人員で、これまでよりも複雑なIT環境を管理していくことが必要となります。「運用崩壊」という言葉が決して大袈裟な表現ではないことがお分かりいただけたでしょうか。運用崩壊を解決するAIOps企業は前述の課題にどのように向き合っていけば良いのでしょうか。Operations)という考え方です。判定などのIT運用プロセスを自動化すること」を指します。ビッグデータというのは、イベント、メトリック、トポロジーなどの構造化データに加え、ログやチケットなどの非構造化データも含みます。機械学習とは、AIの一種であり、過去の経験から学習によって自動的にプログラムの性能を改善するアルゴリズムを指します。AIOpsを導入すると運用の現場はどう変わるのでしょうか。AIOpsは発展途上であり、今後の機能拡張も含んだ上での一例ですが、AIOpsを導入することで、ITオペレータはルーチンワークから開放され、オブザーバビリティを元にシステムの健全性や何が起こっているかをリアルタイムで把握します。障害発生時にはAIOpsが自動的に整理した関連するイベント、チケット、ログ、障害の影響範囲を元に次に取るべきアクションが分かります。ITオペレータはその情報を元に素早く障害を復旧させ、必要な報告を上げることができます。このように、AIOpsを活用した未来はほぼ全ての運用業務が自動化され、多くの障害は未然に回避され、人間は最小限の判断を下すのみになると言われています。AIOpsの強みを最大限生かすためには、なるべく広範囲にAIOpsを適用することが重要です。様々なツールから生成されるデータを一元的に収集して分析することで、個々のツール特有の管理方法に依らず、日常的に使用しているメッセージングツールに情報を集約することができます(ChatOpsと呼ばれています)。AIOpsによって実現できる具体なメリットとして次のことが挙げられます。影響範囲の分析と過去の類似事例とその対応策の提示(MTTRの削減)統合されたシステムのオブザーバビリティの提供より高度な問題やビジネス課題に時間を集中することができる一方でAIOpsのデメリットとして次のことが挙げられます。Iを使用して自動化することで運用高度化を支援するプラットフォームです。特定、効率的に解決することができ、これまでより運用全般において工数を削減・属人性を排除することができます。AIOpsの導入効果を実感いただくために、PoC事例を元にソリューションの説明をしていきます。Iに学習させています。AIOpsを使う事でリアルタイムで検知できる様になりました。解決までの平均時間も2時間31分から7分に大幅短縮されました。図1この特出した結果は、どのような仕組みでもたらされているのでしょうか。今回の流れを表したものが図2になります。AIOpsでは、メトリックやイベント、トポロジーのような構造化データ、ログやチケットのような非構造化データをリアルタイムに取り込み検知・診断を行なっています。ログの異常検知では、事前に正常時のログをAIが学習(教師なし学習)し、正常時の振る舞いをモデル化します。リアルタイムに出力されるログを分析し、モデルに当てはまれば正常、当てはまらなければ異常と判断する仕組みになっています。図1の2異常検知後、AIを使って異常ログと関連がある情報(イベント、アラート、メトリック、トポロジー)を1つのイベントとして関連付けます。(自然言語処理)を使用し、人間が理解できる文脈を生成したレポートをメッセージングツールに通知します。AIOpsでは、ChatOpsにより障害の通知や対応を行うことができます。現在はSlack、TeamsがChatOpsに対応しています。インシデントが発生すると以下の4つの項目を簡潔に通知します。通知の根拠となるログやアラートの件数AIが導き出した推奨されるアクションこの自動生成されたレポートを使用して運用担当者は迅速に障害対応を始めることができるのです。Automationを使って復旧手順を自動実行する事にも対応しています。流れを使って紹介しました。これらの一連の流れは、従来の運用ではエンジニアが障害の第一報を受けた後に、複数の画面を切り替え、様々なツールからアラートやログの情報を相関させようとストレスを抱えながらたくさんの労力や時間をかけていた部分です。AIOpsを導入することで単一の画面でシステム全体の状況が把握でき、これまでより運用全般において工数を削減・属人性を排除することができるのです。AIOpsに取り組むべき理由とは企業が今すぐにAIOpsに取り組むべき理由について考えていきます。それはシステムの運用高度化に留まらず、組織の人材の高度化にあると考えています。Tシステムがより高度になるに連れて、運用技術者に求められるスキルも同様に高度になっています。Engineer)です。従来ルーチンワークを主に行なってきたITオペレータにとって、すぐにDevOpsエンジニア、SREの役割を果たすことは、非常に困難だと言われています。AIOpsを導入することで、大部分をAIが自動的に作業を行うため、人が注力すべき点が明確になります。AIOpsを活用する人材を育成することで、DevOpsやSREに対応し、人とAIがお互いの得意分野を活かしスピード・品質を向上させる働き方を実現することができるのです。[4]と連携することができ、変化し続ける様々な環境を一元管理することが可能となっています。Tsutsumi金融系ユーザ企業での長年のインフラ運用・設計をへて2020年にIBMに入社。2021年はAIOpsを中心としたオファーリングを担当しており、ユーザ企業の運用の高度化・自動化の必要性を訴求している。KodaSIerとして多数のインフラ構築案件のデリバリーに従事。IBM入社後はテクニカルセールスとして、主にハイブリッド環境の構築/運用自動化、及びAIOpsの分野に注力している。Cloud上でOpenShiftの商用環境の構築/運用業務を担当。以降、コンテナやOpenShiftの業務を多く経験する。現在はテクニカル・セールスとして企業システムのクラウドネイティブ化を支援。