Denny

大规模平台里质量与稳定性不是补丁

· 1 分钟阅读 ·

在小型系统里,质量工作和功能开发是分开的:先把功能做出来,然后加测试、然后考虑稳定性。

在大型平台里,这个思路会出问题。

规模化带来的变化

当系统规模扩大时:

  • 故障成本指数上升。一次故障影响的用户、数据、业务量都更大。
  • 问题定位更困难。分布式追踪、跨服务调试、状态一致性…
  • 变更风险增加。模块之间的依赖变得更复杂,影响范围更难评估。

这时候,质量工作不能再是”做完功能再补”。

质量内建到架构里

好的大规模平台会把质量保障作为架构设计的一部分

观测先行。新服务上线前,metrics、logs、traces 必须到位。不是事后补的。

变更门控。所有变更都要经过多层次的检查:单元测试、集成测试、canary、灰度…

故障注入。主动在生产环境引入故障,验证系统的韧性和告警机制。

SLO 驱动。用 SLO 定义服务质量,告警和稳定性优化都围绕 SLO 进行。

文化比工具更重要

技术手段能解决一部分问题,但文化更重要:

  • 谁制造了故障,谁主导修复。而不是出了问题交给运维。
  • 稳定性是每个人的责任。不只是 SRE/PE 的事。
  • 敬畏变更。再小的变更都可能是故障的源头。

这些说起来简单,执行起来需要持续的工程文化建设。