EC2、Elastic Beanstalk和Lambda的区别

5
我有一个简单的API,与数据库连接、调用FB API等。最好的服务方式是什么?
1)我首先从EC2开始。
优点:成本便宜,可以控制一切。
缺点:设置过程长,需要自己控制所有东西,自己设置监控工具等等,需要考虑很多事情。
2)然后我将NodeJS移动到EB并将数据库移动到RDS。
优点:只需提交代码,其他所有事情都由服务处理。
缺点:负载平衡器+多个实例+RDS成本高昂。
3)Lambda,考虑将其移动到Lambda+API Gateway设置
看起来容易实现,监控和支持
不知道会花费多少钱。
我知道里面有很多配置。
您有什么建议适用于简单的API吗?
我也在考虑只将图片生成移动到Lambda,
并在EB上保留简单的API,如AUTH、获取用户等。

如果您习惯使用Ubuntu/Linux,也可以考虑Digital Ocean作为您的Node.js +数据库托管平台。 - split
3
这个问题涉及范围太广,请更新问题并提供你的配置、流量模式(例如用户),同时请注意这不是与编码相关的问题,可能很快会被标记。 - Kush Vyas
1
你是否考虑过使用 AWS Fargate 作为更加托管的解决方案?Fargate 可以将你的项目作为 Docker 容器运行,你不需要担心任何操作系统问题。https://aws.amazon.com/fargate/ - Niklas Rosencrantz
你对 Elastic Beanstalk 的“糟糕”描述完全是错误的。负载均衡器、多个实例和 RDS 都是 Elastic Beanstalk 可选的功能。 - Mark B
1个回答

4
如果您确信处理逻辑不超过5分钟,那么选项3肯定是理想的选择——您可以编写函数并在Lambda中部署它们。无需其他部署和自动缩放的烦恼。
当然,前提是考虑到其他因素,例如逻辑对第三方库的依赖以及与Lambda底层镜像的兼容性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接