3. 业务影响分析(BIA)与风险评估

灾备方案不是从“买几台备用服务器”开始的,而是从“业务能承受多大的中断”开始的。业务影响分析(Business Impact Analysis,BIA)要回答三个问题:哪些业务功能最关键、它们依赖什么、停多久会造成多大损失。风险评估则进一步回答:这些依赖中哪些最可能出问题、后果有多严重。两者结合,才能推导出每个业务系统真正需要的 RTO(恢复时间目标)与 RPO(恢复点目标),形成可落地的需求矩阵。

一、识别关键业务功能:从业务能力而非服务器出发

BIA 的第一步是列出业务功能,而不是列出 EC2 实例或数据库。业务功能是“公司对外或对内必须持续提供的能力”,例如:电商下单与支付、订单履约与发货、会员登录与鉴权、客服工单受理、财务对账与结算、内部报表查询。每个功能都应指定一名业务负责人,由他确认中断影响,而不是由运维单方面判断。

识别时可用“收入影响、客户影响、合规影响、内部效率影响”四个维度打分。以示例评分(1~5 分,5 为最严重)为例:下单支付收入影响 5、客户影响 5、合规影响 3、内部效率影响 2;内部报表查询分别为 1、1、2、4。评分不是为了精确计算,而是为了把功能排出优先级,避免所有系统都被标成“最高优先级”。

二、梳理依赖关系:业务功能到技术组件的映射

关键功能确定后,要向下拆解依赖。一个业务功能通常依赖多层组件:接入层(Route 53、CloudFront、ALB)、应用层(ECS/EKS/Lambda)、数据层(RDS/Aurora、DynamoDB、ElastiCache)、集成层(SQS、SNS、EventBridge)、身份层(Cognito、IAM)、外部依赖(支付网关、短信服务商、物流接口)。依赖关系必须区分“强依赖”和“弱依赖”:支付网关不可用会直接阻断下单,属于强依赖;推荐服务不可用只影响转化率,属于弱依赖,可降级。

依赖梳理还要标注共享组件。例如多个业务功能共用同一个 Aurora 集群、同一个 VPC、同一个 KMS 密钥或同一个第三方支付通道。共享组件一旦故障,会同时影响多个功能,是风险评估中的重点对象。下图展示了从业务功能到技术依赖、再到 RTO/RPO 需求的推导关系。

BIA 推导 RTO / RPO 需求矩阵 业务功能 下单与支付 订单履约 会员登录鉴权 客服工单 财务对账 技术依赖(强/弱) ALB / ECS / Lambda Aurora 集群(共享) SQS / EventBridge Cognito / IAM 支付网关(外部强依赖) 停机影响 收入损失 客户流失 合规处罚 内部效率下降 RTO / RPO Tier 1 Tier 2 Tier 3 Tier 4 停机成本随时间变化(示例) 停机时长 → 累计损失 → RTO 阈值 RPO 阈值 损失快速上升区 风险评估矩阵(可能性 × 影响) 影响程度 → 发生可能性 → 低 中 高 中 高 高 高 高 极高 共享 Aurora 故障 支付网关中断 区域级故障

三、量化停机成本:把“很严重”变成可比较的数字

停机成本要尽量量化,至少给出量级。常用拆解方式:

  • 直接收入损失:每分钟订单数 × 客单价 × 毛利率。示例:某电商每分钟约 120 单,客单价 180 元,毛利率 25%,则每分钟毛利损失约 5400 元。
  • 补偿与退款成本:中断后用户取消、优惠券补偿、客服人力增加。
  • 合规与合同罚则:SLA 违约赔付、监管上报义务。
  • 客户信任与流失:难以精确计算,可用“预计流失客户数 × 客户生命周期价值”做保守估算。

把上述项按小时累加,可得到“停机成本曲线”。曲线通常不是线性的:前 15 分钟可能只是体验下降,超过 1 小时后损失快速上升,超过 4 小时可能触发合同罚则。曲线的拐点就是 RTO 的重要参考。RPO 则对应“能丢多少数据”:订单数据丢失 5 分钟可能可接受,支付流水丢失 1 分钟都不可接受。

四、风险评估:可能性 × 影响

风险评估把“依赖项”与“故障场景”对应起来,评估发生可能性与影响程度。常见场景包括:单可用区故障、区域级故障、数据库误删、勒索软件、配置误发布、第三方支付网关中断、IAM 密钥泄露。评估时不要只写“可能发生”,要给出依据,例如“过去 12 个月发生过 2 次 AZ 级网络抖动”“支付网关近一年有 3 次 30 分钟以上中断”。

风险矩阵中,高可能性 + 高影响的场景应优先设计缓解措施。例如共享 Aurora 集群同时被下单、履约、对账依赖,一旦故障影响面极大,应优先考虑 Aurora Global Database 或跨区域只读副本;支付网关属于外部强依赖,应设计降级路径(如先落单后支付、切换备用通道)。

五、输出 RTO/RPO 需求矩阵

BIA 与风险评估的最终交付物是 RTO/RPO 需求矩阵。矩阵按业务功能或系统分层,通常分为 Tier 1~Tier 4。分层依据是停机成本与合规要求,而不是技术偏好。示例矩阵如下:

层级 业务功能示例 RTO RPO 典型策略
Tier 1 下单与支付、支付流水 ≤ 15 分钟 ≤ 1 分钟 多可用区 + 跨区域热备,Aurora Global Database
Tier 2 订单履约、会员登录 ≤ 1 小时 ≤ 5 分钟 多可用区自动切换,跨区域备份
Tier 3 客服工单、内部报表 ≤ 4 小时 ≤ 1 小时 备份恢复 + 基础设施即代码重建
Tier 4 历史归档查询、测试环境 ≤ 24 小时 ≤ 24 小时 定期快照,按需恢复

矩阵中的 RTO/RPO 是业务需求,不是技术承诺。技术团队需要评估当前架构能否满足,若不能满足,则要提出差距与改造方案。例如当前 Aurora 只有单区域多可用区,RPO 约 5 分钟,无法满足 Tier 1 的 1 分钟 RPO,就需要引入 Aurora Global Database 或变更数据捕获到跨区域流存储。

实用建议:BIA 访谈时,不要问“你们需要多快恢复”,而要问“如果中断 30 分钟,你们会做什么决定?如果中断 4 小时,谁会打电话给 CEO?”用具体场景逼出真实优先级,比让业务方直接填 RTO 数字更可靠。
常见误区:把所有系统都定为 Tier 1,会导致灾备成本失控;只按技术组件分层而不按业务功能分层,会导致关键业务被低优先级组件拖累。RTO/RPO 矩阵必须由业务负责人签字确认,并随业务变化定期复审。