如何在 EBS 中分离用于生产和开发的应用程序和环境

How to separate Application and Environments for Production and Dev in EBS

我有一个 Python 网络服务和一个 Java 网络服务。我还有一个生产和开发环境。

*应用注指的是 EBS 应用程序,环境指的是 EBS 环境

我是否应该有一个名为 Production 的 Elastic Beanstalk 应用程序,其中一个环境用于 Python 应用程序,另一个环境用于 Java 应用程序?

或者我应该为我的 Python 网络服务和两个环境准备一个应用程序,一个用于生产环境,一个用于开发环境。然后对 Java 网络服务做同样的事情?

出于我们的目的,我们将同一个应用程序用于 3 个不同的环境(QA、TEST 和 PROD)。然后,我们使用相应的应用程序配置(例如数据库连接、其他 AWS 资源标识符,如 SQS URI 等)部署到所需的环境。我们还有 5 个不同的应用程序 运行ning,总共有 15 个环境(理论上,实际上我们并不要求所有应用程序都具有 TEST 环境)。我想这就是它打算设置的方式,所以这是你的后一个建议。

此外,但不是您问题的真正范围,我们使用构建服务器(在这种情况下为 Bamboo,TeamCity 是另一种选择)并始终为每次提交构建和部署到 QA 环境,并根据要求部署到 PROD .

这个设置对我们来说效果很好,使用构建服务器我们可以确保所有单元测试在发布之前都有 运行。