IAm*_*aja 106 deployment production-environment release-management blue-green-deployment canary-deployment
我对金丝雀版本的理解是,它是对部分生产节点的部分发布,其中粘性会话已打开.这样,如果您最终发布了错误的错误,您可以控制并最大限度地减少受影响的用户/客户数量.
我对蓝色/绿色版本的理解是你有2个镜像生产环境("蓝色"和"绿色"),你将更改推送到蓝色或绿色的所有节点,然后使用网络魔术来控制用户通过DNS路由到哪些环境.
所以,在我开始之前,如果我到目前为止所说的任何内容都不正确,请先纠正我!
假设我或多或少走上正轨,那么关于这两个策略的几个问题:
Dav*_*uth 80
蓝绿色释放更简单,更快捷.
你可以做一个蓝绿色的版本,如果你已经测试在测试环境中的新版本,是非常肯定的是,新版本将在生产正常运行.始终使用功能切换是提高您对新版本的信心的好方法,因为新版本的功能与旧版本完全相同,直到有人翻转功能切换.将您的应用程序分解为小型,可独立发布的服务是另一种选择,因为测试的次数较少而且可以破坏的次数较少.
你需要做金丝雀版本,如果你不完全肯定的是,新版本将在生产正常运行.即使你是一个彻底的测试人员,互联网也是一个庞大而复杂的地方,总是会遇到意想不到的挑战.即使您使用功能切换,也可能会错误地实现.
部署自动化需要付出努力,因此大多数组织都计划每次都使用一种策略或另一种策略.
如果您致力于让您对此有信心的实践,那么蓝绿部署也是如此.否则,发出金丝雀.
蓝绿色的本质是一次性部署,并且canary部署的本质是逐步部署,因此,给定一个用户池,我无法想到一个我将描述为同时执行这两个过程的过程.如果您有多个独立的用户池,例如使用不同的区域数据中心,则可以在每个数据中心内进行蓝绿色,并在数据中心内进行金丝雀.虽然如果您不需要在数据中心内部进行金丝雀部署,但您可能不需要跨数据中心.
ita*_*ysk 62
我在这里写了一篇关于这个主题的详细文章:http://blog.itaysk.com/2017/11/20/deployment-strategies-defined
在我看来,区别在于新的"绿色"版本是否暴露给真实用户.如果是,那我就称之为金丝雀.实施Canary的常用方法是定期使用Blue/Green,并在特定用户的新版本中添加智能路由.阅读帖子进行详细比较
尽管这两个术语看起来非常接近,但它们之间存在细微差别。一种对您的功能发布充满信心,另一种则对您的发布方式充满信心。
金丝雀
金丝雀发布是一种降低在生产中引入新软件版本风险的技术,方法是在将更改推广到整个基础架构之前,将更改缓慢地推广到一小部分用户。
即将了解新版本将如何执行(与其他应用程序、CPU、内存、磁盘使用等集成)。
蓝绿:
小智 6
蓝绿部署(Blue-Green Release)和金丝雀部署(Canary Release)的区别在于:
有两种环境,蓝色环境是“旧”的,包含一个或多个应用程序(实例或容器),绿色环境是“新”的,包含一个或多个应用程序(实例或容器)。
然后,100%的流量立即从蓝色环境快速切换到绿色环境,如下所示,可以说蓝绿部署是金丝雀部署的快捷方式:
上面的图片来自https://www.encora.com/insights/zero-downtime-deployment-techniques-blue-green-deployments最初由“Encora”公司创建
有两种环境,蓝色环境是“旧”环境,包含一个或多个应用程序(实例或容器),绿色环境是“新”环境,包含一个或多个应用程序(实例或容器)。
然后,100%流量逐渐从蓝色环境切换到绿色环境,花费的时间比蓝绿部署更长(30分钟、小时或天) ,如下所示,可以说金丝雀部署是蓝绿部署的渐进方式:
上面的图片来自https://www.encora.com/insights/zero-downtime-deployment-techniques-canary-deployments最初由“Encora”公司创建
蓝色/绿色和金丝雀版本在向更广泛的受众发布软件功能之前,解决了针对目标受众测试软件的相同目的.对于金丝雀,部署可以在下面共享相同的基础设施,但是在蓝/绿的情况下,整个基础设施与前面的路由器/ DNS/reverseeproxy重复用于路由流量.
在云环境中,脚本和重新创建基础架构更容易,蓝/绿部署是首选,因为它允许基础架构与自动化同步.当需要重建环境的能力时,这具有很强的能力.
您可以参考以下文章进行更详细的比较:
BlueGreen部署:http://martinfowler.com/bliki/BlueGreenDeployment.html
金丝雀部署:http: //martinfowler.com/bliki/CanaryRelease.html
这里有一些内联定义 -
蓝绿部署- 部署应用程序的新版本时,会创建第二个环境。测试新环境后,它将接管旧版本。然后可以关闭旧环境。
| 归档时间: |
|
| 查看次数: |
42514 次 |
| 最近记录: |