互联网应用灰度发布建设实践2024 年 6 月,农商行信息部历时 5 个月时间精心打造的灰度发布平台正式在企业网银上线,企业网银从此可以实现不停机地版本发布
在金融科技化的时代,灰度发布可以让应用更快地进行迭代,以更高的频率发布到市场,同时还能减轻运维人员的负担,并且给用户带来更好的体验
为什么要使用灰度发布传统金融正在向互联网金融进行转型和过渡,互联网应用的一大特点就是高频率的版本发布,这样才能使业务部门开发的新产品快速地投入市场,猎取更多的用户
我行提供的金融服务已经覆盖了企业和个人的方方面面,新功能的发布、第三方接口的变更、问题的修复都会需要进行应用的升级
但是对于运维部门来说,应用变更总是伴随着风险和压力
以往我行每次互联网应用更新均需要在 23:00 停机后才能进行,常常在凌晨才能完成上线,每次上线投产后由于时间窗口较晚、验证时间较短,有些场景需要隔日验证,无法对所有场景进行覆盖,无法保证互联网应用的稳定性
同时对于业务部门和开发部门来说,新的产品和功能是否能被大部分用户接受,也存在一定的风险
灰度发布,就是解决以上矛盾的一个最好方法
灰度发布也叫金丝雀发布,名字起源于以前矿工下矿井前,先会放一只金丝雀进去探测是否有有毒气体
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度
灰度发布开始到结束期间的这一段时间,称为灰度期
应用系统通过灰度发布可以实现以下目标
提高应用稳定性:即使新版本出现问题,也只会影响很小部分的用户,波及范围可以提前控制;提高产品质量:灰度发布等于是让用户来参加测试,通过真实流量来检验应用质量,同时可以根据这一小部分尝鲜用户的反馈及时对应用进行改进;应用更新更加有序和自动:以往的变更,需要经历停机、升级、投产、验证,投入较大,但假如以灰度发布的方式,逐渐更新,就可以实现不停机的应用更新,甚至可以在白天发布应用