什么是变更?
狭义:根据需求、问题修复而创建的研发、联调、上线并引起线上变化的过程。
广义:对实际线上系统的任何变动、操作。比如:
- 线上数据订正
- 线上配置调整
- 线上开关调整
我们理解变更有几个需要去考虑的点:
1)约束对线上的影响
2)以同等要求看待发布与线上变更
3)明确避免非管控的线上调整
4)最大程度提升线上的稳定性
研发变更和线上变更同等重要,但是他们之间又有一些很显著的差异:
研发变更
- 周期性并计划性发布
- 标准化流程与人员保障
- 通常代码发布的过程
- 确定性回滚方案
线上变更
- 突然性和非计划性
- 不在研发流程当中
- 非代码发布性
- 回滚不确定性
对于某些线上变更反而需要比研发变更要求更严格去关注,也就意味着它存在一定的风险,我们可以根据变更的一些行为和特点把它分成不同的风险级别。
- 高风险:可能会影响线上核心功能甚至导致故障
对于高风险我们需要非常严格谨慎的操作,甚至需要把预案和回滚方案明确好。 - 中风险:可能会影响线上功能并且产生线上问题,进一步引发故障
- 低风险:常规性影响,一般不会导致问题发生。
所以将变更的风险进行分级有助于我们针对不同类型的操作、不同类型的变更进行相关流程的定制,从而进行风险的管控。
风险管控
这里我们就需要