详解蓝绿部署、金丝雀发布(灰度发布)、A/B测试的准确定义

最近一直听他们说金丝雀发布,工作这么多年,竟然不知道金丝雀发布是什么意思。想想,感觉挺丢人的,因为我们之前的项目发布是使用的灰度发布。出于好奇,就学习了一下。
下面,就详细介绍一下,灰度发布、蓝绿部署、滚动部署、A/B测试,这几个概念。

  1. 蓝绿部署
    目的:减少发布时的中断时间、能够快速撤回发布
    蓝绿部署中,一共有两套系统:一套正在提供服务的系统,标记为“绿色”;另一套是准备发布的系统,标记为“蓝色”。两套系统都是功能完善的,并且正在运行的系统,只是系统版本和对外服务情况不同。
    蓝色系统作用:用来做发布前测试,测试过程中发现任何问题,可以直接在蓝色系统上修改,不干扰用户正在使用的系统。
    蓝色系统经过反复的测试、修改、验证,确定达到上限标准后,直接将用户切换到蓝色系统。
    切换后的一段时间,依旧是蓝绿两套系统并行,但是用户访问的已经是蓝色系统。这段时间内观察蓝色系统(新系统)工作状态,如果出现问题,直接切回绿色系统。
    当确信对外提供服务的蓝色系统工作正常,不对外提供服务的绿色系统已经不再需要的时候,蓝色系统正式成为对外提供服务系统,成为新的绿色系统。原先的绿色系统可以销毁,将资源释放出来,用于部署下一个蓝色系统。
    蓝绿部署只是上线策略中的一种。
    蓝绿部署能够简单快捷实施的前提是目标系统是非常内聚的,如果目标系统相当复杂,那么如何切换、两套系统的数据是否需要以及如何同步等,都需要仔细考虑。
  2. 滚动部署
    滚动部署:就是在发布过程并不一下子启动所有新版本,而是先启动一台新版本,再停止一台老版本,然后再启动一台新版本,再停止一台老版本,直到全部发布完成。
    滚动部署能够解决蓝绿部署对硬件要求增倍的问题。
  3. 金丝雀(Canary)发布
    来源:
    “ Canary (金丝雀部署/发布)”这种命名来源于 19 世纪一种古老的煤矿开采技术。矿井中通常会含有一氧化碳和其他可能导致矿工死亡的危险气体。金丝雀对空气中的毒素比人类更敏感,因此它们会被用作早期探测器,保障矿工的安全。

在Canary (金丝雀部署/发布)中,一小部分用户会优先使用到新的版本及功能,用于验证该版本是否满足其设定的要求。当然,这一小部分用户同样可以检测潜在的错误和中断,而不会影响其他所有正在运行的系统。

应用策略
选择哪些用户会看到 Canary 是有不同的策略的,即如何挑选“一小部分”用户:

一个简单的策略是使用随机样本

一些公司选择在发布之前将新版本发布给其内部用户和员工

另一种更复杂的方法是根据用户的个人资料和其他人口统计数据来选择用户

金丝雀(Canary)发布也是一种发布策略,即灰度发布。
金丝雀发布指的是在生产环境中分阶段逐步更新后端应用的版本(需要具备流量控制能力),在小范围验证符合预期之后,再推广至整个生产环境。
金丝雀发布的好处:可以用真实环境测试新版本,当新版本存在问题时最多只影响部分用户,且支持安全快速的回滚策略(将路由到新版本上的流量切换到其他老版本机器上即可)。
蓝绿部署是准备两套系统,在两套系统之间进行切换;金丝雀策略是只有一套系统,逐渐替换这套系统。
4. A/B测试
A/B测试和蓝绿部署、金丝雀完全是两回事。
蓝绿部署和金丝雀是发布策略,目标是确保新上线的系统稳定,关注的是新系统的BUG、隐患。
A/B测试是效果测试,同一时间有多个版本的服务对外服务,这是服务都是经过足够的测试,达到了上线标准的服务,有差异但是没有新旧之分。(它们上线的时候可能采用了蓝绿部署的方式)
A/B测试关注的是不同版本的服务的实际效果,譬如说转化率、订单情况等。
A/B测试时,线上同时运行多个版本的服务,这些服务通常会有一些体验上的差异,例如页面样式、颜色、操作流程不同。相关人员通过分析各个版本服务的实际效果,选出效果最好的版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值