一、背景
在日常的需求变更和技术变更中,测试用例覆盖率很难达到100%,再加上变更过程中的各种原因,可能会导致生产环境出现故障。
针对生产故障处理,每位开发同学可能都会有不同的处理方式,如果处理方式得当,故障能够快速止血顺利恢复,反之可能会错上加错!!!
基于以往经验,在这里推荐一套通用的生产故障处理SOP
,他可能无法帮你快速定位问题,但是可以尽可能缩短恢复时间,降低故障影响!
二、参考流程
阶段一:快速处理(故障发现–>故障止血)【1-5-15】
步骤 | 内容 | 说明 | 故障发现时间 | 注意点 |
---|---|---|---|---|
步骤1 | 拉故障处理群、拉电话会议 | 先拉自己的直属Leader、运维人员 | 1min内 | 【第一时间执行!】,避免信息差! |
步骤2 | 识别故障类型、影响范围 | 执行预案、快速恢复(兜底、降级、灾备等等) | 5min内 | 【无法快速定位时】,直接进行步骤3 |
步骤3 | 梳理相关变更项(自身+上游) | 执行变更回滚、故障止血恢复 | 10min内 | 【无法恢复故障时】,直接进行步骤4 |
步骤4 | 联系业务、运营进行业务恢复 | 通过产品侧、运营侧的业务手段止血 | 15min内 |
阶段二:排查恢复(根因定位–>故障恢复)
步骤 | 内容 | 说明 | 故障发现时间 | 注意点 |
---|---|---|---|---|
步骤5 | 定位问题,根因排查 | 切勿在【阶段一】埋头查原因 |
||
步骤6 | 修复验证,故障恢复 | 做好验证再执行 |
阶段三:总结复盘(故障总结–>故障复盘)
步骤 | 内容 | 说明 | 故障发现时间 | 注意点 |
---|---|---|---|---|
步骤7 | 梳理时间线、原因和处理方案等 | |||
步骤8 | 故障复盘,总结经验教训 |
三、总结
以上是基于 快速恢复快速止血 为宗旨的故障处理SOP,不同的业务和团队可参考其中的处理流程,但需要注意以下几点:
信息同步
:第一时间拉群同步信息,避免信息差- 很多时候,很多简单的问题都是因为信息差,开发盲目排查,导致故障升级,酿成大错!!!
快速止血
:率先考虑应急预案、降级、开关逻辑等止血操作,切记勿要闷头排查!!!- 开发的通病:遇到问题总是想要定位问题,此时一定要转变思想,应该第一时间进行止血操作,减少资损
- 这里也需要加强日常开发中的稳定性意识,没有稳定性预案,可能当故障发生时只能通过回滚来恢复
故障复盘
:故障无法100%避免,所以一定要做好故障复盘,避免同类问题二次踩坑!- 吃一堑长一智,不怕犯错,但是不能犯同样的错
最后提一嘴,生产故障无法预知,无法避免,所以作为开发同学一定要 敬畏生产敬畏生产敬畏生产
!!!