说真的,你们有没有发现一个特别有意思的现象?每次公司搞故障演练,大家表面上都认真配合,实际上心里都在想:这玩意儿不就是走个过场吗?我上周刚经历了一次演练,结果你猜怎么着?负责恢复数据库的小王居然在演练过程中偷偷刷起了短视频!
为什么大家都不把演练当回事?
我琢磨了很久,发现这事儿不能全怪员工。首先,很多公司的演练场景设置得太假了。比如就简单断个电、关个服务,这种小儿科的问题,平时运维闭着眼睛都能解决,谁还会认真对待?
还记得去年我们公司那次真实的宕机事故吗?数据库主从同步延迟导致订单数据丢失,整个技术团队折腾了六个小时才搞定。可现在的演练呢?还在玩”服务器重启”这种老掉牙的戏码。
演练成了形式主义的重灾区
我发现问题主要出在这几个方面:
- 演练时间永远选在业务低峰期,生怕影响线上业务
- 演练方案提前好几天就发到群里,大家早就把答案背熟了
- 就算演练失败了也没啥后果,顶多就是写个不痛不痒的总结报告
上周我们组新来的实习生跟我说:”姐,这演练跟考试前老师把答案都告诉我们有什么区别?”我当时就被问住了。
怎么才能让演练真正”练”起来?
其实我觉得关键是要给演练加点”料”。比如我们团队最近尝试了一个新方法:在完全不通知的情况下,随机选择一个工作日的下午两点,模拟一个真实的复杂故障。那次可把大家折腾惨了,但也收获最大。
有个同事在复盘会上说:”这次我才真正体会到,平时写的那些应急文档到底靠不靠谱。”
真正的演练,应该让人手心出汗,心跳加速,而不是像完成一个例行公事。
现在想想,故障演练之所以流于形式,很大程度上是因为我们都太害怕”出事”了。可问题是,不在演练中出事,难道要等到真实故障时再出事吗?
所以下次演练,我准备建议老板:把演练时间改到业务高峰期,故障场景要更刁钻,而且最重要的是——不给任何提前准备的时间。这样可能一开始会很狼狈,但总比真正出事时手足无措强得多。

太真实了,我们公司演练也这样,提前发方案还挑业务低峰期。