点击上方蓝字关注我们!

随着复杂性的增加,对服务的需求始终可用以及团队创新的压力越来越大,应用程序交付每天都在变得越来越困难。服务级别目标或SLO可以提供帮助。

在此博客中,我们将讨论SLO如何成为现代应用程序交付的关键,如何管理和衡量它们,可观察性对SLO解决方案的重要性以及如何开始当今可靠的应用程序交付的旅程。

为什么应用程序交付比以往任何时候都难

我们的世界已经改变。不仅在技术日益复杂的意义上,而且在非常个人的层面上。随着远程工作,COVID-19和决策疲劳的额外压力导致认知能力下降,我们自己的交付能力已经改变。同时,我们的客户现在比以往任何时候都更加依赖我们。 

客户使用的应用程序必须可用,并且每个周期的运行情况都很高。传统上,开发会放慢功能发布以确保质量。但是速度也至关重要。客户需要新功能和可靠性,而现有流程可能不支持此功能。数字化已成为生存的新模式。

那么这对团队意味着什么呢?根据AppDynamics的“ 2020年转型代理报告:COVID-19特别版 ”,数字化的紧迫性有三个主要原因:

  • 应用内复杂性不断提高:80%的团队都在流量激增和缺乏可观察性的情况下挣扎。这会影响客户体验。

  • 数字化正在加速:79%的团队看到COVID-19加速了数字化转型。不朝这个方向发展的组织可能会失去市场。

  • 慢是新的问题:延迟与可用性一样重要。55%的受访者表示,使用数字服务时,缓慢是最令人沮丧的问题。

这种对经济放缓的反应可能令人惊讶,但是经过调查,这是有道理的。考虑一下延迟耗费用户多少时间与不可用时间。当应用程序关闭时,您的用户会立即知道并继续执行其他任务。他们只损失了几秒钟。但是,当应用程序运行缓慢时,它会浪费客户的时间。

假设您要在银行应用中存入支票。您等待应用程序打开,登录,连接到相机,扫描支票等等。速度慢的应用程序会在每个阶段占用用户大量时间。这就是为什么SLO注重延迟和可用性的原因。

此外,当今的环境不再是简单的整体式体系结构。您必须支持跨许多操作模型的混合体系结构,从而导致相互依赖。这增加了拥有孤立数据孤岛的风险。不幸的是,工具会加剧这种数据海啸,从而创建新的数据孤岛。

客户体验遍布这些岛屿,并隐藏在数据海啸中。对这些数据的洞察力很难收集。左手需要知道右手正在做一对。人类通过中枢神经系统(CNS)实现这一目标。CNS收集数据并将其与上下文相关联,从而获得洞察力,以便您采取行动。可观察性对技术系统的作用相同。

可观察性作为中枢神经系统

可观察性是数字企业的中枢神经系统。在组织内部,这是将应用程序与业务,安全性等联系起来的要素。监视工具与您的系统集成在一起,以解密重要信息,从而消除数据孤岛。从AppDynamics的角度来看,以下是这种可观察性中枢神经系统的示意图。

达到此级别的可观察性后,您需要确保已建立反馈循环。SLI和SLO为您提供了这种以数据为依据的决策依据,从而结束了循环。在经济放缓的情况下,这一点尤其重要。

SLO提醒您减速

作为一个行业,我们擅长应对停电。放慢是不同的,而且我们还不善于识别和解决它们。SLO为我们提供了更有效地应对经济放缓的手段。 

将SLO视为有关服务运行情况的气象报告。SLO结合服务的用户旅程中最重要的部分来捕获您的监视正在执行的操作。SLI(服务级别指示符)是监视单元,用于拉取信息并将其传递给SLO。SLO的工作是获取SLI提供的信息,并将其与阈值进行比较。

假设您有一个SLI,延迟为250毫秒。您希望95%的互动来实现这一目标。您的SLO将采取这些事件并相互进行衡量。这可以捕获您希望客户体验的情况并报告任何异常情况。

通过您的错误预算记录异常。错误预算建议您为SLO可能发生的计划外系统故障。SLO在一个时间范围内捕获故障,并使用这些值显示错误预算的状况。如果放慢脚步的速度使您的客户感到无法接受,它将触发警报。借助这些数据,您可以做出使客户和内部利益相关者受益的决策。

使用SLO调整竞争优先级

组织由具有相互竞争的优先事项的人员组成。如果这意味着寻呼机在整个周末都嗡嗡作响,运营商就不希望将功能推入生产阶段。开发人员不想被操作阻止发布。销售和市场营销希望销售和推广新功能。那么,您如何才能优先考虑所有这些需求? 

SLO也可以提供所有帮助。

