《SRE:Google 运维解密》读书笔记04: 拥抱风险管理 - 从“零故障”到“理性风险”

张开发
2026/4/13 8:11:26 15 分钟阅读

分享文章

《SRE:Google 运维解密》读书笔记04: 拥抱风险管理 - 从“零故障”到“理性风险”
作者: andylin02学习章节第3章 拥抱风险管理关键词可靠性、风险容忍度、错误预算、成本收益分析一、引言从“零故障”到“理性风险”在传统运维世界里“100%可用性”常被奉为终极目标。然而Google SRE 团队却提出了一个反直觉的观点拥抱风险而不是消灭风险。这并非鼓励粗心大意而是强调一种工程化的风险管理思维——过高的可靠性会带来边际成本爆炸同时扼杀创新。本章的核心就是教会我们如何为服务设定合理的可靠性目标并在风险、成本和用户满意度之间找到平衡点。二、核心观点速览传统观念SRE 观点可靠性越高越好超过一定阈值后高可靠性反而有害故障是敌人故障是风险管理的自然结果可被预算化运维团队独自担责产品团队与 SRE 共同通过“错误预算”决策追求 100% 可用性追求“足够好”的可用性留出创新空间三、详细内容拆解3.1 为什么要“拥抱风险”1. 100% 可用性的不可能性与成本任何系统都有不可预知的故障电源、网络、人为失误。从 99.9% 提升到 99.99%可用性只提高 0.09%但成本可能翻倍。用户无感知用户很难分辨 99.99% 与 99.999% 的差别却会明显感受到新功能缺失。2. 成本的两种形式资源成本冗余机器、多机房、跨地域部署等直接费用。机会成本工程师投入稳定性建设就无法投入新功能开发。Google 经验一个产品过早追求高可靠性往往会输给迭代更快的竞争对手。3.2 风险管理SRE 的风险观SRE 将风险视为一个连续谱而不是“有/无”的二元状态。目标是“明确地将运维风险与业务风险对应起来”。案例Google 搜索的 SLO 为 99.99%而 Google Photos 早期可能只需要 99.9%。因为相册服务故障不会直接影响搜索广告收入。3.3 如何度量服务的风险Google 主要使用“基于请求的成功率”来定义可用性可用性 成功请求数 / 总请求数比“基于时间的可用性”更精确因为部分故障如延迟增加、少量错误不会导致完全停机。北极星指标对于业务可能定义“订单成功率”、“视频播放成功率”等核心业务指标。实例一个日请求量 250 万次的服务要达到 99.99% 可用性每天允许的错误请求数 ≤ 250 次。这给开发团队一个清晰的“风险预算”。3.4 风险容忍度如何为服务设定 SLO评估风险容忍度时需要回答以下问题问题考量因素用户期望什么水平免费 vs 付费企业 vs 个人是否直接影响收入广告系统、电商订单系统要求更高竞争对手如何如果竞品是 99.99%你至少不能差太多成本与收益的 ROI提升一个 9 带来的增量收入是否超过增量成本ROI 计算案例服务年收入 100 万美元。从 99.9% 提升到 99.99%增量可用性 0.09%。增量价值 100 万 × 0.0009 900 美元。如果实现这一提升的成本 900 美元值得做否则不值得。3.5 错误预算Error Budget—— 本章最核心的工具定义错误预算 100% - SLO例如 SLO 99.9%则错误预算 0.1%即每季度允许的不可用时间约为 43 分钟。作用统一决策语言当错误预算充足时可以冒险比如快速发布新版本当预算即将耗尽时应暂停发布优先做稳定性工作。消除部门对立产品经理想要快速迭代SRE 想要稳定。错误预算让双方共同承担风险避免互相指责。量化风险每次事故消耗一部分错误预算团队可以客观判断是否“亏空”。实际应用Google 内部当错误预算消耗 50% 时会发出预警。消耗 90% 以上时自动阻止非关键变更。错误预算每月重置或每季度让团队有时间窗口规划稳定性改进。四、个人思考与延伸4.1 对传统运维的启示很多团队还在用“故障数”或“MTBF”作为唯一考核指标这会导致工程师不敢上线任何有风险的功能。过分追求硬件冗余浪费大量成本。隐藏故障报告文化因为故障意味着失败。引入错误预算后故障不再是“罪过”而是可量化、可管理的“开支”。4.2 错误预算的局限性不适合所有系统例如自动驾驶、医疗设备等安全关键系统错误预算可能为 0。需要精准的 SLO 定义如果 SLO 定义不合理例如只覆盖核心 API 而忽略关键路径错误预算就失去了意义。文化阻力传统组织很难接受“允许一定量的故障”。4.3 国内互联网公司的实践很多大厂已引入“稳定性预算”概念如阿里集团的“可用性额度”。双十一大促前会预留大量错误预算用于压测和变更大促后若预算耗尽则暂停发布。中小企业往往忽略此概念导致“人肉运维”和半夜加班。五、总结关键点一句话概括拥抱风险完全消除风险不可能且不经济要学会管理风险。风险容忍度根据业务价值、用户期望、成本收益确定合理的 SLO。错误预算将 SLO 转化为可操作的决策依据平衡创新与稳定。ROI 分析用数据判断是否值得为更高的可靠性投资。行动建议为你的核心服务定义一个基于请求的 SLO例如 99.9%。计算错误预算并与产品团队达成一致。建立监控和预警当错误预算消耗过快时自动限制变更。每月/每季度回顾错误预算使用情况指导下一阶段的稳定性投入。六、参考资源《SRE: Google 运维解密》第 3 章原书SRE 书籍官网Google 错误预算介绍视频学习下一章预告第 4 章“服务质量目标” —— 如何正确设定 SLO 和 SLI并避免常见陷阱。本文为个人学习笔记仅用于知识分享。如有错误欢迎指正。

更多文章