到底什么是持续交付中的灰度发布?

运维派——国内最大的IT运维社区,欢迎关注运维派微信公众号(ID: yunweipai),获取更多资讯

作者:优维科技CEO 王津银(江湖人称“老王”)

我在DevOps Master的授课中讲持续交付时,其中讲到发布频率的篇章,中文版里面的翻译是这样的(来源于精益企业):

持续发布,DevOps Master

英文版本是这样的(原版书):

持续发布,DevOps Master

同样的位置,请注意【灰度发布】和【Dark lauching】的表述。直到有个学员不断的问我灰度发布到底是什么?我在课堂讲过,灰度发布这个术语貌似是不存在的,但 一直没有去看英文原书。于是今天就去认真查了一下什么是dark lauching?

Dark launching is a technique of “wrapping” the code of new software features in a way that let you turn them on or off. Perhaps turning them on and off for all your users, or perhaps turning them on and off for only a subset of your users (that meet some criteria).

This technique that I’m calling “dark launching” is also known as “branching in code”, “feature flags”, “feature bits”, “feature toggles”, “flag flippers”, and “latent code”. I like “dark launching”, so I’ll mostly use that in this post :-)

其实dark lauching,就是不改变客户端程序(变更)的情况下,启动了新的功能,类似特性开关,当打开之后,用户变可以使用新的功能

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

  1. vincent说道:

    具体怎么实现能说下不?2个一样的实现了负载均衡的后台服务1一个升级1个不升级?然后就算灰度发布吗?50%用户使用新功能,50%使用旧功能。

    • 社区管理员说道:

      你说的这个不属于灰度发布,灰度发布更多的是一种策略,引用百度百科上的一段描述“AB测试就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。”

      如果你要做灰度发布,还需要考虑从前端(WEB/APP)到底层数据的一致性(比如:新版本的数据结构有调整,那这里还存在需要保存两份数据,等等之类的需要考虑),详细的实施实践,我们后面整理一篇分享给大家。

  2. Mao说道:

    去年搞过灰度发布与AB测试的分析。灰度发布与AB测试是两个完全不同的概念。

    灰度发布与AB测试要根据解决的问题领域来定义开,否则很容易混淆。
    1. 灰度发布:解决发布过程发生问题导致影响用户使用。
    2. AB测试:将新特性的多种实现方案发布给不同的受众,定义目标,收集数据并分析,然后确定哪个方案达到目标。AB测试的核心是数据分析。业界称这个为experiment。

    业界对灰度发布并没有一种严格的定义,针对灰度发布要解决的问题,实现方法有很多种,像亚马逊用Gamma发布、小规模Region上线;阿里、京东用LB分流内外部用户;亚马逊提供的蓝绿部署;甚至传统的电信领域主备升级都可以称为“灰度发布”。业界也没有dark launching的定义。

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部