canary(金丝雀) 部署
在亚马逊等地方实行“ 绿色环保”部署已有十多年了。 它们是一种安全,可靠的方法。 现在,蓝绿色的部署不是灵丹妙药,但对它们来说很有用。 但是,A / B测试呢? 甚至金丝雀测试? 在所有#microservices,DevOps和云原生的讨论中,有很多关于它们的讨论,但是我想澄清它们之间的区别。
蓝绿色部署
请欣赏Martin Fowler关于蓝绿色部署的链接 。 它给出了总体要点。 基本上,这是一种以可预测的方式发布应用程序的技术,目的是减少与发布相关的停机时间 。 这是在发布应用前准备应用的快速方法,如果发现问题也可以快速回滚。
简而言之,您拥有两个相同的环境(基础结构),其中的“绿色”环境托管着当前的生产应用程序(例如,app1 version1,app2 version1,app3 version1):
绿色部署
现在,例如,当您准备对app2进行更改并将其升级到v2时,您将在“蓝色环境”中进行操作。 在该环境中,您将部署该应用程序的新版本,运行冒烟测试以及任何其他测试(包括对操作系统,缓存,CPU等进行测试/启动的测试)。 当一切看起来不错时,