回顾灰度升级与发布,最早始于互联网行业,在用户为王的时代,软件APP的更新周期直接决定了用户体验升级优化的节奏,所以小步快跑的灰度发布是一种普遍流行的软件升级和发布手段。先来看看灰度发布的概念描述,百度和知乎都对灰度发布给出了一致的定义:
灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布开始到结束期间的这一段时间,称为灰度期。
快速试错是其关键特征,互联网渴求这种能力,且已成为互联网行业业务上线发布的基础能力之一。那么电信网络是否需要这种能力呢?
电信领域在过去5~6年里经历了NFV大转型,运营商在痛并快乐着的过程中慢慢转换了观念,从最开始追求的软硬解耦,低成本COTS,逐渐向追求业务敏捷的业务本源靠近。在整个转型过程中,解决的关键问题是打开了传统电信领域的硬疙瘩,拥抱开放,面向未来的业务演进,这也是电信ICT转型的关键一跳。
近两年,5G已来的声势愈演愈烈,大有千行百业上5G之势。从单纯的2C业务向千差万别的2B业务发展是一个显著的5G标识。当然2C本身也在发生着巨大的变化,5G时代,针对高速现场直播、超高清视频,XR和云游戏、IoT等各种新业务的出现,运营商的商业从传统单一的流量计费,变成流量、速率、时延、连接数等多维度特性服务。这要求网络能力能够支持差异化能力呈现。2B面向千行百业的差异化需求更给电信网络带来巨大挑战,用户从固定专线到移动专线和专网,从单一的网络联接到集成行业应用。网络不再是无差别的流量分发和调度,需要提供更加多样化的行业能力。
放眼当下眼花缭乱的5G应用case,无论是面向2C的VR,高清直播,云游戏,还是面向2B的工业视觉,工业控制,自动导航等,细分场景之多,需求变化之快已经超出了以往2/3/4G任何一个时代,业务场景的变化必然带来网络随之变化。NFV将电信网络从传统盒子模式向软件定义模式迈出了第一步,5G则是要把这个软件变得更加灵活,更加敏捷,所谓敏捷首先要保证软件的快速升级,业务的快速试错,那么灰度升级与发布是不是变成了一个不错的选择。
华为首创电信级灰度升级方案,并已成功实现业界首商用落地。在面向5G演进的核心网网络中,华为进一步基于CloudNative等概念方法,将电信业务特点与IT先进理念完美结合,打造业界唯一的5G核心网灰度升级方案,助力5G业务敏捷可靠上线。
软件架构微服务,发布升级小快灵
实现电信软件的灰度升级首先是把软件进行微服务解构,啥叫微服务,下面这个图作了清晰的解释。

我们把传统的电信软件比作雕版印刷,单个汉字错误则导致整版废弃,耗时费力;微服务则完全颠覆了传统软件架构,就像活字印刷一样,个体错误不会导致整版返工,效率呈指数级提升。言而总之,将大颗粒的软件包分解成相互独立的小软件模块,以微服务的方式进行版本的开发,测试和发布,每个微服务有自己独立的版本号,升级时自动判断源版本和目标版本中每个微服务的版本号,只升级有变化的微服务,这样即可实现小快灵的增量软件发布。
周边设备无感知,升级操作全天候

传统电信软件的版本发布上线是排他性的,同一时间只能存在一个软件版本,而且升级过程要想做到业务无损,首先要做的就是花费大量时间将待升级设备上的用户迁移到Pool内其他设备上,需要评估这些在网设备的软硬件资源,业务模型等,同时针对周边无线,数通等设备进行相关的配置联动修改,牵一发动全身。如果无法采用Pool方式迁移用户,采用直接升级方式,必须在夜间进行操作,会导致业务中断30分钟以上,无法实现业务无损。灰度升级则打破了非黑即白的软件版本发布规则,基于软件三层解耦及无状态设计原则,实现多个版本会话的数据兼容,多版本服务或微服务实例共存,并通过负载均衡的智能业务分发能力实现外部网络设备无感知。系统内可同时存在两个软件版本,通过逐步滚动升级的方式,迁移至最终目标版本,无需提前准备用户迁移设备,无需关联修改无线,数通等设备,实现不分时段的全天候升级操作,业务“0”中断。
用户迁移分批次,业务变更低风险

传统电信软件版本升级完成后,所有用户就不得不接受新版本的考验,一旦出现问题,所有用户业务受损,损失无法估量。因此用户在版本间的迁移不应该是一蹴而就的,灰度升级场景下,系统支持在新版本上进行业务拨测,减少或避免测试床测试。使用测试用户进行已有特性和新特性的测试。当拨测发现问题后,可进行回退操作。回退时仅删除拨测用户,对其它用户无影响。支持小粒度试错迁移,支持分批次迁移。第一批次可迁移少量用户,以验证迁移过程的正确性。有问题可回退,只影响该部分用户。后续批次也可新旧版本长期共存,以便观察业务,无问题再进行下一批次迁移,进一步提高升级过程的可靠性。
华为长期致力于电信业务的ICT转型,携手运营商共同打造面向未来的数字化转型方案,借力灰度升级等系列化业务敏捷发布方案,构建敏捷健壮的电信网络,进一步促进5G行业数字化,实现小步快跑上5G。
