工程师希望软件系统既庞大又敏捷,可以在最高水平上运行,并且不影响安全性。 他们希望软件具有扩展能力,设计简单,易于开发和维护。 他们不需要的是更多的缩写词。

SLA代表服务水平协议。 SLA通常跨越业务领域。 它们由跨法律,技术,销售和支持职能的跨职能团队组成。 在所有语言和冗长条件之下,这是一个基本前提-如果该软件无法按预期运行,则我们的一位工程师将在规定的时间内对其进行修复。 本文档的其余部分是此工程职责的多层。

SLA涵盖了可接受的解决方案时间,性能预期,服务/服务器的正常运行时间以及无数其他参数的定义。 参数的包含和排除取决于卖方/公司所同意的可用性的良好度量。 这遭受了令人遗憾的二分法。 所有这些定义都是基于试探法和假设进行的。 很少基于观察实际用户行为或与应用程序的交互的基础。

拥有SLA并不能保证您更好地了解用户需求。 但是将它们放在适当的位置具有优势。 SLA在冲突期间提供通用的词汇表,并在发生争执时帮助解决。 它们帮助提供服务的公司定义其人力需求,并确定工程师的职责。

工程师必须了解SLA,这一点很重要。 他们需要了解其中的定义和参数。 它有助于使单个工程师意识到他们的职责,并创建一种意识文化。 它可以帮助工程师在设计软件系统时设计SLO,以考虑到整个企业的影响。


对于工程师来说,SLO并不是那么抽象。 SLO代表服务水平目标。 工程师构建的每个软件组件都可以有效地提供服务。 该服务必须满足某些要求。 这些要求可以是通用的,也可以是非常具体的。 通用要求的示例可以是“此网关必须连接到支付提供商的API”。 特定的可能是“所有API调用中的99%应该在100毫秒内完成”。

创建SLO很快会成为一个复杂的过程,涉及概率论,演算和其他统计方法以准确预测事件。 创建它们的一种简单明了的方法是监视用户交互,设置适当的阈值并将它们绘制到相关的分位数中。 例如,“使用app.plumbr.io时,少于1%的用户应经历大于5 s的空闲时间”。 SLO通常来自系统预期的特定行为。 重要的是要记住,这些可能超出了分析师和产品经理的范围。

SLO是工程师的最好朋友。 它可以帮助他们定义所构建系统的重要边界。 当工程师有效地使用SLO时,它们可以帮助他们构建准确的系统。 它使工程师可以围绕体系结构考虑进行调整。 在使用相互依赖的系统时,它有助于分析可行性。 SLO还可以通过确定概述SLO时要使用的SLI来帮助工程团队平衡技术活动,权衡取舍并纳入业务考虑因素。


SLI是指标。 讲述故事的数字。 SLI代表服务水平指示器。 一些SLI(例如吞吐量,延迟,可用性和容量)非常常见。 这些指标涉及服务器如何承受负载。 您可以针对每个系统或子系统以不同的方式监视SLI。

错误的SLI选择可能会使工程师对用户的实际经验有非常错误的了解。 区分用户行为的一种方法是将它们划分为源自已认证和未经认证的请求,并监视每个请求的不同参数。 读写请求可以与只读请求分开处理。 清单继续。

这些用户中的每一个都有不同的期望,因此需要针对不同的参数进行测量。 这些用户的业务含义也不同。 故障和瓶颈对接口的影响会影响不同类别的用户,这是决定在哪里进行工程设计的重要方面。 如果SLI可以准确地衡量用户的行为,那么它在更大的事情方案中将起到更加积极的作用。

综上所述,
1. SLI是工程师交流有关系统的定量数据的方法。
2. SLO旨在提供使用SLI定义的一定级别的服务。 3.在了解团队采用的SLO的基础上交换SLA。 4.如果这些定义中未包括用户行为,则它们仍然存在缺陷。

感谢Priit ,感谢他们阅读草稿并帮助编辑该帖子。

图标礼貌Freepik从www.flaticon.com下, CC 3.0许可。

翻译自: https://www.javacodegeeks.com/2018/12/engineers-guide-sla-slo-sli.html

