大规模平台里质量与稳定性不是补丁
在小型系统里,质量工作和功能开发是分开的:先把功能做出来,然后加测试、然后考虑稳定性。
在大型平台里,这个思路会出问题。
规模化带来的变化
当系统规模扩大时:
- 故障成本指数上升。一次故障影响的用户、数据、业务量都更大。
- 问题定位更困难。分布式追踪、跨服务调试、状态一致性…
- 变更风险增加。模块之间的依赖变得更复杂,影响范围更难评估。
这时候,质量工作不能再是”做完功能再补”。
质量内建到架构里
好的大规模平台会把质量保障作为架构设计的一部分:
观测先行。新服务上线前,metrics、logs、traces 必须到位。不是事后补的。
变更门控。所有变更都要经过多层次的检查:单元测试、集成测试、canary、灰度…
故障注入。主动在生产环境引入故障,验证系统的韧性和告警机制。
SLO 驱动。用 SLO 定义服务质量,告警和稳定性优化都围绕 SLO 进行。
文化比工具更重要
技术手段能解决一部分问题,但文化更重要:
- 谁制造了故障,谁主导修复。而不是出了问题交给运维。
- 稳定性是每个人的责任。不只是 SRE/PE 的事。
- 敬畏变更。再小的变更都可能是故障的源头。
这些说起来简单,执行起来需要持续的工程文化建设。