确保新产品或功能发布时的可靠性至关重要。开发人员和运营团队需协同工作,通过持续测试、监控和事件管理,确保系统稳定,符合法规要求,并提供良好的客户体验。
译自:Why Launch-Time Reliability Is Especially Critical
作者:Mandi Walls
确保新产品或功能在发布时的可靠性至关重要。无论它在组织的什么产品线中,一个闪亮的新工具或新功能表面看起来可能不错,但如果运行不畅或影响性能,客户是会注意到的。开发人员必须将发布时的可靠性融入他们的工作流程,以便他们能够帮助更广泛的运营团队为成功发布做好准备。
然而,任何新发布的产品可靠性都不是一个“一劳永逸”的过程。相反,开发人员和运营团队都在确保产品发布顺利进行方面发挥着关键作用。
对于开发人员来说,准备步骤包括持续测试,在专用环境中构建全新的项目,同时保持现有应用程序的正常运行,并以应有的谨慎态度对待复杂的部署。
另一方面,运营团队必须部署好他们的监控,在发布后密切关注性能变化,并在新服务上线用户之前规划好值班轮换。这两个团队齐心协力,可以帮助防止客户受到新产品发布的负面影响。
可靠性不仅仅是保护客户。组织优先考虑发布时可靠性有三个关键原因:
1. 复杂、分布式系统
现代企业建立在极其复杂的生态系统之上。虽然单体架构仍然存在,但它们通常包含大量随着业务扩展或需要提供新功能而添加的附加工具。这些复杂的系统意味着发布新产品或功能需要工程师跨云服务和第三方平台进行协作。此外,大型企业系统和团队通常是全球分布的,这进一步增加了复杂性,有时还会引入服务延迟。总而言之,这些系统的复杂性意味着任何新发布都可能打破微妙的平衡并导致服务中断。
发布时可靠性必须始终放在首位,以降低风险。这包括始终以促进 DevOps 最佳实践的心态进行构建,包括采用“左移”方法,在每个开发周期的开始就优先考虑稳定性和安全性,以及鼓励定期测试和代码审查的安全编码和 CI/CD 实践。如果不在团队中强化这些行为,产品发布可能会使组织更容易受到服务中断、数据泄露和系统故障的影响。
2. 符合法规要求
发布时可靠性不仅仅是管理内部系统。保持服务在线并及时报告任何事件是完全符合法规的关键。随着监管机构强制执行日益严格的事件报告要求,合规性变得越来越重要。
例如,在英国,英国金融行为监管局的 CP24/28 和英国审慎监管局的 CP17/24 等法规要求金融服务公司制定详细的事件管理政策、清晰的升级程序和快速报告机制。同样,在美国,包括金融和广播在内的多个行业都需要报告停机时间,分别向证券交易委员会 (SEC) 和联邦通信委员会 (FCC) 报告。
未能遵守法规将导致罚款和声誉损害,这是开发阶段本可避免的失败所付出的沉重代价。
3. 提供良好的客户体验
新产品发布必须积极改善为客户提供的服务,同时又要无缝进行,不中断现有服务。服务级别协议 (SLA) 规定了最低性能要求,提供良好的客户体验不仅仅是“锦上添花”。它是企业提供的服务的重要组成部分。
在许多情况下,SLA 还为客户提供了“免费通行证”,以应对频繁或长时间的服务中断。停机事件会侵蚀现有客户群的信任,但也会导致客户流失,损害组织的收入。
为了最大限度地减少对组织底线的潜在损害,工程团队必须采取 DevOps 最佳实践,例如实施 CI/CD 管道以实现每天零停机时间的频繁发布,或在整个软件交付周期中促进跨职能协作,以鼓励快速故障排除。另一方面,运营团队可以通过实施促进及时沟通和解决问题的事件管理框架来提供支持。这需要更广泛的数据可观测性,以便在发生事件时信息能够在团队之间流动。这两个团队共同努力,可以帮助他们的组织满足其 SLA 的所有要求,以保护收入并持续为客户提供一流的服务。
实现“良好”开发这一不断变化的目标
随着时间的推移,随着企业和开发实践的演变,“良好”的定义也在不断变化。在过去的 20 年里,软件经历了“寒武纪大爆发”,最佳实践、指标和新监控能力也得到了改进。与此同时,企业系统的复杂性也在不断增加,这意味着维持发布时可靠性对工程和运营团队来说是一个巨大的挑战。只有通过密切协作,这些团队才能确保新产品和功能的发布能够提供卓越的客户体验。