美文网首页
(转)如何在Azure Web App中使用Canary(或A/

(转)如何在Azure Web App中使用Canary(或A/

作者: 往事依然如烟 | 来源:发表于2017-08-17 15:29 被阅读0次

    如何在Azure Web App中使用Canary(或A/B)部署

    Canary(或A/B)部署介绍

    大型网站升级时,常采用的方法是先将升级代码部署在过渡服务器上,并将部分用户导流到过渡服务器使用新功能。经过一段时间的用户验证,确定功能无误后才发布到生产服务器上。这样的部署策略叫做Canary(或A/B)部署。使用这种方式的好处很明显:

    1. 引入真实用户进行测试
    2. 新功能有错产生的影响也是有限的
    3. 原系统不受影响

    本文将介绍如何使用Azure平台进行这种过渡-切换部署

    Azure Web App 介绍

    Azure Web App是一个Azure平台的Web应用服务器,为用户提供web服务。

    Azure Slot 介绍

    Slot是插槽的意思。在电脑系统的主板上,通常有多个插槽,支持外部设备的接入。例如硬盘插槽可以插硬盘,显卡插槽可以插显卡。

    Azure平台上引入了插槽的概念,每个Web App缺省对应一个插槽(Producation插槽)。管理员可以为Web App增加新的插槽,系统在后台为新插槽创建一个Web App一 一对应。也就是说,每一个新插槽,都对应一个新的Web App。因此用户可以将代码发布到插槽,也既发布到插槽对应的Web App。插槽中一般用来存放待验证代码,或者待发布代码。

    插槽的另一个好处是可以互换(Switch),如果待发布代码通过验证,我们可以直接将存放待发布代码的插槽和生产插槽进行互换,从而将待发布代码发布到正式生产环境,并将原生产插槽内容交换到其他插槽,这也可以算是一种备份。如果正式生产环境出现问题,还可以再次进行插槽互换,恢复之前版本代码。

    如何添加一个Azure Web App

    用户登录Azure Portal URL, 选择一个资源组,选择Web App,按照提示完成创建。

    如何为Web App添加一个槽(slot)

    选择新创建的Web App,选择槽设置-添加槽

    Slot 设置

    在弹出页面中输入名称,选择是否clone,完成创建。

    Slot 创建

    在流量管理中对槽进行流量设置

    选择新创建的Web App,选择开发工具-在生产中测试

    在生产中测试

    用户可以选择一个槽,指定流量百分比,如下图所示。

    30%

    验证流量转移

    通过Jmeter[1]验证,确实有30%左右(15/50)的流量流向了新建的slot站点。

    Jmeter验证

    通过web app访问图标也能证明这一点:

    70%slot 30%slot

    切换插槽将代码从过渡服务器发布到生产服务器

    切换插槽可以将两个插槽的内容进行交换,意味着将代码从过渡服务器发布到生产服务器。

    切换插槽而不是覆盖插槽的好处是,如果发布到生产系统出现故障,还可以再次切换恢复到原有生产系统

    选择新创建的Web App,选择槽设置-交换

    slot交换 Slot交换
    1. http://www.apache.org/jmeter

    相关文章

      网友评论

          本文标题:(转)如何在Azure Web App中使用Canary(或A/

          本文链接:https://www.haomeiwen.com/subject/govgrxtx.html