運用自動化の取組み方から自律型運用へ発展させていく為の進め方についてご紹介させて頂きます。セイコーソリューションズのご紹介まず始めに私が所属しておりますセイコーソリューションズについて、簡単にご紹介させて頂きます。セイコーソリューションズは、時計で名の知れているセイコーホールディングスグループの一員であり、持ち株会社のセイコーホールディングスの下、ウォッチ事業、電子デバイス事業に続く、第3の柱としてシステムソリューション事業を展開している会社です。古くはセイコーシステム、セイコープレシジョン等で、タイムサーバーやロードバランサ―等のネットワークやシステムインテグレーションを手掛けてきた事業部門と、電子・精密デバイス等を主要事業とするセイコーインスツルのシステムアプリケーション事業を統合し、2013年に営業開始しました。その後、2017年に性能管理の雄であるIIM社と、2020年にIoT業界の雄であるコスモ社と統合し、今に至っております。弊社では、IT領域の様々な得意分野を持つ事業を統合しており、それらの強みを生かし多角的にITによるお客様へのご支援を展開しております。元々は、タイムサーバーや通信関連のアプライアンス等が主力でしたが、最近では、コロナ禍によって、リモートワークや働き方改革等が期せずしてブームになり、電子契約やモバイルオーダーなどのデジタル化、省人化のソリューションが伸びてきており、運用自動化もその一つとなっています。NoOpsとAIOpsさて、ここからタイトルにありますNoOps、AIOpsの話をしていきたいと思います。言葉の定義が曖昧で分かりづらいので、弊社の解釈としての「NoOps」と「AIOps」の違いを示してみました。0ではなく、極力人間による作業を少なくするという意味になります。活用して、学習機能を持ち、各種運用業務を自律的に運用できるようにすることという意味になります。自動化+人の判断をAIがサポートする」さらには「AIが判断して自動実行する」というのがAIOpsであると、ここでは定義させて頂きます。昨今、NoOpsつまり運用自動化の機運が高まっていると感じており、弊社にも多くのお問合せを頂くようになってきました。今、そこにある危機ここ最近で一気に運用自動化の機運が高まってきている背景として、やはりコロナ禍によるビジネス環境の変化とマインドチェンジが一番の理由かと思います。されないノウハウ等多くの課題を抱えつつも人海戦術でなんとか回すことができていました。しの厳しさ、それに対する施策として、デジタル化を推進していかなければ生き残れないという状況が、「人手・コストを増やさないまま、ともすると削減をしながら、システムの増加に対応していかなければならない」という相反する厳しい状況を生み出しているためと考えられます。経営課題へそしてこれらの運用課題は、もはや経営レベルの課題になってきています。コロナ禍でデジタルビジネスが加速していますが、性能要件が読みづらい世の中になっており、インフルエンサーの呟き一つで、急激なトランザクション増加が起こり、予測できないシステムダウンなどということも起こりうる状況です。このシステムダウンが、デジタルビジネスの世界では営業機会損失に直結し、年商100億のECサイトの場合、1時間の停止で、114万の機会損失になってしまいます。スピードの低下等に直結してしまうという環境にもなってきています。普及していないか?運用自動化の考え方やそれに対応するためのツール等は、古くはホストの時代のジョブのバッチ処理を始めとして、多くのベンダーが10年以上前からオーケストレーションツールというものをリリースしています。弊社が多くの企業様とお話をさせて頂いている経験からすると、あまり普及してないな、という印象です。今までにもっと普及していなかったのかを紐解くと、そこに運用自動化の課題が見えてくるのではないでしょうか。人海戦術の運用でも十分回っていて、今ほど切羽詰まっていなかったという評価もあるかと思いますが、他の要素として-環境変化への抵抗感-自動化スクリプト自体の属人化やブラックボックス化の懸念-自動化ツール自体の運用が増える事への抵抗というのが挙げられるかと思います。この環境変化への抵抗感は強いものがあったと思いますが、幸か不幸か今は働き方改革やコロナ禍でのリモート対応等の意識が浮上してきて、変化を起こしやすい風潮が出来てきています。すると、次の大きな課題としては、ブラックボックス化の懸念が挙げられると思います。どのような作業をどうやって実行しているスクリプトなのかを正確に知らなければ、ボタン一つで出来るからと言われても、やはりそれに頼りっぱなしになるのは不安があります。作った人しか分からないようなお手製のジョブスクリプトは、費用も安く出来ると思いますが、属人化してメンテナンスできなくなり、やがて陳腐化してしまいます。これらの課題を踏まえ、出来るだけ現行手順を変えない、そしてブラックボックス化や属人化、陳腐化を回避し、環境変化への不安を感じないような運用自動化の進め方が必要なのではないかと考えております。NoOpsの進め方のポイントこれらを踏まえたNoOpsの進め方のポイントとしては、以下の5点が挙げられます。【1】まずは業務フローを見える化する【2】自動化の入り方として、最初は業務フローを出来るだけ変更しない【3】そして定型的、単純なコマンド打鍵等、手順が分かり切っている所から始める【4】業務フローを部分的に、段階的に自動化していく特に条件分岐やエラーハンドリングのような複雑なフローになる場合は、条件分岐の部分で、あえて人が判断するフローを入れる事も大事かと思います。【5】そして最後に自動化設計のパターン化と、見える化をしておく事です。自動化した全体のフローを、管理画面上のWIKIのようなもので残しておく事で、誰でも見れば分かるようにすることと、必要な時にすぐ見られるようにすることが、ブラックボックス化、陳腐化を防ぐうえで重要なポイントです。この運用自動化の進め方の具体例として、インシデント対応の自動化について、次頁以降で少し詳しくご紹介いたします。1こちらがインシデント対応を自動化していく手順の一例です。現在は、監視システムからのアラートメッセージによって、オペレータが障害内容を認識し、重要度・緊急度を既存の運用手順書等を参照しながら判断し、L2の担当者に電話連絡をしながら、その前後でインシデント管理表に記入しているとします。2ファーストステップは、まずL2の担当者への通知をオートコールに変更する事とインシデント管理に記入する事を自動化します。こちらはアラート通知された内容を元に、インシデント登録するしないは、オペレータが判断し、インシデントと判断した場合のみ実施する事で、判断は人、作業は自動という風に分ける事が出来ます。3続いて、L2担当者が障害内容を判断するために実施するPD作業の中で、ログの取得等ある程度、アラートメッセージの内容から読み取れ、アクションに落とし込める部分を自動化します。これにより、L2担当者が障害の内容や緊急性が分からず、夜中に呼び出されて、駆け付けてみれば再起動やジョブのリランで済むものだったなどという不幸な状況を避ける事が出来るようになります。減らし、対応しなければならないインシデント自体を減らす事で本当に対応が必要な問題にワークロードを配分できるようにすることも大事です。ここまでは、多少の条件分岐は含まれますが、定型的な作業を自動化している、最初に定義させて頂いたNoOpsの部分となります。人が判断していた部分を徐々にAI化へそしてここから先のステップは、人の判断のサポートをAIがする、もしくはAIが判断し実行させてしまうというAIOpsの考え方が絡んでくる部分になります。このステップでは、登録したインシデントを、過去のインシデントと照合し、類似事例を表示させる。その合致率に閾値をもうけ、極端な例ですが、例えば90%超えていたら、合致した過去のインシデントの対応を自動実行して復旧させる、それ以下なら類似事例をL2担当者に通知し、その際どこが類似でどこが相違点なのかを知らせて、人による判断をサポートし、その後の対応はボタン一つで自動実行させるというような形にすることで、ブラックボックス化を回避しながら、徐々に自律型システムに近づけていく事が可能と考えております。ナレッジベースの蓄積で良いスパイラルへこのようにAIOpsの考え方を取り入れる事で、障害の初動対応が早く且つ省力化できるようになります。この考え方のキーとなるのが、ナレッジベースと言われるAIでよく言われる所の教師データの蓄積です。ナレッジベースに紐づいた過去インシデントが増える事で、インシデントが増える度に賢くなっていく為、新しいインシデントがすでにナレッジベースに紐づいている類似のインシデントに引っかかりやすくなり、その分、自動対応率も徐々に向上していくという、良いスパイラルを作っていく事が出来ると考えています。AIOpsへの進化の取組み弊社では、現在SNOPSという運用自動化支援サービスを展開しており、主に定型作業の自動実行による省力化をサブスク型のスモールスタート形式でサポートしておりますが、もうまもなくAIOpsナレッジベースを備えた賢くなるインシデント管理ツールとの連携を出来るようにしようと、鋭意ソリューションを進化させているところでございます。Enterpriseは、様々な既存のツールと連携して運用業務フローを自動実行させる事が出来、ツールとツールの間で人が担わざるを得なかった一連の運用業務プロセスを自動化できるプラットフォームとなっています。Enterpriseでは、ジョブフローをスクリプトで記述する事が出来るため、コマンドラインで出来る事はほぼ何でも出来るというほど、非常に自由度が高く、またそのスクリプトコードが生で見えて、且つ行間にコメントを記載したり、メニュー画面にWIKI等を自由に構成出来たり、自動実行したアクションのログが全て残るようになっている等、ブラックボックス化、陳腐化が防止できる製品となっています。いえ、ジョブフロースクリプトを自分達で開発するのはちょっと・・・・という企業様向けに、弊社では汎用的なスクリプトを先に開発・検証したものを部品パッケージとしてご提供し、全体のジョブフローを各企業様に合わせたものに出来るようにカスタマーサクセスエンジニアも同じくサブスク型でご提供いたしております。部品パッケージの適用効果この基本部品パッケージを利用した場合の、ジョブフロー開発・カスタマイズでは、とあるお客様での実績ベースで、3割~6割程度のジョブフローの開発ボリュームが削減出来ました。弊社の運用自動化支援サービスでは、Kompiraに関する導入、構築、保守サービスだけではなく、ジョブフロー部品パッケージのご提供および業務フローの見える化から、PoCや自動化の企画検討のご支援、自動化フローの設計・標準化等、カスタマーサクセスエンジニアがお客様と一緒に伴走しながら、各お客様にとってベストな運用自動化の推進をサポートいたします。本日ご用意させて頂いたコンテンツは以上となります。最後までご視聴頂き、ありがとうございました。二極化しつつあるシステム運用。過去の成功体験が足かせになる。