1、 SRESRE 实践白皮书实践白皮书 v1.0.4v1.0.4 2024年9月 SRE-E 修 订 记 录修 订 记 录 1.0.4 修订记录:第三章第 2 节研发保障结构进行了优化,并增加了 某大型游戏全球研发保障实践等合共 2 个案例,新增2.7 万字。第三章第 5 节故障应急结构进行了优化,依据2024 年 6 月 22 日 北京小米站沙龙更新并增加了小米故障应急响应经验分享等合共 5 个案例,新增 4.5 万字。1.0.3 修订记录:第三章第 4 节变更管理依据 2024 年 4 月 13 日上海 B 站沙龙更新约 4 万字,包括 6 篇不同类型的企业案例 1.0.2 修订记录:增加了
2、版权声明 为 CC BY-ND 4.0 修正了目录没有 3.1.1 的问题 修改了页眉的时间点 修正了部分错别字 目 录目 录 第一章 SRE 整体介绍.1 1.1 前言.1 1.2 SRE 发展历程.2 1.3 SRE 的目标.4 第二章 SRE 的组织架构.6 第三章 SRE 的职能.10 1 可靠性架构设计.10 1.1 应用韧性架构.11 1.1.1 分布式设计.11 1.1.2 解耦设计.11 1.1.3 冗余设计.11 1.1.4 熔断设计.12 1.1.5 限流设计.12 1.1.6 降级设计.13 1.1.7 可观测设计.13 1.2 基础设施保障.14 1.2.1 机房多活.
3、14 1.2.2 网络容灾.14 1.3 数据灾备.14 1.3.1 数据备份.14 1.3.2 数据回滚.14 2 研发保障.15 2.1 研发保障体系设计.16 2.1.1 代码可靠性.16 2.1.1.1 代码缺陷.17 2.1.1.2 代码规范.19 2.1.1.3 代码安全.21 2.1.1.4 代码圈复杂度.23 2.1.1.5 代码重复.24 2.1.1.6 代码注释与 API 文档.26 2.1.1.7 代码质量红线.27 2.1.2 代码仓库可靠性.28 2.1.2.1 仓库性能.29 2.1.2.1 仓库容灾.30 2.1.2.3 仓库安全.32 2.1.2.4 仓库可扩展
4、性.33 2.1.3 构建可靠性.34 2.1.3.1 构建效率.34 2.1.3.2 构建成功率.37 2.1.4 制品可靠性.38 2.1.4.1 制品下载可靠性.38 2.1.4.2 制品部署可靠性.40 2.1.4.3 制品安全可靠性.41 2.2 研发保障工程体系设计.42 2.2.1 面向研发保障的持续集成流水线.42 2.2.2 面向研发保障的可观测设计.46 2.2.3 面向研发保障的操作调度操作平台.48 2.2.4 面向研发保障的 ITSM 平台.51 2.2.5 面向研发保障的容器平台.51 2.2.6 面向研发保障的编译加速平台.53 2.3 研发保障案例.55 2.3
5、.1 腾讯游戏全球研发保障实践.55 2.3.2 某语音直播公司研发过程保障实践.129 SRE Elite 精选原因.129 3 入网控制.152 3.1 运行环境适配.152 3.1.1 运营环境设计.152 3.1.2 容器云适配.154 3.1.3 数据库存储适配.157 3.1.4 信创适配.158 3.2 运行环境交付.163 3.2.1 基础资源服务.163 3.2.2 可观测策略.165 3.2.3 自动化策略.167 3.3 测试策略.169 3.3.1 连通性验证.169 3.3.2 功能测试.171 3.3.3 性能压测.174 3.3.4 数据迁移.179 3.4 变更
6、评审.180 3.4.1 稳定性架构设计评估.180 3.4.2 非功能性技术评估.182 3.4.3 变更保障准备工作评估.185 3.4.4 新系统或新业务上线保障评估.186 4 变更管理.188 4.1 发布管理与变更管理关系阐述.189 4.2 变更体系设计.191 4.2.1 变更体系设计原则.191 4.2.2 变更及发布流程设计.192 4.2.3 变更的工程体系设计.215 4.3 变更管理案例.243 4.3.1 B 站变更防控的设计与实践.243 4.3.2 携程云平台基础设施变更管理实践.266 4.3.3 某银行变更管理设计与实践.288 4.4 发布管理案例.307