写点什么

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

  • 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:0110116
用户头像

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

关注

评论

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

【web 开发基础】PHP 的流程控制之双向条件分支结构 -PHP 快速入门 (13)

迷彩

10月月更 web开发基础 PHP基础 分支结构 双向条件分支结构

从这两道题重新理解,JS的this、作用域、闭包、对象

loveX001

JavaScript

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

vue3.0 是如何变快的

乌龟哥哥

10月月更

【c++算法篇】--图论之克鲁斯卡尔

贤鱼很忙

c++ 图论 10月月更 克鲁斯卡尔

非父子组件之间的通信方式与mitt库🔥

渔戈

前端 Vue3 10月月更

ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本?

程序员欣宸

Java Docker jdk 10月月更

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

7:数据库设计思维-MySQL

Yeats_Liao

数据库 后端 10月月更

【c++图论例题学习】洛谷p1991 无线通讯网-思路详解

贤鱼很忙

c++ 图论 10月月更

文件的使用详解

lovevivi

c 文件 10月月更

4:数据操作-MySQL

Yeats_Liao

数据库 后端 10月月更

你真的了解过插槽Slot吗🔥

渔戈

前端 Vue3 10月月更

SpringCloud-03 Netflix Ribbon学习笔记

游坦之

10月月更

最近美团前端面试题目整理

loveX001

JavaScript

6:列属性完整性-MySQL

Yeats_Liao

数据库 后端 10月月更

8:单表查询-MySQL

Yeats_Liao

数据库 后端 10月月更

Hash Map源码分析(八)

知识浅谈

hashmap 10月月更

leetcode 287. Find the Duplicate Number 寻找重复数 (中等)

okokabcd

LeetCode 数据结构与算法

AntDesignPro使用electron构建桌面应用

乌龟哥哥

10月月更

数据湖(十一):Iceberg表数据组织与查询

Lansonli

数据湖 10月月更

【c++图论例题学习】【口袋的天空】【部落划分】

贤鱼很忙

c++ 图论 10月月更

力扣刷题训练

lovevivi

c 数据结构 10月月更

SpringCloud-02 Eureka学习笔记

游坦之

10月月更

5:数据类型-MySQL

Yeats_Liao

数据库 后端 10月月更

动态组件、异步组件以及生命周期和v-model🔥

渔戈

前端 Vue3 10月月更

鸿蒙开发实例 | ArkUI JS飞机大战游戏开发

TiAmo

华为 鸿蒙 10月月更

面试官:谈谈你知道的DOM常见的操作

CoderBin

JavaScript 面试 前端 DOM 10月月更

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

DS小龙哥

10月月更

C语言内存对齐问题

乌龟哥哥

C'语言 10月月更

final、finally、 finalize 有什么不同?

共饮一杯无

Java final 10月月更

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