# SRE Book - Chapter 29: Dealing with Interrupts ## 要約 本章は、SRE が日々直面する割り込み(インタラプト)への対処法を論じる。運用負荷をページ、チケット、継続的運用責務の3種に分類し、それぞれの管理手法を Google の実践に基づいて示す。人間の認知的フロー状態(cognitive flow state)に着目し、コンテキストスイッチのコストを正面から認めたうえで、「時間の二極化(polarizing time)」という原則を提唱する。すなわち、エンジニアは出勤した日にプロジェクト作業だけをするか割り込み対応だけをするかを明確にすべきであり、両者を混在させると生産性も幸福度も低下する。さらに、チケットの根本原因分析、ポリシーを活用した負荷の押し戻し、プッシュマネージャーのような役割の定義など、割り込み総量を削減する具体的手法を提示する。 ## 主要概念 - **運用負荷(operational load)の3分類**: ページ(本番アラート、分単位の応答 SLO)、チケット(顧客要求、時間〜週単位の応答 SLO)、継続的運用責務(フラグロールアウト等、明確な SLO なし)。これらが SRE の作業を構成する割り込みの全体像である。 - **認知的フロー状態(cognitive flow state)**: 集中が深まり生産性と創造性が最大化される心理状態。割り込みはこの状態を破壊するため、フロー状態の維持時間を最大化することが重要である。 - **割り込み中のフロー**: 割り込み対応に専念すると、割り込みは割り込みでなくなる。チケットを処理しページに対応すること自体が明確な目標とフィードバックを持つフロー対象になる。このとき、プロジェクトこそが気を散らす要因となる。 - **時間の二極化(polarizing time)**: コンテキストスイッチにコストを認め、1日または1週間を「プロジェクト専念」か「割り込み専念」のいずれかに分ける。20分の割り込みは実質的に数時間の生産的作業を失わせる。 - **コンテキストスイッチのコスト**: エンジニアを自由に中断可能な作業単位と見なすのは、コンテキストスイッチが無料であるという誤った前提に基づく。スイッチには明確なコストがある。 - **傍観者効果の回避**: Google ではオンコールシフトを1人で担当し、チームへの割り込みの拡散と傍観者効果を最小化する。 - **チケットの根本原因分析**: 多くのチームがオンコールの引き継ぎやページレビューを行うが、チケットについて同様の分析を行うチームはごく少ない。根本原因の特定と修正が割り込み総量の削減につながる。 ## 実践的指針 - オンコールのプライマリはオンコール業務に専念し、プロジェクト作業の進捗は期待しない。オンコール週はプロジェクトの観点では「帳消し」にする - チケットをチームメンバーにランダムに自動割り当てすることをやめる。チケット対応は専任のフルタイムロールにする - 割り込み量が1人で処理しきれない場合は、もう1人を追加する。チーム全体に薄く分散させない - 継続的運用責務(ロールアウト等)について、「プッシュマネージャー」のようにオンコール期間中に引き継ぎ可能な役割を定義し、引き継ぎプロセスを形式化する - チケットの引き継ぎとオンコールの引き継ぎを同等に重要視し、定期的な棚卸し(スクラブ)で根本原因を調査する - 修正可能な根本原因が見つかったら、修正完了までその種の割り込みを抑止(サイレンス)する - ポリシーを活用して顧客に一定の作業負担を求め、チームの負荷を管理可能にする。顧客への敬意と自チームへの敬意のバランスをとる - 割り込み対応中でない人がチケットに手を出すのを控える。負荷の実態が見えなくなり、チケットキューの管理可能性を誤認させる ## 関連 - [[@2016__OReilly__SRE Book - Chapter 1 Introduction]] - [[SRE Book]] - [[SRE]] - [[@2016__OReilly__SRE Book - Chapter 11 Being On-Call]](オンコール運用の詳細) - [[@2016__OReilly__SRE Book - Chapter 5 Eliminating Toil]](トイルの削減) ## 出典 Beyer, B., Jones, C., Petoff, J., Murphy, N. R. (eds.) *Site Reliability Engineering: How Google Runs Production Systems*, O'Reilly Media, 2016. Chapter 29: "Dealing with Interrupts" (Written by Dave O'Connor, Edited by Diane Bates).