【转载】[浅谈灰度发布之多级发布]

概念:

灰度发布是最近一年在国内互联网讨论较多的一个话题。灰度发布在国外并没有明确的定义,在国内的百科上如此定义

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

由此也可见灰度发布很多时候都和AB测试混在一起,但实际上灰度发布还包含了多级发布的概念。

11年,Facebook的David Wei写了一篇文章《代码和产品发布的几种方式》明确分析了下几个概念:

1、多级发布:也可以称为分步代码发布,是一种代码发布的方式。基本操作是整个团队共用一个代码库,一定频率(比如每天一次,或者每周一次)把整个代码的最新版本做一个新的发布分支(release branch),把发布分支逐步发布到产品线。

2、AB测试:这是一种很成熟的概念,是产品发布的常用手段。比起分步代码发布,AB测试往往有更长的周期(比如几个星期甚至几个月)。基本操作是产品的开发者加一个或者多个配置控制(一般每个产品配置应该带有配置的ID),允许通过调节相应的配置来让一个产品发布到“逐步选择”的用户群。

从概念中可以看出多级发布和AB测试中最重要的区别:面向对象不一样。多级发布针对的是代码发布,AB测试针对的产品发布。本文主要讨论代码多级发布相关的需求和实现方案。

posted on 2013-08-02 17:06  sherry.wang  阅读(654)  评论(0编辑  收藏  举报