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

03 | SRE切入点:选择SLI,设定SLO

你好,我是赵成,欢迎回来。
还是先来复习下上节课讲的“系统可用性”的两种计算方式,一种是从故障角度出发,以时长维度对系统进行稳定性评估;另一种是从成功请求占比角度出发,以请求维度对系统进行稳定性评估。同时,我们还讲到,在 SRE 实践中,通常会选择第二种,也就是根据成功请求的比例来衡量稳定性:
Availability = Successful request / Total request
SRE 强调的稳定性,一般不是看单次请求的成功与否,而是看整体情况,所以我们会把成功请求的占比设定为一个可以接受的目标,也就是我们常说的“3 个 9”或“4 个 9”这样的可量化的数字。
那么,这个“确定成功请求条件,设定达成占比目标”的过程,在 SRE 中就是设定稳定性衡量标准的 SLI 和 SLO 的过程
具体来看下这两个概念。SLI,Service Level Indicator,服务等级指标,其实就是我们选择哪些指标来衡量我们的稳定性。而 SLO,Service Level Objective,服务等级目标,指的就是我们设定的稳定性目标,比如“几个 9”这样的目标。
SLI 和 SLO 这两个概念你一定要牢牢记住,接下来我们会反复讲到它们,因为落地 SRE 的第一步其实就是“选择合适的 SLI,设定对应的 SLO”。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

SRE实践中的SLI和SLO选择是落地SRE的关键一步。选择合适的SLI指标需要考虑主体稳定性和用户体验,如电商系统可选择请求返回状态码和时延作为SLI指标。VALET方法提供了快速选择SLI指标的途径。SLO的设定需要根据SLI指标制定稳定性目标,同时通过SLO计算系统可用性。文章还介绍了两种系统可用性计算方式,以及SLA和SLO的区别。读者需要掌握对系统指标的分层识别、选择合适的SLI指标和掌握VALET方法。最后,读者被留下一个思考题,需要根据Google提供的规范格式制定自己系统的SLO。

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

全部留言(25)

  • 最新
  • 精选
  • soong
    置顶
    关于SLI和SLO,分析得很清楚!理念上帮助理解,同时还有实践的指引,极具深度!

    作者回复: 非常感谢!也希望与你一起有更深度地交流和探讨。

    2020-03-28
    6
  • 飞鸿无痕
    关于SLI和SLO的选择和制定写得很好,人工点赞。请教一个践行SRE过程中关于SLI选择的疑惑。对于现在的微服务架构,会有非常多的服务,而且其中包含有很多关键服务模块,比如订单、购物车、商品等等,我们在选择SLI的时候,各个服务都会有对应的错误率和访问延迟,但是反应系统稳定性又是一个综合的体现。请教赵成老师,在微服务架构下,应该如何合理的地选择SLI来反应系统的整体稳定性?

    作者回复: 这是一个很好的问题,其实我们接下来的一篇内容就要讲到这个具体的问题,可以耐心等待一下。

    2020-03-25
    8
  • Nick
    通过SLI和SLO, 是不是只能判断在一个时间范围内是否都达标. 但没法做到像前面的那个时间纬度那样的3条9和4条9这样的表. SaaS的服务承诺好像是用类似时间维度那样的3条9, 4条9这样的故障时间评判表.

    作者回复: SLO同样可以做到的3个9或4个9这样的定义的,具体可以看04的Error Budget这部分内容。 其实,即使是针对时间维度的定义,这里还会有一个问题,就是怎么算可用时长,怎么不可算,最终归根结底还是要落到SLI上面。 这部分内容比较多,可以花点时间好好消化下。

    2020-03-23
    3
  • leslie
    老师分享的标准要翻墙、、、我就基于课程内容谈谈吧,觉得课程中的东西结合之前运维体系课程可以理解缘由。 “SLO 是 SLI 要达成的目标。”一个是等级一个是分数;就如同“Availability = SLO1 & SLO2 & SLO3”公式一样;这就如同行业等级测评一样,到达某个等级必须多项条件都只要达到一个分数。 浅谈一下DatabaseSystem这块的吧:这块云服务中其实蛮多的,简单谈一下,这个其实是一段时间爱你观察的一个积累吧; 失败请求的次数、CPU使用率、内存使用率、IO使用率、数据的增长率,对应的标准其实各个行业有各自的特性,云服务一概而论的评级评分个人一直觉得有不少错,当然这也就是人为监控的价值。 如果没有特性,估计去年大会所谓的10%的专业运维都不用了,2-5%-特性创造价值。

    作者回复: 分享的很好。系统打分是基于系统运行过程中的多个指标综合评判得出的。 云厂商定的标准我们一般称之为SLA,不一定是错误,但肯定是相对简单和通用一些,因为它是要面向更大范围的客户的,定的太过精细反而不易于执行。

    2020-03-23
    3
  • Pixar
    关于SLO计算系统可用性有个疑问,希望老师可以帮助解答一下。 我们的可用性目标最终设定在几个9上,比如每天的可用性是99.9 %, 通过第一种计算方式(根据成功的定义)可以很方便的计算: (1天内的成功请求数)/(一天内的请求总数). 但是通过SLO1 &SLO2 & SLO3 这种计算方式如何计算出该系统在一天内的可用性呢?

    作者回复: 按天算可能留给我们的budget会比较少,建议还是以4周为单位去算。 多个SLO,如果有一个不达标,其实就是稳定性不达标了。

    2020-05-06
    1
  • GAC·DU
    老师人工介入是2票,错误率是2.4%,那么可用率99.3%是怎么算的呢

    作者回复: 这个问题可以描述的详细些吗?我没有理解的很清楚。

    2020-03-27
    3
    1
  • oci
    分析得清楚sli和slo

    作者回复: 谢谢,能让大家更清晰的理解这两个概念,就是本篇内容的目的。

    2020-03-26
    1
  • Browser
    量化的很好,有收获

    作者回复: 不量化,就无法表达。

    2020-10-19
  • 飞鸿无痕
    在指定SLO的时候,可用性比较好评估,还有一个指标是服务的RT,一个服务一般会提供多个接口,对于其中某一个或者某几个接口RT比较长的常见(比如:一个服务80%的接口返回都在30ms,但是有几个接口返回是300ms左右,针对RT的SLO要怎么设置才比较合理?),这种应该如何来确定SLO呢?

    作者回复: 建议分接口评估,而且要关注关键核心接口。

    2020-10-09
  • James-东方
    真的太棒了!内容我感觉就是SRE的BIBLE

    作者回复: 哇,这评价太高了

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