JR東日本情報システム様 事例
「列車の予約システムにおけるインシデント対応の高度化」
JR東日本の列車予約システムは、24時間の監視と運用が必要なミッションクリティカルなシステムです。
PagerDutyが提供するサービスを導入することで、「トラブル発生時のダウンタイム短縮」や「監視オペレーションの効率化」「運用工数削減の実現」をめざす取り組みをご紹介。 → PagerDutyの資料をみる(無料)
インシデントが発生した際は迅速かつ適切に対応・解決する必要がありますが、「ノイズの精査、イベント処理、コンテクスト収集」など、多くのアクションに時間を浪費することがあります。被害を最小限に抑えるためにも、イベント発生時の「ノイズ精査」や「コンテクスト収集」を効率化し、成熟したインシデント対応体制が構築された状態でスムーズな初動対応を実現したいものです。
そのためには、正確な情報を素早く共有することが重要なこと、そして、システム運用チーム間がコラボレーションし、足並みをそろえることが大切であると考えられます。そのためにも「オーケストレーション」の導入が重要といわれています。オーケストレーションを採用することで、インシデント対応における自走化や生産性の向上が可能です。
本記事では、「初動対応の重要性」や「オーケストレーションの概要」、さらにPagerDuty機能「イベントオーケストレーション機能」も開発背景や機能にまつわる話をご紹介します。
目次
インシデントによってシステム障害などが発生した場合、二次被害を防止するための応急処置としてシステムやサービスの停止を余儀なくされるケースがあります。システムやサービスが停止することによって、企業は顧客からの信用を失い、結果的に組織の損失につながる可能性が高まることがあります。システムやサービスが停止する時間が長引くほど被る損失は大きくなるため、「適切な初動対応」によってシステムやサービスの可用性を維持し、被害を最小限に抑えることが大切です。
しかし、インシデント解決までには、内容を記録したりプライオリティを付けて各所に通知したりと、さまざまな工程を踏まなければなりません。大量のアラートに対応するとなれば「解決までの時間が長引く可能性」や「クリティカルなアラートを見逃してしまう危険性」も考えられます。
そのため、緊急対応を要するインシデントのみをトリアージすることは、初動対応の工程でも非常に重要な要素といえるでしょう。
ここでは、PagerDutyが提供する機能「イベントオーケストレーション」への理解を深めて頂くためにも、「オーケストレーション」という言葉の意味や、オーケストレーションによるメリットを簡単にご紹介します。
「オーケストレーション」とは、複雑なタスクやワークフローを柔軟に管理するための手法の一つです。オーケストレーションを採用することで、複数のタスクや構成それぞれに適用する管理体制を自動化し、コスト削減や生産性の向上を実現できます。
ここで、オーケストレーションと混同されやすいものとして「自動化」が思い浮かぶ方がいるかもしれません。「タスクを管理する」という意味合いではそれぞれに共通する要素といえますが、機能の対象となる範囲に大きな違いがあります。「自動化」とは、これまで人間が行なっていた作業をソフトウェアによって代行させるなど、単一のタスクを自動化することです。
一方で、「オーケストレーション」は、複数の異種システムにまたがるプロセスやワークフローなど、単一のタスクではなく工程全体の自動化を実現します。最初は一部のプロセスにのみ自動化を組み込んだとしても、それらをオーケストレーションによって統合すれば、将来的には全体を自動的に管理する体制が整うといえます。
タスクの開始から終了までには、様々なリソース(運用コスト)がかかります。そのなかには、それほど実益が得られていないものもあるかもしれません。オーケストレーションでタスク全体を自動化すれば、プロセスに関する多くのコスト削減を期待できます。また、削減できるコストを抽出することで、より有益なことにリソースを充てることも可能になります。
これまで人間が負担していたことを自動化することで、人間ならではのインサイトや意志決定を要することに人の力を充てられるようになります。従業員の負担が軽減されるだけでなく、システムやサービスにおける標準的なプロセスを作成できるため、一貫性や信頼性の向上につながります。
システム運用のためには複数チームによる共同作業は欠かせません。その際、専門性の違いや価値観を共有するためには、コミュニケーションを充実させてプロセスの進捗に支障が出ないようにする必要があります。
様々なツールからアラートやイベントが発信されることで、「診断テストの実行」や「サーバーの再起動」など、頻出するインシデントに対する手作業の対応が発生します。PagerDutyのインシデント全体ではその2割が5分以内に解決されていますが、解決困難な大型のインシデントになると一筋縄ではいきません。
PagerDuty「イベントオーケストレーション」機能で自動分類を行なえば、インシデントによっては対応数を減らしたり、場合によっては対応数をゼロにすることが可能です。同内容のインシデントなら、解決に15~30分かかっているものでも、解決時間を短縮することで、チームの生産性と集中力の向上が期待できます。
私たちPagerDutyの原点は「インシデント発生のたびに繰り返される手作業による対応時間を削減したい、チームを長時間の単純作業から解放し、もっと専門性を必要とするインシデント対応に注力できるような自動化を実現したい」といったお客様の課題解決です。イベントオーケストレーション機能は、「ルール設定に自由度を持たせ、自動化機能をアラート受信段階から使えれば、チームにアラートを通知することなく、頻出するタスクを処理できるのでは」という発想から生まれました。
同じくPagerDuty機能の「イベントルール」を使ってイベントインジェストパイプラインに直結するディシジョンエンジンを備えているのが「イベントオーケストレーション」です。この機能は、複雑なロジックを使ったPagerDuty Condition Language (PCL)で、条件に基づいた次善のアクションを広範に構築できます。あるときは抑制、またあるときはルーティング、さらにはリアルタイムに取り込まれる自動診断や、自動修復といったAutomation Actionsの起動も可能です。
ある状況を処理するよう設定されたイベントオーケストレーションは、ロジックを使ってその状況を認識し、状況に合わせた対処方法を決定します。このように意思決定エンジンの新たな扉が開いたことで、アラートを発信せずにディシジョンエンジンがタスクを処理できるようになりました。また、アラート受信の段階で人間向けにインシデント対応プロセスを強化することも可能です。
ここでは、「イベントオーケストレーション」機能をご利用頂ける2つのケースをご紹介します。
1つめが「ノイズリダクション」です。世の中で様々な監視ツールが使われ、どれだけのアラートを発信しているかを考えれば、ノイズが非常によくある問題であることがわかります。PagerDutyは重複排除や抑制などの機能や、インテリジェントアラートグルーピングなどのMLオプションを用意しています。また、ピンポイントな解決策を望まれる場合にはイベントオーケストレーションの使用をおすすめします。ノイズリダクションにイベントオーケストレーションを使うと、細かく設定されたルールのもとユーザーは具体的な状況をさまざまに設定できるので、ノイズを逸らし、統合・抑制することで、チームは重要なシグナルだけを選別できます。
2つめが「自動化」です。自動化の洗練度は運用の成熟度で決まります。インシデント対応のうち初期段階のものはその多くが同じ作業なため、イベントオーケストレーションによって自動化できるポテンシャルが非常に多いと言えます。
御社でアラートやノイズの最も多いサービスは何でしょうか?そして、そのサービスに起きるインシデントのうち、初期診断手順を必要とするものはどれだけあるでしょうか?
エンジニアの皆様から、「障害発生の報告を受けると、問題解決に取り掛かる前に毎回このような手順を踏まなければならない」という話をよく伺います。一般的には、「スクリプトの実行」や「情報の収集作業」を行ない、正しいコンテクストを把握することが重要ですが、その作業はインシデントごとに異なるため、次のアクションを起こすには診断結果を待たなくてはなりません。
しかし、インシデントが発生した際は、初動対応が重要であり迅速かつ適切な対応を行なわなければなりません。インシデントによる被害を最小限に抑えるためには、チーム間で正確な情報を素早く共有したうえで、効率的に初動対応を行うことが大切です。
インシデントにおける適切な初動対応において、効率的な解決を実現するためにも、PagerDutyの「イベントオーケストレーション」をぜひお試しください。イベントオーケストレーション機能に関する詳細は、ナレッジベースの記事をご覧ください。
JR東日本の列車予約システムは、24時間の監視と運用が必要なミッションクリティカルなシステムです。
PagerDutyが提供するサービスを導入することで、「トラブル発生時のダウンタイム短縮」や「監視オペレーションの効率化」「運用工数削減の実現」をめざす取り組みをご紹介。 → PagerDutyの資料をみる(無料)
目次