SRE 实战手册
15
15
1.0x
00:00/00:00
登录|注册

04 | 错误预算:达成稳定性目标的共识机制

你好,我是赵成,欢迎回来。
上一讲是我们引入 SRE 的关键,我们掌握了选择 SLI 指标和设定 SLO 目标的方法。你可以先回顾一下内容,看看是不是能回答这三个问题:选择 SLI 的两大原则是什么?VALET 法则是什么?怎么来计算 SLO?如果答案都很清晰,那么恭喜你,你攻克了 SRE 的一个关键知识点;如果有点模糊,那就回去复习一下,咱不求快,但求扎实。
今天,我们就顺着 SLO 这条线,继续深入,一起来看有了 SLO 之后,围绕着它我们可以做哪些事情,或者说我们具体应该怎么来应用 SLO 呢?还有,SLO 设定后,是合理还是不合理,我们应该用什么样的方法来评估呢?如果设定得不合理,我们又应该怎么来调整呢?
带着这些问题,开始我们今天的学习。

落地 SLO,先转化为 Error Budget

SLO 是目标,定目标总是一件激动人心的事,但是目标定了之后,这个目标怎么能指导我们的具体工作呢,有时候就没那么一目了然了。
这么说有点抽象,我举个生活中的例子。你通过好几轮考试,拿到了驾照,现在你可以开车上路了。交管局的目标就是你要遵守交规,安全驾驶。这个目标咋实现呢?我们都知道了,就是驾照记分制。你的驾照在 1 年的这个周期里,总共有 12 分,扣完了驾照失效,这样你就会关注自己还有几分,特别注意交规。用这个方式,就把你要趋近 100% 遵守交规的目标转变为你一年只有 12 分可扣,一个大目标就有了很具体的落地形式。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

