SRE方法论之服务质量目标

简介: 为了量化客户对服务可靠性的期望,找到客户对可靠性满意的点,我们需要制定针对用户的服务质量目标,并且努力去达到这个质量目标。在这个过程中,我们需要定义一些服务质量指标(SLI)、服务质量目标(SLO),以及服务质量协议(SLA)。这三项分别是指该服务最重要的一些基础指标、这些指标的预期值,以及当指标不符合预期时的应对计划。

为了量化客户对服务可靠性的期望,找到客户对可靠性满意的点,我们需要制定针对用户的服务质量目标,并且努力去达到这个质量目标。在这个过程中,我们需要定义一些服务质量指标(SLI)、服务质量目标(SLO),以及服务质量协议(SLA)。这三项分别是指该服务最重要的一些基础指标、这些指标的预期值,以及当指标不符合预期时的应对计划。

一、服务质量术语:SLI、SLO、SLA

指标

服务质量指标(SLI):服务的某项服务质量的一个具体量化指标。常见的SLI包括请求延迟(处理请求所消耗的时)、错误率(请求处理失败的百分比)、系统吞吐量(每秒请求数量)、可用性(服务可用时间的百分比,运维行业经常用9的数量来描述可用程度。例如,99%可用性被称为“2个9”,99.999%被称为“5个9”)。SLI也可以是一些业务指标,例如用户投诉率之类的。重点是可量化、可确定的。

目标

SLO是服务质量目标(Objective):服务的某个SLI的目标值,或者目标范围。SLO的定义是SLI≤目标值,或者范围下限≤SLI≤范围上限。例如,对于搜索服务来说,用户希望返回结果的速度应该是很“快”的,那么我们可以定义一个SLO,要求搜索请求的平均延迟小于100ms。

协议

SLA是服务质量协议(Agreement):指服务与用户之间的一个明确的,或者不明确的协议,描述了在达到或者没有达到SLO之后的后果。这些后果可以是财务方面的退款或者罚款,也可以是其他类型的后果。区别SLO和SLA的一个简单方法是问“如果SLO没有达到时,有什么后果?”,如果没有定义明确的后果,那么我们是在讨论一个SLO,而不是SLA。

二、SLI、SLO、SLA制定原则

1、以用户体验为中心

服务的服务质量指标有很多,不可能将监控系统中的所有指标都定义为SLI。只有理解用户对系统的真实需求才能真正决定哪些指标是否有用。
比如对于搜索服务,用户通常关心可用性、延迟,以及吞吐量。换句话说:是否能正常处理请求?每个请求花费的时间是多少?多少请求可以被处理?对于存储系统来说,用户会关注延迟、可用性和数据持久性,换句话说:读写数据需要多少时间?我们是否可以随时访问数据?数据是否一段时间内还能被读取?

2、量力而行

资源是有限的,在选择SLO时要注意不能过于追求完美。例如1s内加载好用户就很满意了,如果非要设置20ms内加载完毕、或者成功率为100%,这些都是很难达到或者要付出很大的成本才行,投入产出比很低。

相关文章
|
存储 运维 监控
SRE方法论之监控设计
监控系统的四个黄金指标是:延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)
|
Cloud Native 前端开发 IDE
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
本文作者将给大家提供一些简单的容易实操的方法,能够让所有人都知道什么是效能的提升,如何提升个人的效能,如何提升团队的效能。
1698 13
「技术人生」第10篇:如何做研发效能提升(即指标体系建设过程回顾)
|
敏捷开发 程序员
从业务侧视角如何度量研发效能
从业务侧视角如何度量研发效能
564 0
从业务侧视角如何度量研发效能
|
数据采集 安全 机器人
RPA实施路线图的长远考虑
自动化仍然是增长最快的企业软件类别之一,研究机构Gartner公司在最近发布的一份报告中预计,全球RPA软件收入将比去年增长近20%。
155 0
RPA实施路线图的长远考虑
|
Devops
DevOps研发模式下「产品质量度量」方案实践
DevOps研发模式下「产品质量度量」方案实践
717 0
DevOps研发模式下「产品质量度量」方案实践
|
新零售 缓存 运维
如何做好一名稳定性SRE--业务团队系统稳定性的思与行
稳定性目前不再局限于大促时的保障和平时的稳定性轮值,越来越体系化,本文基于作者在业务团队工作过程中的沉淀,以及在盒马2年SRE的实战经验,从稳定性心态、监控体系、故障应急体系、资源体系、大促保障机制、日常保障机制等几个层面,就如何做好SRE的工作进行了分享。
11039 3
如何做好一名稳定性SRE--业务团队系统稳定性的思与行
|
项目管理 持续交付 前端开发
为什么你的高效交付,却没有好的业务成果?
11月中旬,作者在 TOP 100 案例和人人都是产品经理的两次大会上分别进行了两场关于价值交付的分享,结合分享后的反馈焦点,立足业务整体交付的价值最大化,特产此文。
2060 0
为什么你的高效交付,却没有好的业务成果?
|
运维 Devops 测试技术
建立数据指标体系,推动 DevOps 全链路度量闭环
上一篇文章《苏宁消费金融在DevOps阶段度量设计的落地》中,我们提到金融行业的信息化和数字化的进程不断加快,促使IT部门的敏捷交付和精益运行的能力急需提高,因此 DevOps 的全链路度量体系也应运而生,建立健全的度量体系的需求在 DevOps 领域具有普遍性,有助于在更大范围内快速实现可度量的价值交付,拓展了业界的 DevOps 适用范围,有助于更好提升组织级的质量和效率。
641 0
|
数据可视化 架构师 机器人
RPA成功实施落地的7个关键因素详解(中)
本篇文章或许能让你大为吃惊,因为它将和你所看到的绝大部分RPA介绍文章不太一样,你将从中了解到RPA并非是万能的,同时并非所有自动化需求都适合用RPA来解决,能否成功实施RPA解决方案,关键甚至不再于这个RPA技术的本身,而与企业内部业务管理思想有关系。
|
自然语言处理 安全 架构师
RPA成功实施落地的7个关键因素详解(上)
RPA(机器人流程自动化)是基于计算机编码以及基于规则的软件,通过执行重复的基于规则的任务来将手工活动进行自动化的一种技术,这个技术通过录制模拟人电脑端鼠标点击、键盘敲打的行为。