【ポストモーテム】PagerDutyとGoogleの公式テンプレート比較

最近チームの輪読会で「サイトリライアビリティワークブック」を読んでいます。 [itemlink post_id="11635"]

SREでは障害報告書のことをポストモーテムと呼びますが、業界内でテンプレートがいくつか公開されており、今回は本家Googleが用意しているポストモーテムとインシデント管理ツールのPagerDutyのポストモーテムを比較して違いがあるのか調べてみました。

そもそもポストモーテムとは以下を記録するために書かれるものと定義されています。

  1. インシデントとそのインパク
  2. その緩和や解消のために行われたアクション
  3. 根本原因
  4. 再発防止策のフォローアップ

それでは各社で公開されているテンプレートを見てみましょう。

Google版テンプレート

出典:SRE(https://amzn.to/33PIc2N

タイトル: 作成日: 作者: ステータス: サマリ: インパクト:ユーザーや収益への影響 根本原因: 発生要因: 対応: 検出: アクションアイテム: 教訓:うまくいったこと、うまくいかなかったこと、幸運だったこと タイムライン: 参考情報:

なんか改めてこうしてみるとすごいあっさりではあるんですが、ぼくが個人的にGoogleのポストモーテムから影響を受けたのは「教訓」のところです。他の項目は正直、自分でポストモーテムを作ってみましょうって言われてもたぶん入れるような基本的な項目ばかりだと思うのですが、

  1. うまくいったこと
  2. うまくいかなかったこと
  3. 幸運だったこと

はなかなか思いつかないかなと思います。

特に「うまくいったこと」というポジティブなことを書く欄があり、事故報告書的なものとしてネガティブな印象があるポストモーテムの中でも準備していたからうまくいったことだったり、臨機応変な対応が効果的だったことだったり良いことを書けるというのは批判しないというポストモーテムの基本的な文化のこともあるしいいよなーと思います。

また「幸運だったこと」というのも、実際にはこんな可能性があったけどたまたま起きなかったみたいな隠れている要素をあぶり出す効果的な質問だと思うので、自分たちでポストモーテムを書いてるときもこの項目はいいよなーと毎度思います。

PagerDuty版のテンプレート

一方、PagerDutyのポストモーテムテンプレートです。 出典:https://response.pagerduty.com/after/post_mortem_template/

概要:原因、タイムラインの要約、および影響を要約した短い文を1つか2つ 何が起きたのか:簡単な説明 原因:問題の要因を記載。問題を悪化するような措置が取られた場合は間違いから学ぶことを目的としてそれも記載。 解決した方法:暫定対応の場合は根本解決方法も記載 影響:非常に具体的で正確な数を記載 対応者:ICは誰でしたか?記録係は誰でしたか?他に関わった人は誰でしたか? タイムライン:(1)始まった時間(2)アラート発生時間(3)ステータスページが更新された時間(つまり、インシデントが公開されたとき)(4)重要なアクションの時間 教訓:うまくいったこと、うまくいかなかったこと アクションアイテム:次のようなアクションアイテムを含めます(1)将来のインシデントを防ぐために必要な修正(2)問題が再発した場合に軽減するのに役立つ可能性のある準備タスク(3)残りの事後手順、報告電子メール、およびステータスページの公開投稿(4)インシデント対応プロセスの改善 メッセージング:内部メール、外部メッセージ

比較した結果

まぁ、ぶっちゃけだいたい同じでした。 そもそもGoogleのポストモーテムの時点で、ぼくがゼロから考えたとしてもだいたい同じになるだろうなと思ったくらいですからそうなるよなと思います。

一部若干異なるのはPagerDuty版では、誰がインシデントコマンダーか、記録係か、他に関わった人は誰かを記載する項目がありました。PargerDutyでは「インシデントコマンダー」に求められるトップスキルとはというページが用意されており、ここにはこのように記載があります。

組織は、オンコール の負担を下げつつ顧客に高いレベルのサービスを提供するために多くのインシデント対応の司令官( 「インシデントコマンダー」)を必要とします。多くの人は上級の技術者(シニアテクニカルリード)だけがその役を担えると思っているので、インシデントコマンダーになりたがりません。
インシデントコマンダーには職位や技術的な専門知識に関係なく、誰でもなれます。

インシデント対応の司令官になるためには素質や役職、専門知識とは関係ないトレーニングで学ぶことができるスキルと捉えており、そういうことを重視していることもあって記載の項目をあえて書いているのかなと思いました。

「教訓:うまくいったこと、うまくいかなかったこと」とかは完全に同じですよね。ただぼくの好きな「幸運だったこと」がなくなってました。

他はメッセージングという項目があり、内部への「何があったのか、そしてこのページがどこにあるのか」をちゃんと報告しろということと、外部に対しても「なにが起きたのか、それに対して何をしたのか」を報告しろと書いてあります。

まとめ

というような細かい違いはあるものの、概ね同じだということがわかりました。

PagerDutyはこれ以外にもインシデント管理ツールなだけのことはあり、インシデント対応マニュアル的なトレーニング用資料が充実しています。興味がれば読んでみると面白いと思います。 https://response.pagerduty.com/