Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 tokens! 了解详情
写点什么

在生产中使用金丝雀部署来进行测试

  • 2013-03-28
  • 本文字数:641 字

    阅读完需:约 2 分钟

根据 Nolio 发布的 DevOps 最佳实践系列中的第一个视频,很多公司通过路由策略选择性地对部分用户发布新功能从而使用 “金丝雀部署(Canary Deployments)”来测试生产中的软件,并将这一方式作为其可持续交付的一部分。“金丝雀部署”是增量发布的一种类型,它的执行方式是在原有软件生产版本可用的情况下,同时部署一个新的版本。同时运行同一个软件产品的多个版本需要软件针对配置和完美自动化部署进行特别设计。

考虑到 A/B 测试和预防性(pre-emptive)性能测试,一旦克服了“金丝雀部署”所涉及的技术挑战将可以减少部署流程中的风险。A/B 测试允许在不改变大多数用户的用户体验的情况下进行对新功能的测试。而性能测试对于整个用户群体来说同样只会产生微不足道的影响。

根据 Nolio 的“金丝雀部署”,该方式由以下几个步骤组成:

  1. 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。
  2. 从负载均衡列表中移除掉“金丝雀”服务器。
  3. 升级“金丝雀”应用(排掉原有流量并进行部署)。
  4. 对应用进行自动化测试。
  5. 将“金丝雀”服务器重新添加到负载均衡列表中(连通性和健康检查)。
  6. 如果“金丝雀”在线使用测试成功,升级剩余的其他服务器。(否则就回滚)

Nolio 在他们的相关介绍中针对如何使用他们的产品对“金丝雀部署”进行高层次软件编配做了概览。他们使用了一个可在多个流程中复用的应用模型,并通过数据来驱动该模型的用途。管理和报表都将随着“金丝雀部署”而被完成。

查看英文原文 http://www.infoq.com/news/2013/03/canary-release-improve-quality

2013-03-28 09:0110230
用户头像

发布了 52 篇内容, 共 23.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

QtCreator配置protobuf环境

中国好公民st

qt Qt Creator 10月月更

西安交大谢涛:云上做实验,让计算机教学实现质的飞跃

Lily

技术分享 | 接口自动化测试中,文件上传该如何测试?

霍格沃兹测试开发学社

Grafana:灵活的配置

琦彦

配置 Grafana 10月月更

Java基础(四)| 数组及内存分配详解

timerring

Java 数组 内存分配 10月月更

HashSet源码全方位解读

知识浅谈

10月月更

Docker load 大镜像(17G) 报错no space left on device

琦彦

Docker 10月月更 Base Device Size

测试人生 | 二线城市年薪30W+,疫情之下涨薪超过100%,是怎么做到的?

霍格沃兹测试开发学社

Docker下Nacos持久化配置

程序员欣宸

Docker Spring Cloud nacos 10月月更

熬夜整理最近前端面试知识点

loveX001

JavaScript

从URL输入到页面展现到底发生什么?

loveX001

JavaScript

20221013

留白的艺术

通过linux-PAM实现禁止root用户登陆的方法

京东科技开发者

数据库 Linux 公有云 云主机 linux-PAM

编程语言中 null 引用的十亿美元错误趣谈

汪子熙

Java JavaScript SAP abap 10月月更

技术分享 | 接口自动化测试中,如何做断言验证?

霍格沃兹测试开发学社

技术分享 | 接口自动化测试如何进行认证?

霍格沃兹测试开发学社

谈谈前端性能优化-面试版

loveX001

JavaScript

SAP UI5 OData谣言粉碎机:极短时间内发送两个 Odata request,前一个会自动被 cancel 掉吗

汪子熙

JavaScript 前端开发 SAP UI5 ui5 10月月更

Java中的重载和重写的区别

共饮一杯无

Java 10月月更 重载重写

免安装免配置环境的免费 ios 调试工具 sib 来啦

霍格沃兹测试开发学社

技术分享 | 接口测试中,请求超时该怎么办?

霍格沃兹测试开发学社

技术分享 | 如何使用代理配置快速定位接口测试脚本问题?

霍格沃兹测试开发学社

技术分享 | 接口自动化如何处理 Form 请求?

霍格沃兹测试开发学社

技术分享 | 接口自动化中如何完成接口加密与解密?

霍格沃兹测试开发学社

Java数组详解

共饮一杯无

Java 数组 10月月更

Zadig 完成 100% 开源:开启软件交付 3.0 时代

霍格沃兹测试开发学社

区块链游戏dapp系统开发游戏链改模式定制

开发微hkkf5566

标签与指标到底有什么区别?

雨果

标签 指标

Qt | 线程 QThread

YOLO.

c++ qt 10月月更

Qt | 实现动态创建多个Tab页,页中动态创建多个子部件

YOLO.

qt 10月月更 C++

专访北大荆琦:产业前沿进课堂,通过产学合作培养开源贡献者

Lily

在生产中使用金丝雀部署来进行测试_DevOps & 平台工程_Aslan Brooke_InfoQ精选文章