了解站点可靠性工程师如何“左移”以增强协作、可靠性和效率。
译自 Shifting Left: How SREs and Developers Can Finally Work in Sync,作者 Matar Peles。
站点可靠性工程师(SRE)和开发人员常常面临着如何在速度和稳定性之间取得平衡的挑战。大多数情况下,开发人员倾向于专注于构建功能和编写代码,而 SRE 则确保这些功能在生产环境中平稳运行。但是,当出现问题时,界限就会模糊——这就是问题开始的地方。
“左移”运动提供了一种前进的道路。它允许团队在开发过程的早期解决可靠性和操作问题。通过共享所有权,团队可以减少摩擦并更好地协同工作。
SRE 负责维护可靠的系统、监督正常运行时间、管理事件和处理云基础设施。开发人员专注于编写代码和交付功能。但是,这些角色经常重叠,从而在它们之间产生摩擦。
这种紧张关系源于优先级错位以及缺乏对彼此工作流程的了解。开发人员优先考虑交付功能,并且可能忽略生产需求,直到出现问题。虽然他们创建应用程序,但他们通常不会为其可靠性负责。相反,SRE 努力维护正常运行时间,但可能缺乏关于最近应用程序更改的上下文。这些动态会导致效率低下,例如:
尽管开发人员越来越多地拥抱左移运动,专注于生产需求、安全编码和利用 AI 工具来增强其工作流程,但这些努力是不够的。开发人员必须对他们的应用程序承担全部责任,包括代码和可靠性。此外,SRE 和开发人员必须在一个共享框架上进行协作,该框架具有统一的真相来源,用于服务所有权、健康状况和依赖关系。这个基础能够实现更快、更有效的工作流程,并减轻团队脱节。
考虑一下在高峰流量期间发生严重事件的情况。SRE 可能拥有所有基础设施指标,但缺乏对最近应用程序更新或依赖项的了解。另一方面,开发人员可能无法访问生产监控工具,这使得他们无法了解问题的根本原因。这种缺乏共享责任感会将可控的问题变成长时间的停机。
让我们探索一个分步指南,用于管理事件或停机,以演示左移的影响。
预防事件始于事件发生很久之前。团队可以采取一些主动步骤来确保生产准备就绪:
当事件发生时,快速检测和诊断至关重要:
拥有清晰的责任归属和诊断数据,团队可以专注于解决问题:
解决事件后,团队专注于持续改进:
最终的解决方案是重新定义所有权,并让每个人都能访问他们需要的工具。SRE应该专注于设定标准和自动化可靠性任务,而开发人员应该端到端地拥有他们的应用程序,包括正常运行时间和健康状况。
统一的服务目录可以弥合差距。它提供了对服务、其所有者及其依赖关系的清晰视图。这是实施“向左迁移”方法的重要组成部分。通过充当单一事实来源,它提供:
虽然服务目录至关重要,但它是更广泛的生态系统的一部分,其中包括自助服务工作流程、事件管理自动化和协作工具。这些功能共同使团队能够更高效、更自信地工作。
使用统一服务目录的团队在主动预防和被动恢复方面都看到了改进。以下是这些好处的更深入了解:
想象一下,深夜发生严重中断。统一门户无需费力查找谁拥有受影响的服务,而是会自动为事件创建一个专用的Slack频道,通知服务所有者,并提供对关键指标、日志和依赖关系图的访问权限。几分钟内,团队可以有效地协作以解决问题,从而大大减少停机时间。这种简化的流程体现了向左迁移的强大功能:为团队配备快速、自信和高效行动的工具。
向左迁移支持共享责任模型。开发人员拥有他们的应用程序,包括可靠性。SRE在需要时提供指导、工具和高级支持。这种平衡确保每个人都能专注于他们最擅长的事情。
例如,开发人员在事件期间带头管理响应。他们使用服务目录提供的工具来诊断和修复问题。SRE仅在出现复杂问题或需要确保符合标准时才介入。这种方法减少了瓶颈,并使团队能够更有效地工作。
统一的服务目录可以改变SRE和开发人员的协作方式。它促进协作,减少瓶颈并保持系统可靠性。
与同样在向左迁移的人们交流,他们也在Port’s community,或者看看如何使用Port’s live demo 向左迁移。