【发布时间】:2017-04-26 20:53:59
【问题描述】:
我有一个工作应用程序(非面向 Web),它处理来自 AWS SQS 的一些作业。我想运行这个应用程序的多个实例,但使用不同的命令行参数(最终可能有 30 个进程),所以:
myApp arg1 arg2
myApp arg3 arg4
我的基础架构需求非常基本,但我特别希望应用程序的每个实例都满足
- 出现故障时自动重启
- 进行某种基本监控 + 日志检索
- 支持 git 自动部署
- 在专用 IP 上运行
托管这个的最佳基础设施是什么?亚马逊生态系统中的首选,但不是必需的。
在亚马逊:
- Amazon Kinesis + Amazon Lambda 不支持专用 IP 部分
- Amazon EC2 + CodeDeploy 然后我可以在 EC2 映像上配置 UpStart 或其他东西以保持进程处于活动状态?
- Amazon EC2 Container Service (ECS) 可以为每个进程运行一个 docker 容器。我目前认为这是我最好的选择。
不是亚马逊:
- Heroku 支持可以轻松运行每个进程的“进程类型”,但这需要每个进程一个“dyno”。这似乎最终是 25 美元/进程,无法扩展。
我只是在寻求想法。在亚马逊没有太多经验。还有哪些其他基础设施选项特别适合解决这个问题?
【问题讨论】:
标签: amazon-web-services heroku amazon-ecs