稳定性的灯塔:腾讯 SRE 质量运营体系建设(上)
本文将从整体角度出发,探讨腾讯 SRE 质量运营体系是如何构建和实践的,以及建设过程中经验和思考,并进行总结和展望。
01 行业背景
02 基于 SLO 与 On-Call 的质量运营体系
2.1 问题背景
产品稳定性无法量化
故障过程不透明、不可控
传统的方法不具备先进性
2.2 SLO 管理
SLO 是描述当前系统稳定性的指标。像腾讯内部每天成百上千次的发布,功能迭代速度上来了,引入了更多的代码,那产品稳定性就会相应下降。SLO 是以合理的方式评估迭代功能和产品稳定性之间的关系。同时SRE团队可以与研发团队通过SLO,共同明确合理的质量目标。避免运维和研发互相推卸责任,将所有人拉到同一条战线上。而具体方法则是要树立面向用户而不是面向系统。
在运营过程中,经常会遇到各种故障和问题,但如果大家都站在用户的角度上,就可以有共同的语言合作解决问题。
另外,还有具体的应用,包括基于错误预算的燃烧率告警、基于错误预算的研发策略决策。
On-Call 管理容易被人们忽视,实际上它涵盖了包括系统事件、云组件事件、大数据事件和用户反馈等各种事件。这些事件可以通过一个 On-Call 集中化管理平台进行标准化的处理,这样做可以带来五个方面的收益:
-
Visible:可实时观测整个系统的故障情况。
-
Orchestration:间接实现告警的治理和编排。
-
Automation:On-Call 作为一个中枢环节,可以串联许多自动化工具能力
-
Teamwork:团队合作可能随着企业规模的扩大而增加,研发、SRE、运营角色之间的协作可以通过Oncall来串联。 -
Analytics:最重要的就是落地稳定性数据。通过人工处理所有线上事件,可以获得有意义的高质量的运营数据,是分析产品稳定性的关键。
2.4 产品架构
问题明确后就是通过产品实现落地,我们内部开发了一套 On-Call 平台,用于集中管理和处理故障和事件。On-Call 平台有一个门户,上百个研发团队集中响应他们真正关心的事件。
2.5 实际落地情况
下面简单来说一下实际应用情况。在腾讯内部,目前覆盖了几十个产品,包括视频、QQ、文档、新闻、中台等上百个团队,因此我认为这个经验对其他公司也有借鉴意义的。
03 在腾讯的大规模落地实践
3.1 SLO 管理
3.1.1 核心场景与 SLI 指标
这样做意义在于,我们即可以抓住主要矛盾,一级的SLO场景面向管理者进行数据的展示与汇报,出现大型故障时可以快速了解所有产品线的情况。同时,二级场景又满足了所有研发团队的使用需求。
3.1.2 SLO目标与错误预算
另外一点是需要SRE团队与研发团队共同制定。由SRE团队主导、研发团队配合,共同完成目标的制定与落地。
3.1.3 基于错误预算燃烧率的告警
3.1.4 建立 SLO 运营机制
3.1.5 未来规划
未来在 SLO 建设方面,需要更加聚焦于核心场景与核心指标。目前,我们已经有 1000 多个业务场景和 3000 多个SLO指标。此外像错误预算和告警配置的理解成本比较高,有一定使用门槛,因此,我们需要降低SLO的配置成本,并基于运营经验提供一些推荐的告警配置模板。最后,基于错误预算进入研发投入的决策,是未来希望能进一步做到的能力。
下一篇文章将介绍:腾讯 SRE 在On-Call 事件管理方面的实践 敬请期待
作者简介
王晓川(腾讯 PCG SRE 研发负责人/SRE技术专家)
目前就职于腾讯,硕士毕业于北京大学,曾任职工行、美团,深耕SRE领域十年,目前负责质量运营、可观测、混沌工程等平台的研发工作。
本文根据演讲者在 GOPS 2023·深圳站演讲整理而成,如有图文不妥,请以视频为准。更多精彩,请关注高效运维公众号。
为推动各行业系统稳定性体系建设,中国信通院依托分布式系统稳定性实验室,联合多家头部企业于2021年制定了《分布式系统稳定性保障能力分级要求》标准,今年标准工作组对框架及内容进行了全面升级,正式更新为《研发运营一体化(DevOps)能力成熟度模型 第14部分:系统可靠性与连续性工程》标准,并依据此标准全新推出了SRE研发运营系统可靠性与连续性评估。
未来中国信通院DGA分布式系统稳定性实验室将持续开展系统稳定性评测项目,为各行业研发运营系统可靠性与连续性保障提供指导和帮助,助力我国数字化转型实现“又快又稳”。
DGA分布式系统稳定性实验室及评估咨询联系方式
尚梦宸 13261081232
相关咨询可联系:
魏焕新@高效运维社区
电话:18500255645(同微信)
发表评论