SRE中的错误预算机制是如何帮助团队达成稳定性目标的?本文通过生动的比喻和实际案例,深入浅出地介绍了错误预算的概念及其在SRE中的应用。文章详细阐述了四种应用错误预算的方式,包括稳定性燃尽图、故障定级、稳定性共识机制和基于错误预算的告警。通过错误预算的量化和标准化,团队可以更直观地监控稳定性目标的达成情况,并在实际工作中推进达成共识。此外,文章还强调了跨团队沟通共识机制的重要性,以及如何衡量SLO的有效性。总的来说,本文对SRE中的关键概念和实践方法进行了全面而深入的介绍,对于想要提升系统稳定性的技术人员具有一定的参考价值。 文章还提到了如何衡量SLO的有效性,从SLO达成情况、人肉投入程度和用户满意度三个维度进行评估,进而调整和优化SLO和错误预算策略。此外,对于不同情况下的应对方式也进行了详细的讨论,包括收紧SLO、放宽SLO和保持现状,并给出了相应的策略建议。最后,文章提出了一个思考题,引导读者思考在其团队中如何制定故障等级的标准。 总的来说,本文通过具体案例和实用建议,深入探讨了错误预算在SRE中的应用,以及如何衡量SLO的有效性,对于想要提升系统稳定性的技术人员具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《SRE 实战手册》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(24)

  • 最新
  • 精选
  • 于加硕
    之前我们是按照故障范围来制定,例如多个服务,核心服务,网络区域,IDC等来划分等级区间。 文中提到告警这块我分下我自己实践:告警这块很多都是通过(监控产品本身优化)收敛,聚合等优化,其实还可以通过运营的角度进行优化,通过对告警信息进行多维度的统计分析,为优化指明方向,参考:https://blog.csdn.net/qq_17472959/article/details/105001854 a.面向SRE - 告警总量统计 #清晰直观的告诉SRE每天的历史总告警趋势 - 各个业务线告警数量分析(统计数量与占比) #告诉SRE我们应该去关注那条业务线的告警 - 所有服务告警数量分析(统计数量与占比) #便于服务负责人第一时间知道服务告警情况 - 所有主机告警数量分析(统计数量与占比) #便于SRE精准定位是否由于个别主机造成的告警总量上升 - 各业务线告警明细分析(以此向下展示业务维度统计结果,服务维度统计结果,主机维度统计结果,告警类型统计结果) #通过这样的层级展示,基本就理清了告警的构成 b.面向监控 - 告警类型分析(统计各类告警数量与占比) #目的告知监控系统负责人,有些监控项,或阈值需要关注与优化 c.面向研发 - 研发告警分析(统计研发名下所有项目告警数量与占比) #如果是应用造成的长期告警,需要研发关注这个,共同优化告警

    作者回复: 很好的补充分享,感谢。

    2020-04-07
    8
  • Nick
    文中有一段是这样描述的:“假设在 4 周的时间,这个应用所有的请求次数是 4,653,680,按照给出的 SLO 反向推导,就可以得到容许的错误次数,这就是错误预算。” 我有个疑问,4周内的总请求数是未知的,而且不是固定的,那这样错误预算无法提前制定阿?

    作者回复: 这是非常好的一个问题。 通常我们队业务访问量或请求次数会有一个基线设定(根据历史情况推算),也就是未来一段时间内大致会有多少请求,然后结合这个次数进行估算,最终会以实际情况计算得出。 对于电商大促这样的特殊场景,也会有一系列的复杂算法结合历史大促的情况来评估一个基线数值。

    2020-04-26
    2
    6
  • lyonger
    感觉先要结合自身的系统或者应用做好各种数据分析,采集好SLI相关数据。接着推动周边团队达成共识,形成规范,这个推动只能靠大佬。有了规范和数据,就可以进行量化,出了问题大家不会互相甩锅。

    作者回复: 运维也应该利用好数据,这个就是技术运营的思路了。

    2020-03-28
    2
    4
  • 于加硕
    推广SRE体系采用自上而下的方式。前提是我的上级要非常相信SRE能产出成果,于是我应该先做出一些SRE尝试的案例且取得成果,并向上影响。既而达成自上而下?目前想这么干,可行不赵老师?

    作者回复: 通过小投入得到一定产出,让领导看到结果,再继续推进,循序渐进,很好的策略。

    2020-04-07
    3
  • leslie
    老师的3种划分其实蛮典型:这其实是不少企业挺典型的。 有些可能就更加粗暴点了:硬件问题-这个不背锅,备件/备用备用都出问题-你就被背吧; 系统问题:特例且及时上报了-不背,误操作导致或者隐瞒导致问题扩大了-等着大板子吧; 软件问题:有背锅侠供应商的那就他们了,没有且解释影响使用-等着处理吧。 其实结合运维体系那门课穿插-挺好的;挺容易理解。谢谢今天的分享。

    作者回复: 谢谢! 关于这个问题,我在后面的故障复盘中会写到,到底应该怎么划分责任。关键在于,定责不是为了处罚谁,而是承担改进的责任。

    2020-03-25
    2
    1
  • 终身学习者
    我们的故障定级和业务影响相关,这个要具体和应用、业务方进行沟通,确定实际业务影响时间、范围、损失金额,然后根据制定的标准进行对应。但是沟通过程也是个麻烦事。

    作者回复: 在定级时是可以考虑与业务指标挂钩的,比如资金、用户量等等

    2020-03-31
  • soong
    产品处于验证阶段,目前暂未有故障定级,通过学习,愈发强化了建立稳定性共识的重要性,有必要立即着手建立一套关于稳定性的运作机制!

    作者回复: 对于故障和问题的共识很关键,因为每个人的理解不同,这就会造成技术团队非常被动。

    2020-03-31
  • 黑暗天使
    像基础服务如何定义slo,如db,缓存,消息中间件等服务,他们一般出问题,虽然一般都会反映到应用定的slo来,但一般公司应用运维应用的告警,基础服务团队接基础服务的告警,这样基础服务团队按照应用的用户体验还是几xx错误率有点行不通,这里有什么好的办法定义slo与sli么

    作者回复: 很好的问题。 我在文中也讲到,如果我们本身就是负责DB、缓存和消息维护的,那这时它们的指标就是我们定义SLI和SLO的基础,定义的方法和思路仍然适用VALET方法。 我文章提到的案例大多是以业务系统举例,所以我们更强调从用户使用体验的角度出发。

    2020-03-26
  • lhc
    故障定级确实有点难。可分为几类情况 交易强相关: 定级严格,如客诉超过10并且成功率持续(5分钟)时间小于80%并且错误码大于20 定为pX,其他类似。 资金相关:涉及到资损,大于500小于1000 p4,大于1000 p3等等 接囗:根据成功率加错误码的持续时间来定。 故障定级一定要拉上各方一起定级,定的太高太低都不太好。

    作者回复: 从业务角度,用钱的损失来定是最直接的,从系统角度,用技术术语来定会更有针对性,这两者不矛盾。 故障定级确实是比较复杂的,需要与周边达成一致才可以。

    2020-03-25
  • Helios
    我们公司没啥故障定级,在客户内部署之后,如果遇到问题反馈给我们,然后开发反馈要多长时间能修复或者客户要求多长时间修复,等修复之后给客户一个补丁包😂 如果收到客户反馈必须要修复的问题,我们一般就是最高优先级,如果是能在下一个迭代中解决,那就在下个迭代中解决。 故障评级个人感觉主要是为了给一个响应的优先级(还有后续追责~),对于我们这种业务,目前只有一种优先级感觉还挺适用,请问老师有什麽建议没~

    作者回复: 跟客户也可以达成一致,就是在什么情况下紧急,什么情况下不紧急,也就是跟客户也可以定SLO和Error Budget,这个策略其实就是Google的CRE策略。 我第一门课中有专门的一个章节是介绍CRE的,可以翻出来看一下。

    2020-03-25
收起评论
显示
设置
留言
24
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部