SRE状态报告:2023年的挑战与最佳实践

站点可靠性工程(SRE)对于希望跟上数字化转型快速步伐的组织越来越重要。现在,客户比以往任何时候都更期待高质量、可靠的数字化服务,能够提供无缝的用户体验。SRE可以在整个数字环境中确保可依赖性和一致性,为组织持续地向客户交付这些理想的体验提供了框架。

译自 Dynatrace 博客 Header background The state of site reliability engineering: SRE challenges and best practices in 2023

Dynatrace产品营销总监Saif Gunja主持了2023年SRE状态网络研讨会。与Gunja一起参加网络研讨会的有几位SRE,分别是来自Kyndryl的Danne Aguiar、红帽的Hilliary Lipsig和SquaredUp的Stephen Townshend。他们讨论了最佳实践、新兴趋势、建立服务级目标(SLO)的有效思维方式等。主持人和小组成员一起提供了他们对组织如何增强SRE工作的见解。

有效的站点可靠性工程需要企业范围的转型

如果组织内部对SRE实践没有统一的理解,各部门之间很快就会形成隔阂。缺乏协作会导致可观测性数据的隔离,当试图交付价值时,团队手头的信息很少。如果没有成熟的SRE采用实践,生产力会受到影响。

拥抱SRE的文化转型对打破这些隔阂至关重要。小组成员强调了组织范围内文化转型迈向SRE采用的必要性。他们还强调了文化转型需要自上而下的批准的重要性。“如果没有行政批准,你会撞到天花板,”Townshend说。“你就无法取得任何进展,因为存在竞争的优先事项。”

Gunja表示赞同。“如果这不是一个文化的改变,如果不是从上到下来的,那么它很可能会失败,”他说。“即使它确实来自上层,也仍有许多障碍要跨越。”

Lipsig 从另一方面看到了这种现象。随着她的组织自上而下地采用SRE,隔离文化明显改善。“在过去的12个月里,我看到许多原本不存在的关系,或者可能存在一些不太友好的关系,正在朝着一个更好的方向发展,”她说。显然,管理层对SRE的认可可以简化各团队对SRE的理解,从而增加组织内的协作和教育。

然而,尽管这种转型对实现业务目标至关重要,但许多高级管理人员仍然犹豫是否采用SRE实践。这通常是由于对该学科在实现关键绩效目标(SLO)方面的作用缺乏理解。

为了克服这一障碍,小组成员建议工程师通过业务数据向高级管理层传达SRE的价值。收集这些指标后,工程师可以展示强大的企业范围内的SRE实践的实施如何帮助减少苦差事、员工倦怠、运营费用以及未实现的SLO数量。

SLO应该针对高层次的业务目标

创建SLO来衡量SRE成功时,重要的是要牢记这些目标如何使组织受益。有时候,工程团队可能会过于关注技术上的细节,而忽略了整体的业务目标。团队应确保即使最小的SLO也与业务增长有关。

然而,理解技术SLO如何影响业务结果并不总是完全简单明了的。例如,MTTR的减少对收入有多大影响?为了回答这些问题,跨职能团队的协作对组织的成功至关重要。不同技能团队之间的沟通可以帮助消除SLO和业务结果之间的联系。

同样重要的是要注意,创建以业务为中心的SLO并不意味着仅关注高层次的目标。事实上,小组成员强调制定更小的SLO以更好地衡量进度的重要性。通过认可小的胜利,团队可以避免被实现更大目标的想法所压倒。这些小胜利可以采用许多形式,不一定涉及数字指标。

对于正在建立以业务为导向的SLO的组织,Aguiar有一些建议。他说:“如果你的公司有服务级协议(SLA),可以从这个特定的SLO开始,这个SLO是由你的SLA设置的,然后你可以以后再定义其他SLO。”

Lipsig也给出了智慧的言论。她说:“选择一项测量客户是否在与您的产品进行互动时获得成功的指标,然后着手研究如何测量它。” 以客户为中心的SLO由客户的成功驱动:当客户获胜时,企业也获胜。因此,仔细考虑客户需求是创建有效SLO的关键。

客户同理心是完全优化站点可靠性工程实践的关键

