SLO和错误预算如何提高应用程序的可靠性
这些实用的工具可以帮助开发团队平衡运营问题和对完美的追求。
作者: Isaac Sacolick
InfoWorld特约编辑
野生像素
很久以前,业务赞助人纠缠于开发团队,询问一项功能何时完成或一个版本何时可以部署。如今,敏捷开发团队使用Jira软件等工具,在下拉图中跟踪史诗和发布,以回答这些问题,审查优先级,并考虑增加或减少范围。
运营团队在定义、测量和管理服务水平协议(SLA)方面也有类似的挑战,这些协议通常被用来建立业务服务或应用程序的目标正常运行时间或性能。例如,SLA可能会规定一个业务服务必须有四个9的可靠性(99.99%),这意味着该应用每年只能经历52.5分钟的停机时间。
[同样在InfoWorld上:如何衡量开发者的生产力--以及如何不衡量] 。
服务级别协议和服务级别目标之间的区别
定义SLA可能对报告很有效,IT经理用它们来报告业务服务是否达到目标SLA。但SLA通常是宽泛的指标,往往不能提供更具体的服务水平在何时、何地、对谁应该有不同的业务目标。例如,一个电子商务应用可能只在缓慢时期寻求三个9的可靠性,但在假日购物期间需要更高的可靠性。
服务水平协议也不是很有预测性或可操作性。你更有可能听到 "开发团队错过了其SLA",而没有任何关于改进的反馈。相比之下,"SLA没有达到目标,那么团队将优先采取什么措施来提高可靠性?"
这些问题是网站可靠性工程师将术语、实践、思维方式和工具从SLA改为SLO(服务水平目标)的原因。
网站可靠性工程(SRE)于2003年在谷歌推出,其做法于2016年在《网站可靠性工程》一书中发表。SRE的主要原则包括拥抱风险,消除劳累,建立发布工程,以及简化架构。SRE的原则和功能与devops和IT基础设施库(ITIL)配合良好。SRE的主要作用包括事件防御和促进开发实践,以提高应用程序的性能和可靠性。
创建SLOs是SRE的一个基础实践。他们可以在业务层面上定义,也可以在应用,API,或数据层面上更细化。它们衡量在定义的持续时间窗口中成功与失败的事件。例如,一个每月服务水平为3个9的API必须在30天内成功响应99.9%的API请求。如果这个API在30天内处理了100,000个服务请求,那么在此期间它可以有100个失败的事件,并满足其SLO。
业务领导可以按客户细分指定SLO,包括高峰期、客户类型、用户类型或业务活动。例如,高峰期或试图购买产品的客户的SLO可能增加到四个9或99.99%。由于SLO是根据具体的事件或角色来衡量的,所以更直接地将它们映射到有意义的业务维度。
错误预算帮助devops团队提高可靠性
SLO也定义了一个错误预算,或者说服务可以经历多少失败的事件并满足其SLO。在前面的例子中,如果一个SLO在30天内有三个9(99.9%),可以有100个失败事件,那么错误预算就是100个事件。
我与Nobl9的首席运营官Kit Merker在一个关于SRE实践帮助提供卓越服务的网络研讨会上讨论了SLO和错误预算。他解释了用SLO和错误预算而不是SLA进行管理的思维方式的不同。"我们希望获得客户的信任并提供卓越的服务。但与此同时,我们也有业务要经营,我们希望可持续地做到这一点。我想到了卓越的边缘(SLO)和难以达到的完美之间的区别。一旦我们定义了SLO,我们就可以对工程解决方案做出真正重要的自动化商业决策"。
卓越的边缘指的是终端用户和性能指标可以容忍多少不可靠的情况。Merker暗指的重要决定是,与提高最终用户体验、增加功能或解决其他业务需求的工作相比,团队应该在什么时候以及在多大程度上优先考虑开发工作以提高应用程序的可靠性和性能。
错误预算为做出这些决定提供了一个衡量标准。那些持续错过SLO的团队应该优先考虑更多的应用可靠性改进。另外,当对可靠性改进的投资显示出之后错误的减少,那么敏捷的开发团队可以指出主动的可靠性改进的好处。
错误预算也可以帮助devops团队优化他们的时间。有可能错过SLO的团队可以选择优先响应事件,处理支持升级,或解决缺陷。另一方面,在错误预算下运作良好的团队可能会避免追求完美,而是通过完成冲刺、发布和功能部署来保持战略方向。
在是否优先处理运营问题上,给予开发团队更多的决策权,这听起来似乎有悖常理,但追求完美的代价很高。相反,IT领导应该定义一个服务水平目标政策,以帮助团队知道当他们低于错误预算或SLO面临风险时如何应对。领导者还可以设定操作原则,说明团队如何 "花费 "他们的错误预算,或者在错过SLO时可以建议采取行动。
SLOs影响开发、SRE和运营。他们还可以提升质量保证的作用。当生产缺陷与错误相关时,这是一个信号,可以增加测试自动化,并与错过的SLO相一致。
最后,正如devops团队使用epic和release burndowns来跟踪业务目标的进展,创建错误率burndowns帮助团队预测他们是否在满足SLO的轨道上。
SLOs和错误预算能改变IT文化吗?
错误预算的使用仍处于早期采用阶段。在最近发布的2021年SRE报告中,50%的受访者不断完善他们的SLO,但只有20%的SRE经常使用错误预算。
我采访了Isos Technology的首席执行官Thad West,关于使用SLO和错误预算来改变运营思维。"你会发现许多运营团队以英雄模式运作,从一个事件飞到另一个事件,而这有时会成为他们的身份。这真的会让IT团队精疲力尽,而且对转型是一种损害。"
随着企业开发更多的任务关键型应用,并期待更高的服务水平,IT团队必须寻求平衡运营和创新的方法。建立可持续发展目标有助于定义更现实的运营目标,而定义错误的预算政策和原则使团队拥有审慎的决策工具。
相关的。
Isaac Sacolick是StarCIO的总裁,也是亚马逊畅销书《Driving Digital》的作者。该书涵盖了许多实践,如敏捷规划、开发和数据科学,对成功的数字转型项目至关重要。萨科利克是公认的顶级社会CIO和数字转型影响者。他在InfoWorld.com、CIO.com、他的博客Social、Agile和Transformation以及其他网站发表了700多篇文章。
关注
Copyright © 2021IDG Communications, Inc.