システム運用を自動化!
ランブック自動化のDevOps/SRE環境におけるメリットや活用法

システム運用を自動化!ランブック自動化のDevOps/SRE環境におけるメリットや活用法

ランブックとは「社内の繰り返し作業を標準化した作業手順書・マニュアル」のことで、これまでITのシステム運用で幅広く使われてきました。しかし、ランブックはコンセプト自体がは優れていても、同時に多くの問題を抱えています。ランブックを使う場面では「社内wikiの情報が最新版かどうか不安」「スクリプトが共有されているけれど、使い方がよくわからない」「新しい環境にも対応済みだろうか」など、心配は尽きません。

このような手作業で管理・運用しているランブックの課題は、ルーティン業務を改善するランブックの効果を失わせ、ヒューマンエラーを発生させるリスクにもつながります。そこで推奨されるのが「ランブックの自動化 (Runbook Automation)」です。ランブックの自動化とは、ランブックに記された手順の自動化であり、ヒューマンエラーの回避やシステム運用の効率化など、さまざまなメリットをもたらします。この記事では、ランブックの自動化について、必要とされる背景や導入のメリット、活用方法などを解説します。

目次

ランブックの自動化とは

ランブックとは「頻繁に発生するIT業務の手順を詳細に記した説明書」のことです。ランブックの詳細については、こちらの記事『ルーティン業務を劇的に改善する「Runbook(ランブック)」とは?』をご覧ください。

ランブックの自動化とは、ランブックに記された一連の作業を自動化することを指します。つまり、頻繁に行なうIT業務を自動化するということです。例えば、ランブックを利用したシステム運用手順の標準化や、既存の自動化を組み込んだ自動化ジョブの定義を行ないます。

これまで、このような作業は専門知識のあるエンジニアだけが行なえました。しかし、ランブックを自動化すれば、この一連のプロセスをAPIや担当者自らが必要な情報やサービスを取得するセルフサービス型リクエストを通して、現場の担当者をはじめとした他のステークホルダーに委ねられます。その結果、エンジニアの負担を大きく軽減できるとともに、現場担当者の利便性も向上することが可能です。

つまり、これまで専門知識のあるエンジニアしかできなかったタスクをランブックの自動化によってエンドユーザーやチームメンバーでも行なえるようになります。頻発するIT業務が多い場面にランブックの自動化を導入すれば、担当者の負荷軽減や迅速な対応、業務の効率化など、多くのメリットを享受できます。

ランブックを手動で扱うリスク

ランブックを使う業務において、多くのツールやスクリプトを用意したり成果物のコピーやファイルの処理、APIの呼び出しといったコマンドを手動で入力したりするシーンは決して珍しくありません。

しかし、このようなシーンでは、ある問題がよく起こります。それは、手順がランブックに書かれていても、ツールやスクリプト、手動によるコマンドを起動して使用するために必要な「ノウハウ」が、限られたスタッフの頭やパソコンの中だけに存在することです。その結果、この環境で必要なノウハウを持たない担当者はタスクを実行するために次のようなことを行ないます。

時間をかけて社内wikiの情報を探し回る

担当者は業務遂行に向けて自身の手を尽くすために、情報の宝庫である社内wikiにアクセスし、必要な情報を探し回ります。時間をかけることで、有用だと思われる情報にたどり着けることもあるでしょう。しかし、探し出したドキュメントの内容は理解が難しく、同時に「これは正確にアップデートされているのだろうか」と心配しながら読むことになるかもしれません。もちろん必要な環境へのアクセス権がなければ、情報を探すことさえもできません。

その場しのぎのスクリプトやツールを使う

以前にアクセスを承認された保存場所で共有スクリプトを見つけ「使い方や環境に関する自分の知識が間違っていないか」と不安を抱えながらも、その場しのぎのために使うことになるかもしれません。

すぐにエスカレーションする

これは、最もよくあるケースです。チケットを開けた担当者は対応が容易でないことを悟り、すぐにチームにエスカレーションします。その結果、チーム内では重要な連絡かもしれない、と混乱が起きます。一方、担当者は回答が来るまでやることがなく、待ち時間を無駄にしてしまうのです。いずれにせよ、最新のノウハウやアクセス権が与えられないメンバーは、システム運用に直接携われない状態になります。

