gpt4 book ai didi

amazon-web-services - 为 Elastic beanstalk 创建 A/B 测试

转载 作者:行者123 更新时间:2023-12-02 09:12:01 24 4
gpt4 key购买 nike

最近我在 AWS 中创建了一个 Codestar Web 服务。它在内部使用带有负载均衡器、代码管道、代码部署服务的弹性 beanstalk 环境来进行端到端工作。我现在能做的就是在本地进行一些代码更改并将其部署到 codestar。我现在想做的是设置额外的环境(例如 alpha 环境)并将其首先部署到,然后部署到我的生产环境以进行更好的测试。我可以做的一种方法是为 alpha 阶段创建一个额外的环境,对其进行一些更改部署,然后手动部署到生产阶段。但这将在 AWS 中创建两个不同的存储库,我不知道如何将更改从 alpha 环境复制到 prod 环境。请告诉我首先部署到 alpha 阶段,然后自动部署到 beta 阶段的最佳方法。

最佳答案

您想要做的称为金丝雀部署(或金丝雀发布)。它允许您在发布版本向所有用户发布之前在生产环境中进行一些测试。它是蓝/绿部署的修改形式。

蓝/绿部署是指您在当前版本(蓝色)投入生产的同时将新版本(绿色)投入生产。理论上来说,如果绿色部署很糟糕,而您将蓝色部署保留在原地,则可以回滚到蓝色部署,而几乎不需要停机。

金丝雀部署是蓝/绿部署,您可以将一小部分流量路由到绿色部署,以确保绿色部署稳定并按预期工作。如果 Canary 测试成功,则将 100% 的流量路由到 Green 环境。蓝色环境可以删除或在下一个版本中重新使用。

另一方面,如果金丝雀测试失败,您将 100% 的流量路由回蓝色环境,并取消绿色环境或将其重新用于下一个版本。

Elastic Beanstalk 允许您快速创建应用程序的两个版本,以将 Elastic Beanstalk 环境与克隆环境分开(通过控制台或命令行)。新克隆的环境将是您的绿色环境。

然后,您可以利用 Amazon Route 53 以及加权路由路由策略功能。这允许您采用单个域名,并根据您在策略中决定的百分比在蓝色和绿色环境之间分配流量。从小处开始,如果绿色很好,你就会达到 100%。

以下是一些引用资料:

Route 53 Weighted Routing

Elastic Beanstalk Clone environment feature

Canary Test/Release/Deployment

Simple Canary release in AWS

Blue/Green available with Code Deploy

关于amazon-web-services - 为 Elastic beanstalk 创建 A/B 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50953909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com