On-Call 輪值

★★★★Draft

FromSRESRE Workbook

📚 From the Books

On-Call 輪值Incident Response

On-Call 是維持可靠度的必要工作,但組織不當會反過來燒掉團隊。SRE 的解法是用工程手段解決運維問題,並同時管住 On-Call 的「數量」與「品質」——別讓值班變成無止境的救火。

🧠 Intuition

TIP

反應時間是被可用度目標反推出來的:99.99% 季度可用 → 一季只能宕約 13 分鐘 → 工程師必須分鐘級到位。時效需求越高,值班紀律就得越嚴。

⚖️ Tradeoffs

數量平衡 — 用「25% 規則」反推最小團隊規模
  • 至少 50% 工程時間 → 至多 25% On-Call → 剩 25% 處理其他運維。
  • 假設隨時有主/副 2 人、以週為單位輪:單地點最少 8 人(每人每月值 1 週);雙地點各最少 6 人(兼顧規則與最小臨界量)。
  • 團隊夠大時優先做多地點 follow the sun:避開有害健康的夜班、限制單地點值班密度;代價是跨地點協調成本。
  • 反面陷阱是負載不足——太久不碰生產會讓自信與知識斷層只在事故時才暴露。對策:每人每季至少值 1–2 次,配合 Wheel of Misfortune 與年度 DiRT 災難演練。
品質平衡 — page 頻率的分佈要「平」,中位數最好是 0
  • 一次事件(根因 + 修復 + 事後檢討)平均耗 6 小時 → 一輪 12 小時值班最多吃得下 2 件。
  • 所以 page 頻率分佈要平:某元件天天 page,遲早會疊上別的事件而爆掉。超標時就本季暫停部分工作、調外援、或改善告警。
  • 運維過載多半源於監控誤配:每個 page 都要對應 SLO 威脅且可採取行動、一個事件只該觸發一個 page(其餘由監控聚合)。
  • 最後的平衡閥是把 pager「還給」開發團隊,讓他們自己值到系統達標——很少動用,但這個選項的存在維持了「可靠性 vs. 速度」的健康張力。

🔑 Takeaways

✍️ My Notes

No notes yet — jot your takeaways or Q&A here.

📖 Further Reading

🔗 Dive Deeper