その結果「初期設定」から「インシデント管理」「診断」「メンテナンス」「レポーティング」に至るまでのすべての業務が、すでに過労状態にある専門スタッフの肩にのしかかってしまいます。このように、実質的に運用に携われるスタッフの数が限定されれば、費用面だけでなく、以下のような心身面の問題なども引き起こすことになりかねません。

  • 業務が妨げられることで、専門スタッフとその関係者の燃え尽きが起こる
  • 「適切なアクション」「実行手段」「問題の診断方法」といった知識が特定のスタッフだけに偏っているため、インシデント解決に必要以上の時間がかかる
  • エスカレーションが頻発し、業務の中断と混乱が増えた結果、より重要な業務改善の実施計画が二の次になる

このような心身の問題の発生はさらに現場の状況を悪化させ、より問題を深刻化させる悪循環につながりかねません。この状況を改善するために必要なのがランブックの自動化です。

運用の効率化にランブックの自動化が欠かせない理由

効率的なシステム運用を妨げる要因として、次の4点が挙げられます。

複雑な手順を毎回正確に行なう必要がある

運用タスクは、1つのコマンドを実行すれば完了できるものではなく、複数の独立したシステムやツール、ソフトウェアごとに、毎回複数かつ同じ手順を繰り返す必要があります。

すべてのシステムにスタッフ全員がアクセスできるわけではない

ツールや情報、システムにアクセス権が設定されるのは普通のことですが、必ずしも状況に即した設定であるとは限りません。スタッフが必要とする内容にアクセスできなければ「解決の遅延」「修正効率の低下」「専門スタッフが付加価値の高い業務に集中できなくなる」といった、マイナスの結果を生みやすくなります。

運用のノウハウを伝えることは簡単ではない

長年の経験で培った運用のノウハウを言語化し「やるべきこと」とその「正しい手順」「結果の評価方法」について、プロセスごとに説明する必要があります。これには、多くの労力や時間がかかります。

急激な業務環境の変化とシステムの複雑化

技術の進歩やDX化などにより業務環境は急激に変化し、システムは複雑化しています。そして、変化と複雑化のスピードは今後も増していくばかりです。このスピード感の中で、会議や手書きのマニュアルを通してタイムリーかつ正確にノウハウを伝えるのは、ますます難しくなるでしょう。

このような状況の改善・運用の効率化に効果的なのがランブックの自動化です。自動化により、これまで専門スタッフにしかできなかったタスクを誰でもスムーズに処理できるようになります。システム運用の効率化においてランブックの自動化は欠かせないものであり、DevOpsやデジタルトランスフォーメーションへの取り組みにおいても非常に有用だといえます。

ランブックの自動化の目的は、自動化済みのワークフローと手動によるワークフローを1つにまとめて自動化することです。「ツール」「スクリプト」「APIの呼び出し」「手動で行なわれているコマンドの内容」といった既存のものを変更することではありません。既存の技術と資産は自動化によってさらに活用可能であり、導入によって次のようなメリットを得られます。

待ち時間と応答時間の短縮

担当者は、専門スタッフに問い合わせて回答が来るのを待ったり、ランブックを見つけるのに社内wikiを探し回ったりする必要がありません。ボタンをクリックするだけで、必要なタスクを実行して問題を解決できます。つまり、解決時間の大幅な短縮が可能です。

業務の中断やエスカレーション頻度の減少

同じような内容のリクエストや担当者からの問い合わせが減ると、業務過多の専門スタッフの負荷も軽減され、本来の業務への悪影響が減ります。業務を中断させる頻度の高い問題は、最大40%削減されます。

運用品質の向上

ランブックの自動化によってシステム運用の手順が標準化されるため、担当者のスキルに関係なく、一定の品質で運用手順を実施できます。また、ヒューマンエラーも最小限にでき、システム運用の品質向上につながります。

ランブックの自動化が停滞する理由

ランブックの自動化によるメリットは大きいものの、社内で自動化を進めることは容易ではなく、主に次のような理由で停滞してしまうことがあります。

ランブックの標準化に時間や工数がかかる

各部署や担当者との調整が必要であったり、手順の洗い出しや標準化に入念な確認が求められる場合があったりするため、忙しい現場では優先度が低くなりがちです。その結果、ランブックを自動化することが遅延します。

