研报总结:GOPS 全球运维大会2023 · 上海站SRE质量运营体系建设破局新思路:SLO工程
核心观点
本次研报主要探讨了Bilibili在SRE(站点可靠性工程师)质量运营体系建设中的实践,重点介绍了SLO(服务等级目标)工程的实施及其在提升系统稳定性方面的应用。通过SLO体系,B站构建了一个全面的质量运营框架,实现了从故障发现、预定义、应急协同到快速恢复和事后复盘的全生命周期管控。
关键数据
- SLO目标示例:全年服务可用性 > 99.99%,P99请求 < 200ms。
- 错误预算:基于SLI(服务等级指标)和SLO计算得出,用于衡量实际性能与预期性能的差异。
- 告警策略:包括目标错误率告警、错误预算窗口消耗告警、SLO低于阈值告警、消耗率告警等。
- SLO覆盖范围:已覆盖主站、直播、电商、推荐、搜索、广告等核心业务。
- GOC体系目标:防止能预见的问题,快速恢复不能预防的问题,不再重复已发生的问题。
研究结论
通过实施SLO工程,B站实现了以下成果:
- SLO工程实践:通过定义SLI、SLO和错误预算,实现了对服务质量的量化监控和评估。
- SLO质量运营:建立了基于SLO的质量运营体系,实现了从故障发现到应急协同的全生命周期管控。
- SLO价值提升:通过GOC体系,实现了故障的快速发现、预定义、应急协同和快速恢复,提升了系统的整体稳定性。
具体实施步骤
- SLO定义:选择合适的时间窗口(滚动窗口或自然窗口),基于历史数据计算出推荐值,并与SRE和产品研发共同制定和优化SLO目标。
- SLI选择:选择能够直接体现目标对象稳定性的指标,如可用率、延时、吞吐等,并根据实际情况选择多个维度、多个指标。
- SLO错误预算:计算错误预算的消耗速度(燃烧率),并根据燃烧率设置告警策略。
- SLO告警:基于错误预算燃烧率设置告警,包括目标错误率告警、错误预算窗口消耗告警、SLO低于阈值告警、消耗率告警等。
- SLO质量运营:通过SLO报表和多时间窗口聚合数据产出报表,实现质量运营的全面监控和评估。
- GOC体系:通过故障发现、预定义、应急协同、快速恢复和事后复盘,实现故障的全生命周期管控。
总结
B站通过实施SLO工程,构建了一个全面的质量运营体系,实现了对系统稳定性的有效监控和评估。通过GOC体系,实现了故障的全生命周期管控,提升了系统的整体稳定性。这一实践为其他企业提供了宝贵的经验和参考。