蚂蚁集团变更管控实践
目录
CONTENTS
变更管控的意义
变更管控的方法和架构
变更管控如何智能化
我们的未来规划
1
2
3
4
01变更管控的意义
变更管控的价值与复杂性
亚马逊系统复杂度 NETFLIX系统复杂度
系统复杂度无法避免:任何设计系统的组织产生的所有设计都将受限于组织间的沟通结构。
稳定性问题引发因素:变更是导致线上稳定性问题的主要引发因素,如何进行变更风险防控,降低企业的稳定性风险。
GOPS全球运维大会2023·上海站
编码和变更问题占比一半以上
研发效率
技术研发:追求敏捷开发、DevOps
业务运营:高效的配置变更,快速上线运营活动
接口依赖、数据依赖、消息依赖…
系统复杂性
组织协同
随着企业/业务体量的增大,研发模式必然会向着更多元、更复杂的形式演进。中间会存在大量的沟通成本与信息差
变更管控的价值与复杂性
GOPS全球运维大会2023·上海站
02变更管控的方法与架构
如何定义变更
变更≠ops
变更是对线上服务“状态”的修改
操作由内部人员发起
GOPS全球运维大会2023·上海站
OCMS(OpenChangeManagementSpecification)
从技术视角,定义变更的信息与技术模型
兼容不同背景下的各类变更,做到“统一化”
屏蔽上层业务带来的信息差异,为后续变更防御、变更搜索、变更审计提供标准模型
为其他技术风险领域能力,提供标准的信息结构
让更专业的人做更专业的事
代际名称
支持的变更流程和生效方式
G0
以事件通知的协议接入,不提供管控能力,仅可做变更事件的通知、搜索
G1
对于无法按照批次拆分一步一步生效的变更,做单节点的变更流程管控
G2
可以按照批次拆分生效的变更(如集群服务器重启),做完整工单的变更流程管控
G3
在有完整的变更工单管控的基础上,增加了变更提单阶段的管控
G4
在变更提单管控的基础上,增加了变更无人值守的决策能力
如何防控变更中的风险
不可能100%提前发现所有问题
使变更引发的风险可控/可接受
相对完善的前后置防御能力
随着变更的持续执行,风险的发生概率是逐步收敛的
GOPS全球运维大会2023·上海站
灵活的变更防御框架
防御能力路由:针对不同变更,通过配置表达式的形式,路由到不同防御能力集合,满足不同背景下变更的防御检测多样性诉求
防御能力调度与并行执行:各防御能力间相互独立,按照一个“统一的结构”进行返回
3.开放性的防御SPI:不同部门/业务的风险防控人员,可根据自己的需求,以FaaS化的形式进行防御校验逻辑的集成
GOPS全球运维大会2023·上海站
03变更防控如何智能化
从研发的视角入手
监控
我的CPU利用率有没有飙升?
我的日志里面有没有Error?
我的上下游系统的服务,有没有报错
时序指标的异常检测
日志异常堆栈的变化情况检测
链路级别的业务错误检测
日志
GOPS全球运维大会2023·上海站
上下游
时序指标异常检测–智能变更监控
GOPS全球运维大会2023·上海站
日志堆栈异常检测–新增/突增异常
训练阶段:将通用错误日志中的异常信息进行正则化处理,并将处理后的日志正则模板按照相似度进行分类,构造该系统的日志模板库。
GOPS全球运维大会2023·上海站
预测阶段:将系统实时采集异常日志信
息同样进行正则化处理,并与模板库中全量模板进行相似度拟合,得出该异常是否为新增异常的结论;针对突增异常,需要计算异常模板计数,预测思路和时序异常检测思路相似。
上下游系统服务报错–链路异常检测
简单模式:通过trace日志聚合即可反映出系统间每笔流量的调用异常情况以及业务错误码的变化情况,但这种方式的问题在于计算量过于庞大,极度损耗资源。
结合中间件:将每笔流量的调用携带特
殊标记进行透传染色,这样既能明确感知一笔流量所经过的系统链路,又能在透传的同时携带系统交互的关键信息,从而实现整条链路的异常检测。
GOPS全球运维大会2023·上海站
配置值自适应校验
GOPS全球运维大会2023·上海站
04我们的未来规划
GOPS全球运维大会2023·上海站
开源社区:AlterShield
云原生场景快速集成:通过KubernetesOperator机制,将OCMS部分下沉到集群中,实现了滚动升级场景的免接入。同时,AlterShieldOperator本身提供了分批发布的托管方式,无需再集成其他CI/CD工具。但AlterShieldOperator也保留了其