我正在AWS中构建一些新的基础设施,并计划为dev、stage和prod环境建立单独的帐户。我想要实现一个蓝色/绿色的部署策略,至少在生产中是这样的,我已经看到了几种不同的方法可以做到这一点,一个显而易见的方法就是CodeDeploy内置的蓝色/绿色部署能力。
有人向我建议,舞台/刺激环境可以被认为是蓝色和绿色的环境。毕竟,它们应该是相同的环境,但我没有想到舞台是一个可以作为生产平台的东西。我认为阶段应该是端到端的测试,最终验证由QA,演示等。
因此,我认为阶段应继续只作内部用途。但我们可能需要两个生产帐户。在任何特定的时间,它们中的每一个都将包含不活跃和活跃的服务(蓝色和绿色)的组合。DNS (路由53)将位于共享帐户中,当发布发生时,它将将路由从一个帐户中的资源切换到另一个帐户中的资源。
然后,当你有蓝色/绿色的时候,舞台似乎就没那么有用了。当一个新的版本处于不活跃的状态,并且经过最全面的测试时,它本质上就是这个阶段所做的。我们甚至没有真正的QA --开发人员和我们的客户就是QA。我们能摆脱它吗?每当自动化测试得到足够重视时,我就听到有人称赞它有一个直接生产的策略。
这明智吗?
发布于 2019-12-18 20:04:09
是。由于没有QA,并且希望内部环境与生产分离,这是有意义的。然而,有几点评论:
https://devops.stackexchange.com/questions/10153
复制相似问题