2017-02-21 136 views
4

蓝色/绿色部署与滚动部署之间的区别是什么?我一直认为蓝色/绿色的部署是突然将流量从旧版本切换到新版本。蓝色部署与滚动部署?

这个关于Blue/Green deployment on AWS的演讲显示了实施蓝/绿部署的各种不同策略,但它们似乎也匹配rolling deployment的定义。

蓝色/绿色部署是滚动部署的子集吗?

+0

滚动部署错开。蓝色/绿色是金丝雀测试后突然切换的。 –

+0

这也是我的理解,但如果您通过解决方案架构师观看AWS视频,他们的蓝/绿解决方案并不突然,因此是我的问题。 – n00b

+1

你必须认识到很多这是观点和理论。这两者的想法是,您可以最大限度地减少应用程序的生产停机时间。你应该确保你总是能够在这里“看到树木的森林”。了解这两种方式如何工作,然后调整它们以最好地适应您的环境。 –

回答

3

蓝绿色部署,你有两个完整的环境。

一个是正在运行的蓝色环境以及您要升级到的绿色环境。 将环境从蓝色交换到绿色后,流量将转到新的绿色环境。 您可以删除或保存旧的蓝色环境进行备份,直到绿色环境稳定。

滚动部署,你只有ONE完整的环境。

一旦你开始升级你的环境。代码部署在相同环境的实例子集中,并在完成后移至另一个子集。

因此,两者在各种因素上都有所不同,您需要根据场景选择 部署模型。 蓝/绿部署不是滚动部署的子集。

3

我已经写了关于这一主题在这里的文章:http://blog.itaysk.com/2017/11/20/deployment-strategies-defined

在我看来,不同的是,新版本是否是通过在现有的设置替换实例应用(在滚动升级的情况下),或为新版本创建完全隔离的设置(在蓝/绿的情况下)。在我看来,蓝/绿是最安全的战略,在大多数情况下,生产部署更好。阅读帖子以进行详细比较。