SLA,SLO和SLI工程师指南相关推荐

  1. slo sla_SLA,SLO和SLI工程师指南

    slo sla 工程师希望软件系统既庞大又敏捷,能够在最高水平上运行,并且不影响安全性. 他们希望软件具有扩展能力,设计简单,易于开发和维护的能力. 他们不需要的是更多的缩写词. SLA代表服务水平协 ...

  2. SLO、SLI、SLA是什么?【AIOps智能运维的方向会是SLO吗】

    1. SLO.SLI.SLA名词解释以及关系 2. Why SLO? SLO的目的 SLO 量化客户对可靠性的期望,找到客户对服务的可靠性感到满意的点(额外的可靠性价值微乎其微,此时新功能更加重要) ...

  3. SLA、SLO 和 SLI

    SLA.SLI 和 SLO 是 SRE 工程实践里非常核心的概念,但是大家在同时提到这些概念的时候,经常容易混淆. 长篇大论的文章反而容易使人更加疑惑,还不如画一张示意图说明一下,帮助大家一次性彻底梳 ...

  4. SLO 和 SLI的最佳实践

    我们要给犯错以空间,充分考虑错误预算.否则,开发团队可能会在尝试新功能时过于谨慎,抑制产品的增长.不过作为一般经验法则, SLO 应该比你在 SLA 中详细说明的内容更严格. 在一开始启动 SLO 的 ...

  5. 2016 年最值得程序员阅读的开源书:《全栈增长工程师指南》

    这本书来源于在<Repractise简介篇:Web开发的七天里>中所说的 Web 开发的七个步骤而展开的电子书.当然它也是一个 APP,是一本关于如何成为全栈增长工程师的指南. 编写过程 ...

  6. Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompting等

    Prompt工程师指南[高阶篇]:对抗性Prompting.主动prompt.ReAct.GraphPrompts.Multimodal CoT Prompting等 1.对抗性 Prompting ...

  7. api如何使用_记录API:技术作家和工程师指南

    在这门有关编写REST API文档的课程中,我不只是在谈论抽象概念,而是通过直接的动手方法将REST API关联起来.首先,您将通过使用简单的天气API在站点上放置天气预报来了解API文档. 使用AP ...

  8. 推土机距离_推土机工程师指南

    推土机距离 介绍 Xanadu®项目是最初的超文本项目,是Ted Nelson的创意,也是无数聪明人经过近60年的精心而热情工作的结果. 由于开发周期长,该项目产生并使用了许多重要性各异的想法,尤其重 ...

  9. ai人工智能算法工程师_与AI时代息息相关:阿里巴巴算法工程师指南

    ai人工智能算法工程师 随着AI越来越擅长处理越来越多的计算任务,致力于开发AI的人们可能很快就会失业. 随着人工智能进入当今越来越多的技术中,有抱负的算法工程师面临着独特的困境. 一方面,他们必须竞 ...

最新文章

  1. MySQL计算指标连续两月金额相比_20160929
  2. linux安装android sdk
  3. SpringBoot2.XX 产生的问题
  4. php 接收序列化数据,PHP如何序列化数据?
  5. C/C++中各种类型int、long、double、char表示范围(最大最小值)
  6. YunYang1994/tensorflow-yolov3 训练自己的数据集
  7. boost::range模块adjacent_filtered相关的测试程序
  8. C++ Primer 第二章 学习笔记及习题答案
  9. 学计算机和电脑办公的区别,自学编程和计算机科班出身的差别在哪?
  10. 关于RestTemplate的小笔记
  11. 解决办法:apt: 未找到命令
  12. 2个阶乘什么意思_两个阶乘号是什么意思,-双阶乘-数学-滕诓芳同学
  13. 74系列标准逻辑集成芯片分类
  14. 台式电脑计算机怎么打不开怎么回事,为什么电脑自带的软件打不开怎么办
  15. 车牌规格以及识别中的不利因素
  16. 【视频编码】【Vue】【明星开源项目】| Chat · 预告
  17. 二烷基二硫代磷酸锌添加剂的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. css 毛玻璃: backdrop-filter
  19. ChatGPT版微信个人号搭建流程
  20. 冯诺依曼关于计算机的名言,冯诺依曼的名言

热门文章

  1. python怎么停止正在运行的代码_在python中,如何停止正在执行的函数中的代码?...
  2. 找不到msvcr110.dll
  3. [2018-03-06] 基于Django的轻量级CMS Mezzanine搭建笔记
  4. 成就一亿技术人,我和CSDN的九年记忆
  5. 2022年前端面试题
  6. 学业水平考试b能上985吗_会考c能上985吗 985211对会考的要求
  7. 【机器学习算法】感知机模型
  8. 基于C#的快递物流管理系统#毕业设计
  9. xilinx Edition arm M3 使用笔记
  10. 文件存储、对象存储、块存储分不清楚?看完就懂了