SLO可以通过以下方式帮助三个核心利益相关者:

  • 产品和工程:SLO提供了一种数据驱动的方式来专注于资源。凭着事半功倍的心态,团队必须选择最关键的功能来花费工程时间。SLO使用CSAT和客户流失率等指标来帮助调整这些优先级。

  • 运营:运营希望限制业务风险。SLO帮助与开发人员进行沟通,以实现创新速度和质量。该团队将研究SLO指标,例如可用性,延迟和吞吐量。

  • 业务:这些努力很重要,但是如果业务不能吸引和留住客户,那么它就不会持续下去。SLO通过提供客户满意度的领先指标来帮助该团队。

使用SLO作为统一工具,组织可以根据所有这些相互竞争的优先级和需求进行决策。 

但是,SLO并非没有挑战。

SLO的常见陷阱

在帮助客户建立SLO时,我们会听到四个主要问题。让我们逐一介绍并思考如何处理它们:

  1. 除了衡量可靠性之外,SLO的价值是什么?SLO不仅是可靠性的衡量标准。它们也是赋予人们权力的一种方式。它们为您提供了有关系统中发生的情况的知识性见解。您可以查看图表或报告,但是很难集中这些数据并实时提取值。SLO是一个转折点。如果您的SLO开始下降到阈值以下,那么您会早期发现系统中存在实际问题。

  1. 我如何知道我的SLO是否衡量客户体验?您想确保在定义SLO时,它们尽可能接近用户旅程。如果您的SLO衡量客户体验,则它会随着时间的推移而变化,就像您的业务一样。这意味着SLO需要不断进行重新审查和迭代。 

  1.  我如何获得组织的支持以长期推动SLO的采用?成功采用SLO的团队在自上而下的支持下自下而上地推动了这一点。最好的方法是以小增量显示即时价值。与一个或几个团队一起对SLO进行少量投资,然后通过衡量一段时间内的SLO来显示价值。两个月足够时间来衡量您的SLO并显示出有效的改进。

  1. 在什么时候我停止使用功能并开始使用可靠性?知道这一点的一种方法是咨询您的错误预算。错误预算应包含指示何时停止功能工作的策略。在错误预算耗尽的两个连续窗口之后可能会发生这种情况。可能是在单个事件耗尽了一定百分比之后。重要的是各方都同意错误预算政策。

现在,我们已经解决了这些常见问题,现在该看看如何开始采用SLO。

踏上SLO旅程

根据Blameless与各种组织的互动,超过一半的SLO实施计划首次失败。这通常是因为他们缺乏正确的流程和文化。要使SLO取得成功,就需要同时具备这两个条件。

SLO采纳流程

由于SLO随着公司的变化而变化,因此SLO的过程是周期性的。您需要对其进行迭代,以确保您仍然对客户体验有所了解。上图显示了您可以参考的循环。

  1. 记录用户旅程:在这里,您将为用户规划关键服务。哪些点对他们来说最明显和最痛苦?如果您的组织具有集中的质量检查功能,则可能已经记录了这些用户旅程。询问团队是否有您可以参考的文档作为有用的起点。

  1. 计算SLI并连接SLO:在这一步,您将确定最重要的指标。延迟是一种常见的SLI指标。确定客户可以接受的等待时间,然后设置您的SLO。请记住,可靠性过高。如果您的客户没有注意到差异,请不要使用资源在该级别进行优化。

  1. 根据客户经验监控SLO并定义错误预算:为确保SLO正常运行,请密切关注客户满意度。如果您的SLO看起来很满意,但客户成功团队报告了投诉,则需要调整SLO。定义错误预算和策略以确保可靠性仍然是首要任务。

  1. 在SLO上发出警报,以改善焦点并限制噪音:设置警报,以帮助您的团队密切关注错误预算的消耗。设置这些SLO时,请优化以降低噪声。如果一个人不需要干预,就不会有人传呼。

  1. 通过SRE最佳实践最大程度地减少工作量:确保您的SLO流程已被其他SRE最佳实践强化。自动化,深入的事件回顾以及持续学习的文化都为SLO的成功做出了贡献。

文化是采用SLO的核心,也必须提一下。

无耻文化

SLO很难正确设定,失败是不可避免的。建立一种心理安全文化很重要,这样团队成员才能感到自己会失败。此外,您需要设置防止怪罪和归因的护栏。还有人为错误没有这样的事 ; 每个错误都可以追溯到系统性故障。

有了文化和流程,您就可以开始SLO之旅了。

更多资源请关注公众号或点击下方“阅读原文”,回复关键词获取

发表评论

您的电子邮箱地址不会被公开。

− 8 = 1