生产故障处理SOP分享

一、背景

在日常的需求变更和技术变更中,测试用例覆盖率很难达到100%,再加上变更过程中的各种原因,可能会导致生产环境出现故障。

针对生产故障处理,每位开发同学可能都会有不同的处理方式,如果处理方式得当,故障能够快速止血顺利恢复,反之可能会错上加错!!!

基于以往经验,在这里推荐一套通用的生产故障处理SOP,他可能无法帮你快速定位问题,但是可以尽可能缩短恢复时间,降低故障影响!

二、参考流程

阶段一:快速处理(故障发现–>故障止血)【1-5-15】

步骤 内容 说明 故障发现时间 注意点
步骤1 拉故障处理群、拉电话会议 先拉自己的直属Leader、运维人员 1min内 【第一时间执行!】,避免信息差!
步骤2 识别故障类型、影响范围 执行预案、快速恢复(兜底、降级、灾备等等) 5min内 【无法快速定位时】,直接进行步骤3
步骤3 梳理相关变更项(自身+上游) 执行变更回滚、故障止血恢复 10min内 【无法恢复故障时】,直接进行步骤4
步骤4 联系业务、运营进行业务恢复 通过产品侧、运营侧的业务手段止血 15min内

阶段二:排查恢复(根因定位–>故障恢复)

步骤 内容 说明 故障发现时间 注意点
步骤5 定位问题,根因排查 切勿在【阶段一】埋头查原因
步骤6 修复验证,故障恢复 做好验证再执行

阶段三:总结复盘(故障总结–>故障复盘)

步骤 内容 说明 故障发现时间 注意点
步骤7 梳理时间线、原因和处理方案等
步骤8 故障复盘,总结经验教训

三、总结

以上是基于 快速恢复快速止血 为宗旨的故障处理SOP,不同的业务和团队可参考其中的处理流程,但需要注意以下几点:

  • 信息同步:第一时间拉群同步信息,避免信息差
    • 很多时候,很多简单的问题都是因为信息差,开发盲目排查,导致故障升级,酿成大错!!!
  • 快速止血:率先考虑应急预案、降级、开关逻辑等止血操作,切记勿要闷头排查!!!
    • 开发的通病:遇到问题总是想要定位问题,此时一定要转变思想,应该第一时间进行止血操作,减少资损
    • 这里也需要加强日常开发中的稳定性意识,没有稳定性预案,可能当故障发生时只能通过回滚来恢复
  • 故障复盘:故障无法100%避免,所以一定要做好故障复盘,避免同类问题二次踩坑!
    • 吃一堑长一智,不怕犯错,但是不能犯同样的错

最后提一嘴,生产故障无法预知,无法避免,所以作为开发同学一定要 敬畏生产敬畏生产敬畏生产!!!

---------- 😏本文结束  感谢您的阅读😏 ----------
评论