②自動化すべきタスクの特定が大変

ランブックを自動化する際は、かかわる人数・規模・業務の変化・複雑性などを踏まえる必要があります。そのため、自動化すべきタスクの特定が容易ではありません。

③必要な機能がすぐにそろわない

一定規模を有する企業では、用意すべきツールなどの規模も大きくなりがちです。異なる部門をまたぐ場合は、なおさらそれらを統合して自動化するツールなどを探し、最適化する必要があるため、時間がかかる傾向があります。

このような課題から、ランブック自動化の進め方にお悩みの方には、無理なく自動化を進める方法として「Crawl-Walk-Run(ハイハイ – 歩く – 走る)」アプローチをとることをおすすめします。「Crawl-Walk-Run」アプローチの詳細は、こちらの記事「『インシデント対応の自動化』に企業が取り組むための3ステップ(https://www.pagerduty.co.jp/blog/end-to-end-event-driven-automation/)」を参考にしてください。

また、ランブックの自動化という課題を前にして、高いROIを見込めないのでは、と思う方もいるかもしれません。しかし、具体的なシーンを想定してランブック自動化実践を考えると、高いROIを見込めることが理解しやすくなります。ここからはランブックの自動化のROIを考える際のヒントと、ROIを高めるために必要となる機能について解説します。

ランブック自動化によるROI

ROIの計算方法は自動化の内容によって異なりますが、自動化の対象はおもに「セルフサービス型リクエストによる業務移譲」と「インシデント対応」の2つに分けられます。各項目におけるおもなROI評価の指標と、それに対する効果について解説します。

セルフサービス型リクエストによる業務の移譲

セルフサービス型リクエストとは、ユーザーが自ら必要な情報やサービスを取得するために行なうリクエストのことです。セルフサービス型リクエストによって、専門知識を持たない担当者やエンドユーザーなどが自ら必要な情報を入手し、対処できるようになります。この環境を整えることで、以下のようなメリットが生まれます。

待ち時間の短縮

セルフサービス型リクエストによって他者への問い合わせや手動による作業をなくせば、リードタイムが短縮され、サービスレベルアグリーメント(SLA)の達成が迅速化されます。これまで発生していた待ち時間も短縮され、得られた情報やサービスを使って効率的に本来の業務を進められます。

業務中断の減少

担当者からの問い合わせ対応が減れば、専門スタッフの仕事量の業務を中断されることが減り、仕事量の適正化にもつながります。専門スタッフがビジネスに大きな影響をおよぼすプロジェクトにもっと時間を割けるよう、頻出するリクエストからセルフサービス型リクエストに対応するのがおすすめです。

インシデント対応

インデント対応には、多くの手作業や繰り返し発生する作業が含まれます。インデント対応に関するプロセスを自動化することで、以下のようなメリットが生まれます。

インシデント解決の迅速化

インシデント対応の遅れは「収益の悪化」「機会損失」「企業イメージの悪化」につながるため、迅速な解決が求められます。ランブックの自動化によって繰り返し発生するインシデントへの対応が自動化されることで、インシデント解決の迅速化が可能です。これにより、専門スタッフはさらに重大なインシデント対応に集中でき、インシデントによる損失の低減にもつながります。

エスカレーションの減少

インシデント対応に自動化されたランブックを導入すれば、エスカレーションで専門スタッフの手を煩わせることなく、スタッフ一人ひとりが自ら問題を診断して解決できるようになります。待ち時間を無駄に過ごすことがなくなり、人材を最大限に活躍させられます。

インシデント対応の効率化

ランブック自動化によりインシデントの対応が自動化されると、より少ない人数でより多くのインシデントを解決できるようになります。また、インシデント対応時間が短縮し、エスカレーションの回数が減れば専門スタッフは重要な開発業務にさらに多くの時間を費やせるようになります。

インシデント対応の一般的な流れや業務については、こちらの記事「インシデント対応とは?事例から読み解く対策方法(https://www.pagerduty.co.jp/blog/ideal-way-to-respond-to-incidents)」を参考にしてください。

DevOps/SRE/レガシー環境へのランブック自動化の活用

ランブック自動化は、システム運用の課題解決への取り組みが欠かせないDevOpsやSREの実践、そして多くの企業で頭を抱えがちなレガシー環境の運用対策として大いに役立ちます。ここでは、それぞれの場面でどのようにランブック自動化がメリットをもたらすのかを解説します。

✅ DevOpsにおけるメリット

DevOpsの働き方では、従来の開発や運用の枠を超えて、システム運用業務をチームに配分することが推奨されます。例えば、「開発した人が運用しよう」という考え方のもと、開発者が制作中のアプリケーションをデプロイし、問題の調査や修正をすることも可能です。(ご参考:ホワイトペーパー「フルサービスオーナーシップに向けた文化的トランスフォーメーションの推進」)このようなDevOpsの現場に対し、ランブックの自動化は次のようなメリットをもたらします。

  • 開発者自らが運用サービスにアクセスできるようになり、新しい環境の作成や製品からのデータ収集が可能になる
  • 開発者自らが自動化を作成し、他のスタッフに診断や修正といった業務をセルフサービス型として移譲できる
  •  セキュアで監査可能なプラットフォームで人とツール間のやり取りができるため、DevOps体制で従来より運用業務に携わる人の範囲が拡大しても、セキュリティとコンプライアンスを維持できる

SREにおけるメリット

SRE(サイト信頼性エンジニアリング)は、システム運用業務に大きな変革をもたらしています。SREは、運用にソフトウェアエンジニアリングチームを取り込み、ビジネスへの影響が大きいシステムの信頼性・拡張性、パフォーマンスの管理・改善を行なう運用手法です。ランブックを自動化することは、例えば次のようにSREの実践をサポートしてくれます。

  • これまで文書で管理されていた内容を、実行可能なコードとしてソフトウェア開発サイクルで管理できる
  • 自動化業務をセルフサービス型業務として他のスタッフに委譲できるため、運用業務の負担を組織全体でカバーできる。これにより、リードタイムや空き時間、トイル(SREの重要な効率測定基準)の削減につながる
  • 自動化されたチェックリストの共有などで開発や複数のチームによる協業が推進され、インシデントの診断と解決の迅速化につながる

レガシー環境におけるメリット

企業の運用環境では、常に「古いもの」と「新しいもの」が混在しています。インシデント対応やプロビジョニング業務では、世代の異なる技術への対応を避けては通れません。ランブック自動化は、レガシーシステム環境での運用を次の方法でサポートします。

  • あらゆるサービスの標準作業手順書を記録し、そこにインシデント対応者やプロビジョニングを必要とするスタッフが、迅速かつ確実にアクセスできるようにする
  • ITSM(ITシステム運用業務)の基準を守りつつ、セルフサービスでの自動化ジョブの実行により、業務を迅速化できる。標準的な変更の場合はチケットを開いてリクエストを送るといった必要がなくなる。一方で、変更の記録はチケットシステムに自動的に残すことが可能
  • 運用で実行されたことが、事前の変更勧告・審査時に合意された内容と一致しているかを確認できる。例えば、監査ログでは「実行内容」とその「実行者」、「出力」と「結果」を確認できる

ランブック自動化に必要不可欠な5つのポイント

ランブックを自動化することで多大なメリットの恩恵を受けられますが、その役割の本質は「ツールやインフラと人を結ぶワークフローへの橋渡し」です。その実現のために、ランブック自動化ソリューションに欠かせない5つの機能を紹介します。

1️⃣ ワークフローのオーケストレーション機能

ランブックを自動化する際は、スクリプト、ツール、APIをその種類に左右されることなくワークフローに接続し、自動で管理(オーケストレーション)できなくてはいけません。つまり、既存のスキルや資産を活かし、どのようなスクリプト言語やスクリプト作成ツールにも対応できる環境を作る必要があります。

2️⃣ 接続先が限定されないこと

チームがすでに慣れ親しんだインフラやシステムを使うことはとても大切です。例えば、Ansibleを使っているチームはAnsibleのplaybookを、PowerShellを使っている別のチームはそのスクリプトを、というイメージです。それぞれが使い慣れたツールで接続・設定できれば、ワークフローを思いどおりに定義できます。使い慣れたインフラやシステムに接続できるのはもちろん、今後の変化にも対応できるように、ランブック自動化ソリューションはあらゆるツールと接続できるものを選ぶことも大切です。

3️⃣ セキュリティガードレールによるアクセス制限

セキュリティポリシーに基づいて、アクセスや権限を管理するための仕組みであるセキュリティガードレールによって、適切なポリシー設定でのアクセス制限を確実に行なう必要があります。セキュリティガードレールの機能は、特にまだベテランとはいえないスタッフに、複雑になる恐れのあるワークフローを任せる場合に役立ちます。アクセス制限機能で監査証跡を残し、不正アクセスを未然に防ぎます。

4️⃣「セキュリティ統合」と「ビルトインロギング機能」

ランブック自動化ソリューションに、SSO(シングルサインオン)やLDAPを統合させることで「認証」「アスセス制限」「シークレット管理」が可能になります。さらに「ビルトインロギング機能」によってあらかじめロブの生成を設定しておけば、すべてのジョブと成果物の監査証跡を残せます。

5️⃣ リアルタイムな可視化

ランブック自動化ソリューションを環境内(CMDB、構成管理、クラウドやVMマネージャー、監視ツールなど)の信頼できる情報源と統合させることで、環境内の要素やリソース状況をリアルタイムに可視化し、詳細なトラッキングが可能になります。さらに、自動化の目標値や自動化による数値を自動で更新できます。PagerDutyでも「イベントオーケストレーション機能」「アクセス制限」「ビルトインロギング機能」などをご提供しており、インシデント対応の自動化をはじめとするさまざまな用途でご活用いただけます。

「PagerDuty Operations Cloud」による自動化

ランブックの自動化に向けたソリューションをお探しの際には、PagerDuty Operations Cloudにおける「PagerDuty Process Automation」をぜひご検討ください。PagerDuty Process AutomationはビジネスとITプロセスの自動化や委任を通じて、オペレーションの高速化をサポートするサービスです。PagerDutyの「Runbook Automation」機能により、インシデントを診断・修復するための自動化されたステップを作成し、担当者が簡単に実行できます。

さらに、頻出するITプロセスの自動化とオーケストレーションを担い、サービスレベルアグリーメント(SLA)の要件を満たすと同時に、運用コストを削減します。その上、人力依存の従来型チケット管理業務を、孤立していた専門部署をつなぐ自動システムに任せることで組織の成長とイノベーションを加速できます。また、セキュリティおよびコンプライアンス要件を自動化に組み込むことで、リスクを低減し、変更要求の承認を迅速化できます。

PagerDuty Process Automationはインシデント解決時間を最大25分短縮し、タスク完了までの時間を最大99%短縮します。プロセス自動化により、チームは自動化されたプロセスを迅速に作成でき、機能やAPI、スケジュール、トリガーといったそのプロセスを他のメンバーに移譲することで、メンバーはセルフサービス型リクエストとして呼び出せます。その結果、サポート費用を大幅に削減し、上級エンジニアへのエスカレーションを減らすことが可能です。

既存の資産を活用しながら「ランブック自動化」でシステム運用を効率化

ランブックの自動化を実現することで、システム運用の大幅な効率化が図れます。有用なランブックがあれば、情報を探し回るような事態を避けられ、共有されたノウハウによって現場の担当者はスムーズに業務を行なえます。日々の業務における効率化と最適化は、本来の業務に集中できる環境を整える上でも重要です。この機会にランブック自動化の具体的なメリットを知り、実現に向けた一歩を踏み出してみてはいかがでしょうか。より詳しくランブックの自動化について知りたい方は、こちらのeBook(英語)も参考にしてください。PagerDutyでは「Runbook Automation」機能をはじめとした、システム運用の効率化をサポートします。PagerDutyに興味を持たれた方は、14日間の無料トライアルをぜひお試しください。

PagerDutyを14日間無料で試してみる

700以上ものツールと連携。システム障害を自動的に検出・診断するだけでなく、適切な障害対応メンバーをアサインし、デジタル業務全体の修復ワークフローを自動化します。

PagerDutyイメージ

この記事が気になったら

  • Facebook
  • LinkedIn
  • twitter
  • はてなブックマーク

PageDuty公式アカウントをフォロー

  • Facebook
  • LinkedIn
  • twitter

関連ブログ記事関連ブログ記事

検索検索
タグタグ

目次

インシデントをより早く・少ないリソースで解決
閉じる