容器云之灰度发布设计

【摘要】本文梳理了灰度发布及相关概念,探讨了在以应用管理为核心的容器云平台或容器化 PaaS 平台如何设计灰度发布功能,最后对灰度发布提出了3条建议遵循的设计原则。

灰度发布是应用服务从 0 到 1 完全发布的过程。在容器云平台上,一个服务往往部署有很多个实例以根据业务流量实现弹性伸缩。为了验证某个服务或应用的某一特性,或者验证某一服务的功能,在发布一个新的服务版本时,先发布 1 个或少量实例,通过对新特性的反馈分析或新功能的验证分析来决定是否继续发布实例(或替换实例)或回滚。灰度发布和 A/B 测试、发布新版本和版本替换有相同点也有区别。

软件版本控制

要说清楚灰度发布和 A/B 测试、发布新版本、版本替换等概念差别,先说下软件版本控制问题。软件产品对外发布版本号有 Alpha 、 Beta 、 Released 版本等。Alpha 、 Beta 是对外发布的测试版本, Released 指的是对外发布的正式版本。每个发布的版本号中通常包括为 Major (主版本号)、 Minor (小版本号)、 Patch (补丁版本号)、 Hotfix (热修复版本号)、 internal (内部版本号) 版本号等。,比如 Released 版本 v1.2.3.4.10 ,其中 1 为主版本号,通常软件架构重构或升级才会调整主版本号;2 为小版本号,通常重要特性发布需要调整小版本号;3 为补丁版本号,通常是为了修复已发布的版本中的系列漏洞而发的一个补丁版本或补丁包;4 为热修复版本号,通常用于紧急修复一些有重大影响的问题,多个的 hotfixes 可以打包成一个 patch 补丁包;10 为内部

猜你喜欢

转载自blog.csdn.net/weixin_57147647/article/details/131158776