软件工程往往是一门无人情味的学科。SRE通常不是一个面向客户的角色,因此很容易误解客户痛点的上下文。这种模糊不清会导致缓慢的补救时间和无效的解决方案。此外,客户可能会对组织关系的低效感到沮丧,从而导致糟糕的保留率。

在SRE中建立客户关系是需要跨部门协作的另一案例。小组成员鼓励工程师与面向客户的团队协商,以更好地理解客户情况的上下文,满足关键需求。“我与我们的客户成功工程师建立了非常好的合作关系,”Lipsig分享道。但她强调内部协作的重要性:“这不是我自己就能做到的事情。”

努力理解客户需求可以增进组织与客户之间的信任。因此,客户更有可能实施SRE团队的建议,从而给予工程师更大的代理权。

小组成员还表达了处理客户互动时“软技能”的重要性。能够尊重和耐心地与客户交流是建立SRE所需基本信任的关键。他们还强调这种做法不仅适用于客户,也适用于组织内部的同事。

生成式AI和站点可靠性工程的未来

“AI在APM世界中并不新鲜,”Aguiar提醒道。生成式AI的最新突破可能为各种组织的SRE团队带来好处。例如,生成式AI有可能提供更直观的查询数据方法。这得益于生成式AI的自然语言处理功能。这些功能通过正式查询语言使数据更容易获取和不太可能被隔离。在没有查询语言的障碍下,数据更容易被访问和共享。

生成式AI还可以通过允许用户就架构和数字环境提出具体问题来帮助改进根本原因分析。快速可靠的答案可以促进团队之间的快速学习。这种可访问性导致MTTR降低和生产力提高。

小组成员推测,AI可能会通过其有效执行任务的能力来提高SRE团队的生活质量。Aguiar预测,生成式AI对SRE的一个关键功能将涉及根据过去的经验创建runbook。这些runbook将大大减少手动干预和处理定期发生事件的冗长流程。但是,Lipsig提醒小组成员,SRE在不同组织中看起来不同。她说:“我们会看到AI带来的各种不同影响,而不是一个确定的影响。”

生成式AI是一个有前途的新资产,SRE团队可以将其独特地应用于他们的实践,以实现更大的效率,但它不是某些预先存在的可靠性措施的完整替代品。

成功的站点可靠性工程更青睐主动而不是被动的措施

无法预见的系统停机、服务器过载和其他意外事件不仅可能对SRE的生产力产生潜在的灾难性影响,还可能影响组织的盈利能力。这些挑战可能导致大量的计划外工作,使得SRE处于不断被挫败的被动状态,在该状态下效率和真正的进步将受到持续阻碍。在这些被动模式下进行根本原因分析可能是一个漫长且昂贵的过程,使SRE资源严重不足。为了减轻这一问题,SRE团队必须启动计划内工作以开始主动运营。

主动SRE模型的一个关键组成部分是实施端到端监控,包括在SRE团队所在组织不直接拥有的系统上。通过对客户和供应商系统的可观测性保持强大,团队可以在问题扩散之前识别潜在的软件问题。强大的黑盒监控、负载平衡分析和例行系统检查都是主动工作的例子,这些工作可以带来巨大的生产力和事故预防利益。

随着组织在收集和存储数据上花费大量资源,SRE团队有更多动力从被动的工作模式转向主动的工作模式。这样一个模型中,有价值的数据使用不足,仅用于响应而不是预防。组织最大的利益在于通过创建强调预防火灾而不是救火的工作流程,以充分发挥数据驱动的洞察力的潜力。

Lipsig谈到红帽的SRE如何处理事件时说:“我们开始对服务级指标违规进行响应,以便我们始终保持SLO。我们从不烧毁太多的错误预算。” 一旦团队开始主动使用数据,他们可以“开始使用这些数据进行有意义的工作,而不仅仅是利用它进行响应。”

增加协作对于满足SLO至关重要

在当今的技术格局中,围绕云原生架构中最佳软件工程方法展开了大量辩论。无论是SRE、DevOps还是平台工程,小组成员断言,部门分类没有实际工作的重要性高。团队应该关注有效和高效地达到SLO,而不是执着于职务头衔。摆脱DevOps、SRE和平台工程是相互对立的想法,这是消除隔阂和确保满足SLO标准的关键一步。

“SRE是关于设计、构建和运行大规模可靠服务,”汤森说。“只要我在做这些,我认为自己是成功的。”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注