3.3.4 故障复盘
企业基本每天都会面临新服务或新系统的上线和迭代。线上故障和事件在当前的业务架构规模和发展速度上是不可避免的。当故障发生后,如果不及时、深刻地去对故障的根因和处理过程进行分析改进,很难保证下次类似的问题不会出现甚至扩大化,所以故障复盘对业务稳定性建设非常重要。集团复盘遵循以下标准流程:
•过程回溯:可使用5-why方法提出多个问题对处理过程进行深挖。如本次故障
为什么会发生?为什么没有提前发现?过程中各个团队是如何处理的?处理过程是否有可以优化的空间?
•问题剖析:回溯完成过程之后,需要深层次剖析:是否流程机制层面问题?是否质量检验层面问题?是否产品业务层面问题?是否系统设计层面问题?有没有更好的防御机制?如何避免再次发生?
•经验总结:剖析出来深层次原因之后,需要切实给出可落地的Action:包括给出短期治标Action,长期治本Action,以及沉淀经验和教训。
•定级定责:完成原因和改进方案后,针对本次故障做最终的等级认可和故障责任划分。责任团队分为主要责任团队和次要责任团队,以及测试责任团队。
复盘文档一般包含以下内容:故障简述(故障概述、影响面、处理人等)、故障背景(业务链路)、故障时间线(着重强调【故障引入】【故障发生】【故障发现】【业务响应】【恢复执行】【故障恢复】几个时间点)、故障原因分析(建议先一句话总结,再进行具体原因剖析)、故障过程分析(可从需求评估、代码发布、故障应急等环节进行分析)、后续改进、故障等级/责任。