【问题标题】:How to separate Application and Environments for Production and Dev in EBS如何在 EBS 中分离生产和开发的应用程序和环境
【发布时间】:2016-05-06 16:31:54
【问题描述】:

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

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

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

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

【问题讨论】:

  • EBS = Elastic Block Store,而不是 Elastic Beanstalk

标签: amazon-web-services amazon-elastic-beanstalk development-environment production-environment


【解决方案1】:

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

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

此设置对我们来说非常有效,并且使用构建服务器,我们可以确保所有单元测试在发布之前都已运行。

【讨论】:

  • 应用程序中的每个环境是否只有一种类型的服务器? IE。推送到 SQS 的 Python 服务器?
  • 是的,主要是。 1 个任务 == 1 个服务器是我们的基本规则。但是,我们有一个 UDP 数据接收器服务器来处理来自作为 Windows 服务运行的设备的传入数据。在这种特定情况下,我们还有一个用于监控数据的并行 Web 前端,但这也可以单独完成。正如您所说,该服务器实际上确实获取数据并将其写入 SQS。然后另一个服务器环境从 SQS 获取数据并对其进行处理(热路径分析并存储到数据库中),以实现系统解耦。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 2013-07-14
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
相关资源
最近更新 更多