消除琐事:SRE 的事务性工作治理

概述 Google SRE Book 中有一条经常被引用的原则:SRE 团队的琐事工作不应超过总工作时间的 50%。这条原则看似简单,但在实践中,很多 SRE 团队的琐事比例远超 50%——有的甚至达到 80% 以上。 为什么 SRE 要如此认真地对待"琐事"?因为琐事是可靠性的隐形杀手: 琐事占用大量时间,让工程师没有精力做真正提升可靠性的事 琐事通常是手工操作,容易出错,反而引入新的故障 琐事导致 burnout,优秀工程师流失 琐事无法规模化——系统增长 10 倍,琐事也增长 10 倍 从 toil 的定义与判定、琐事来源分析、自动化消除路径、50% 上限原则、度量与追踪方法到团队实践,详细梳理如何治理事务性工作。 关于 toil 的系统论述,可参考 Google SRE Book - Eliminating Toil。 一、Toil 的定义与判定 什么是 Toil Google SRE 对 toil 的定义是: 与运行生产服务相关的、手动的、重复的、可自动化的、战术性的、无持久价值的、与服务规模成正比增长的工作。 这个定义包含六个关键特征,缺一不可: 特征 含义 示例 手动的 需要人工操作而非自动执行 手动扩容、手动清理日志 重复的 不是一次性的,会反复出现 每次发布都需要手动修改配置 可自动化的 有明确的规则和步骤,机器能做 手动检查磁盘空间并清理 战术性的 被动响应而非主动规划 救火式处理告警 无持久价值的 做完之后没有产生可复用的产出 手动重启服务(没有改进自愈机制) 与规模成正比 系统增长,工作量同步增长 每增加一台服务器就需要手动配置一次 什么不是 Toil 识别 toil 的同时,也要识别什么不是 toil,避免把有价值的工作误判为琐事:...

July 24, 2024 · 9 分钟 · 1800 字 · 徐保金