SRE实战手册
赵成
蘑菇街技术总监
立即订阅
3790 人已学习
课程目录
已完结 13 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词|SRE是解决系统稳定性问题的灵丹妙药吗?
免费
基础篇 (5讲)
01|SRE迷思:无所不能的角色?还是运维的升级?
02 | 系统可用性:没有故障,系统就一定是稳定的吗?
03 | SRE切入点:选择SLI,设定SLO
04 | 错误预算:达成稳定性目标的共识机制
05 | 案例:落地SLO时还需要考虑哪些因素?
实践篇 (5讲)
06 | 故障发现:如何建设On-Call机制?
07|故障处理:一切以恢复业务为最高优先级
08|故障复盘:黄金三问与判定三原则
09|案例:互联网典型的SRE组织架构是怎样的?
10 | 经验:都有哪些高效的SRE组织协作机制?
结束语 (2讲)
结束语|聊聊我的SRE落地心路历程
答疑|没什么能阻挡你拓展边界的渴望
SRE实战手册
15
15
1.0x
00:00/00:00
登录|注册

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

赵成 2020-03-23
你好,我是赵成,欢迎回来。
还是先来复习下上节课讲的“系统可用性”的两种计算方式,一种是从故障角度出发,以时长维度对系统进行稳定性评估;另一种是从成功请求占比角度出发,以请求维度对系统进行稳定性评估。同时,我们还讲到,在 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/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《SRE实战手册》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(13)

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

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

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

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

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

    作者回复: SLO同样可以做到的3个9或4个9这样的定义的,具体可以看04的Error Budget这部分内容。

    其实,即使是针对时间维度的定义,这里还会有一个问题,就是怎么算可用时长,怎么不可算,最终归根结底还是要落到SLI上面。

    这部分内容比较多,可以花点时间好好消化下。

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

    作者回复: 分享的很好。系统打分是基于系统运行过程中的多个指标综合评判得出的。

    云厂商定的标准我们一般称之为SLA,不一定是错误,但肯定是相对简单和通用一些,因为它是要面向更大范围的客户的,定的太过精细反而不易于执行。

    2020-03-23
    2
  • oci
    分析得清楚sli和slo

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

    2020-03-26
    1
  • 小子
    可用性这块,有点没理解,还请老师指点,Availablity(可用性)代表服务是否正常,这句话,我只能理解,服务负载不高,能正常接收请求,即使4xx也归结为正常,但是在延伸点,400能代表这个服务正常么?最近就碰到开发上线导致400了,就是有点纠结这个定义,应当怎样正确理解呢?
    2020-07-07
  • Geek_齐迹
    接上一个问题,我们也考虑过直接通过应用最终可用性来衡量数据库的可用性,但是往往数据库的一些小问题并不会在业务上有很明显的感知,一出问题都是大问题,所以希望通过设定一些过程管理slo来防止这种雪崩发生。
    2020-06-05
  • Geek_齐迹
    请问一下老师,对于数据库而言有哪些比较好的sli呢?比如主从延迟时长,慢SQL数量这些适合作为sli吗?还有别的指标可以比较客观的反应数据库的可用性。希望可以听到老师的解答和经验分享。
    2020-06-05
  • mickey
    多数情况下各层的SLO是由关联关系的,将需要将SLO检测的指标联动、统一来看,从而更快定位问题,更快解决问题,更快缩短MTTR时间。
    2020-05-18
  • 蜗牛
    关于SLO计算系统可用性有个疑问,希望老师可以帮助解答一下。 我们的可用性目标最终设定在几个9上,比如每天的可用性是99.9 %, 通过第一种计算方式(根据成功的定义)可以很方便的计算: (1天内的成功请求数)/(一天内的请求总数). 但是通过SLO1 &SLO2 & SLO3 这种计算方式如何计算出该系统在一天内的可用性呢?

    作者回复: 按天算可能留给我们的budget会比较少,建议还是以4周为单位去算。

    多个SLO,如果有一个不达标,其实就是稳定性不达标了。

    2020-05-06
  • 天草二十六
    自己看书总是很慢,音频结合文字看看还是更好
    2020-04-05
  • 海格
    看完这篇,我就知道如何设定SLI和SLO了,干货满满,接着来就是自己动手实践了,

    作者回复: 也期待你的实践分享奥。

    2020-04-02
  • AIK
    老师人工介入是2票,错误率是2.4%,那么可用率99.3%是怎么算的呢

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

    2020-03-27
收起评论
13
返回
顶部