6种应用部署策略对比

一、部署策略种类

应用发布策略或者叫部署策略(Deployment strategy),针对应用的部署形态、升级特征来划分类型,不同策略所需要的资源、技能、复杂度和面向的场景等等都有所差异。

1.1 停机重建(Recreate)

先停用V1版本,后在原资源上部署启用V2版本,演示如下。
在这里插入图片描述

1.2 滚动升级(Ramped、Rolling Update)

V2版本实例加入集群,逐个/批替换V1版本实例,演示如下。
在这里插入图片描述

1.3 蓝绿部署/红黑部署(Blue/Green、Red/Black)

先部署V2版本(绿),后接收V1版本(蓝)全部流量,演示如下。
在这里插入图片描述

1.4 灰度部署/金丝雀(Canary)

V2版本接收部分流量,后接替V1版本全部流量,演示如下。
在这里插入图片描述

1.5 A/B测试(A/B test)

V2版本接收特定条件(位置、浏览器等)的流量,演示如下。
在这里插入图片描述

1.6 影子测试(Shadow test)

V2版本镜像A版本真实流量,后接替V1版本,演示如下。
在这里插入图片描述

二、部署策略对比

发布策略新老并行不停机流量控制真流量测试用户采样资源成本回滚时长用户影响实施复杂度
停机重建×××××
滚动升级×××
蓝绿部署
红黑部署
××××
灰度部署
金丝雀
×
A/B测试
影子测试××

三、示例说明

前后三种(灰度、A/B、影子)分别被Google单独划分为部署策略和测试策略,这里全部作为部署策略来看待。其中的蓝绿、灰度和A/B都和流量的多少有关。蓝绿是一把全流量切换,A/B是无筛选的部分流量切换,而A/B是特定流量的切换。蓝绿,注定了需要全局充分测验之后才能接受整体切换的流量,灰度的新版本即便造成故障也只是一部分的流量,而A/B更多的在于比较不同用户(区域、浏览器版本等)针对不同版本的体验,可以用来做比对性选择,本质上是用“小白”来试验。

举个例子,假设在全球不同区域都部署了同一个版本的集群实例,我们做版本升级的时候,肯定是逐个区域地实施。一来,把控实施进度;二来,即便故障也好及时识别和完善。这个场景下,说它是滚动升级、灰度部署和A/B都可以。时而看到一个电子商务站点,不同区域的人访问同一个页面却有所差异就是这么回事。也就是说,这几个策略,在大小实例/集群都是适用的,不用角度或者视角上表现有所差异,主要看到底目的是什么。

四、参考材料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值