蓝/绿部署和滚动部署之间有什么区别?我一直认为蓝/绿部署是一种突然从旧版本到新版本的流量切换。
关于Blue/Green deployment on AWS的讨论显示了实施蓝/绿部署的各种不同策略,但它们似乎也与rolling deployment的定义相符。
蓝/绿部署是滚动部署的子集吗?
答案 0 :(得分:20)
我在这里写了一篇关于这个主题的文章:http://blog.itaysk.com/2017/11/20/deployment-strategies-defined
在我看来,区别在于是否通过替换现有设置中的实例来应用新版本(在滚动升级的情况下),或者为新版本创建完全隔离的设置(在蓝色/绿色的情况下) )。在我看来,Blue / Green是最安全的策略,在大多数情况下对于生产部署来说更好。阅读帖子进行详细比较。
答案 1 :(得分:10)
在蓝绿色部署中,您有两个完整的环境。
一个是正在运行的蓝色环境和要升级的绿色环境。 将环境从蓝色交换为绿色后,流量将定向到新的绿色环境。 您可以删除或保存旧的蓝色环境以进行备份,直到绿色环境稳定。
在滚动部署中,您只有 ONE 完整的环境。
开始升级环境后。代码部署在同一环境的实例子集中,并在完成后移动到另一个子集。
所以两者在各种因素上都有所不同,你需要选择 基于场景的部署模型。 蓝/绿部署不是滚动部署的子集。