河北移动信息技术中心和华为团队在2022年正式启动BSS业务支撑领域的数智化转型,作为核心能力之一的灰度发布正式应用于生产,版本升级"更稳定、更迅速、更灵活"。
上线周期、架构复杂度、市场响应速度等要求越来越高,BSS面临众多挑战
BSS支撑系统承载河北移动全部业务的支撑和运营,随着移动业务快速蓬勃发展,业务场景丰富多样,客户体验及服务范围对系统支撑提出更高要求。需求更新加速、版本发布频繁,在保障客户新业务体验、服务不中断的前提下,仍面临三大挑战:
新业务需求日益增多,上线周期越来越短(月周天),对业务支撑系统的稳定性、支撑效率提出了更高的要求;
业务支撑系统逐步云化、微服务化后,规模更加庞大(1000+服务、30+核心应用),系统升级导致的问题定位复杂度和时长在逐步增加;
传统发布模式下夜间操作、系统中断、时间紧张、压力巨大,愈发不适用当前业务快速迭代发展和客户体验的要求。
为此,河北移动以“零中断、零影响、快迭代”为目标,对BSS支撑系统构建灰度发布能力,提供路由策略控制下的可控范围新版本试用,满足按地市、营业厅、工号的业务灵活验证需求,上线影响面受到良好管控,影响范围下降90+%,上线次日问题数量月均下降80%,达成版本快速迭代的目标,保障客户服务体验的同时,不断提升系统支撑效率和质量。
【灰度能力构建过程】贯穿于需求实现、版本交付各个关键节点
为支撑需求可灰度发布,需要制定全流程灰度发布规则,包括需求收集、系统分析、设计模型变更与数据兼容、系统开发等各个关键节点;同时需构建参数灰度库,保障数据库配置脚本可灰度发布:
1、需求阶段:初步判断是否涉及外围配合,依托需求管理平台增加灰度标志,用于灰度交付件的制作代码、脚本提取。
2、方案阶段: 设计灰度实现方案,并修订灰度标志。明确需求是否支持灰度,对于不支持灰度的需求重点评审,并在应用全量灰度期间通过参数进行控制。
3、开发阶段:严格落实方案设计,非灰度需求,提供灰度控制策略。
4、版本交付件:按照灰度脚本和非灰度分布提供。
5、交付件整理:按照一定规则,对上线脚本进行校验和归版整理
【灰度能力部署方案】部署“金丝雀”,实现灰度环境测试和试用、保障生产系统稳定
灰度能力构建过程中,为满足版本快速迭代能力,应用程序、参数数据库、公共组件需单独搭建,外部接入和业务数据与生产系统共用。
采用独立应用程序,便于独立发布,涉及前台程序、JCRM中间件、微服务
采用独立灰度参数数据库,独立redis(缓存系统字典)
共享外部连接和业务数据库
路由策略控制,客户无感知切换。灰度实现原理如下:
【灰度能力使用体验】总结积累经验,持续推进灰度能力使用、构建滚动发布能力
通过灰度能力构建,实现版本快速迭代,满足日益增多的客户个性化需求;同时业务支撑系统实现了发布风险范围可控,提高系统稳定性,提升服务质量,节约人力投入。
实现日间发布,基于灰度环境,可实现日常工作时间版本发布
影响范围可控,发布过程按照区、县逐步放开验证,最终实现全省滚动发布升级
单次灰度版本,人力节约50%,版本迭代周期提升200%,需求覆盖范围提升60%
客户无影响,在灰度和生产两套系统间平滑切换,用户无感知
河北移动灰度能力将从现有业务支撑系统拓展到内外部接口互联,持续扩大端到端灰度发布能力应用范围。打造灰度中心,推进灰度发布由金丝雀部署向滚动部署演进,实现012三步走版本发布模式:
Day0灰度中心预发布和测试验证
Day1单地市流量切入灰度中心
Day2全省放开的版本发布节奏,保障需求快速发布和系统稳定,提升服务质量,助力河北移动数智化转型加速和省内CHBN业务快速发展。