寓言
救火队和档案馆
市政厅下面有两个部门:救火队和档案馆。救火队的指标是「接警后几分钟到场」,档案馆的指标是「每次备份覆盖多少天的文件」。两个部门各自运转,井水不犯河水,直到市政府统一招标了一套「灾备系统」,把两件事揉进了一份标书里。
中标的供应商给了两个数字:系统故障后四小时内恢复,数据每天凌晨备份一次。市政信息中心主任老贾看了数字,觉得还行,签了合同。系统上线后六个月,市政内网被勒索病毒加密了。
老贾下令启动灾备恢复。供应商说系统可以恢复,但最近一次备份是今天凌晨两点。病毒是下午四点发的,两点到四点之间处理的审批工单、签发的许可证、录入的缴费记录,全部丢掉了。老贾急得跳脚:你跟我说四小时恢复,没说会丢两小时的数据。供应商摊手:你标书里写的 RTO 四小时,没写 RPO 多久。
老贾把这次事故掰开来看。四小时恢复指的是「救火队什么时候把火灭了」,两小时数据丢失指的是「档案馆上次归档之后到火灾之间写了多少没存档的东西」。这两个数字衡量的是完全不同的两件事:一个衡量响应速度,一个衡量数据损失。把两件事写进同一个技术要求里,等于根本没提数据损失的要求。
老贾重新写了灾备标书。RTO 从四小时压到一小时——需要加一台热备服务器。RPO 从二十四小时压到五分钟——需要换用准实时同步方案。两个数字改完,预算翻了四倍。老贾拿着新标书找领导要钱。
领导问:为什么之前四小时够用,现在一小时不够?老贾把上次事故的时间线贴在领导桌上:四小时恢复是够——但那次丢了两小时数据,市民排队补办工单的投诉电话打爆了热线。恢复得快不代表丢得少。高速恢复搭配大段数据丢失,跟没恢复差不多。
老贾后来给各科室做培训,画了两个钟。第一个钟指着从故障到恢复的时长,叫「能等的极限」。第二个钟画了一段被涂黑的区间,标注「这段时间里的所有动作全丢」,叫「能丢的极限」。他问各科室负责人:你们的业务,能等多久?能丢多久?两个答案不一样,灾备方案就不一样。
年底老贾收到一封供应商的感谢信,说这套标书格式被他们内部当成了客户需求沟通模板。老贾回信说:不是我写得周全,是被病毒教训了之后才想明白的。灾备不是一道题,是两道题。两道题分开问,答案才能对得上方案。