📟
フレームワーク #DevOps #SRE #チーム設計 📚 SREワークブック

オンコール設計

エンジニアが持続可能な形でオンコール当番を担えるようにするための設計原則。過負荷を防ぎ、心理的安全性を確保する

定義

オンコール(On-Call)とは、本番サービスの異常に24時間365日対応するための当番制度。持続可能であるためには、ただの「当番」ではなく、システムとして設計する必要がある

なぜ重要か

設計なしのオンコールは:

  • 夜中の頻繁なページングで睡眠を奪う
  • 同じエンジニアへの集中(バスファクター1)
  • 燃え尽き・離職の原因

適切に設計されたオンコールは:

  • 対応できる人材の分散
  • インシデントを通じたサービス理解の深化
  • サービスの信頼性改善への動機付け

適切なオンコール負荷の基準(Googleの目安)

  • 1シフト(12時間)あたりのインシデント:2件以下
  • 週のオンコール比率:25%以下(週4日中1日相当)
  • 2人ペア制:プライマリ + バックアップで単一障害を防ぐ

適用場面

  • 新しいサービスのオンコール体制を設計するとき
  • 「オンコールが辛くて続けられない」と言うメンバーが出たとき
  • インシデント対応に熟練していないメンバーをオンボードするとき

ベストプラクティス

シフト設計

  • 12時間シフト(24時間連続は避ける)
  • タイムゾーンをまたぐグローバルチームでは「Follow the Sun」方式
  • 週次でローテーション(特定の曜日に偏らせない)

ハンドオフ

  • シフト交代時に「現在進行中の問題・未解決アラート・直近の変更」を引き継ぐ
  • ランブック(操作手順書)をインシデントチケットにリンク

オンコール中のプロジェクト時間

  • 反応的対応だけで時間を使い切らないよう、50%はプロジェクト作業に充てる
  • 過負荷なら即座にエスカレーション

心理的安全性

  • 「対応が遅かった」「判断が間違っていた」を責めない
  • ポストモーテムで学習に変える

出典

Google SRE Workbook(Betsy Beyer他)第8章「On-Call」