AWS Fargate 是否像 Lambda 一样是真正的无服务器?它完成任务后会自动关闭吗?

Is AWS Fargate true serverless like Lambda? Does it automatically shutsdown when it finishes the task?

我在文档中确实不清楚。而且控制台配置很混乱。

Fargate 模式下的 Docker 集群 运行 是否会在 Load Balancer 关闭后在不使用时不向我收费?

冷启动呢?我需要像在 Lambda 中那样在 Fargate 中关心这个吗?

水平不如Lambda吗?连接到 API 网关的 lambda 将为每个并发请求生成一个新函数,Fargate 也会这样做吗?还是由负载均衡器来决定?

我在 Lambda 中 运行 Flask/Django 应用程序已经有一段时间了(使用 Serverless/Zappa),将它们迁移到 Fargate 有什么好处吗?

它似乎比 Lambda 更贵,但如果 Lambda 的限制不是问题,那么 Lambda 应该总是更好的选择吧?

使用 AWS Fargate,您只需为容器化应用程序从提取容器映像到 AWS ECS 任务(运行Ning 在 Fargate 模式下)终止期间请求的 vCPU 和内存资源量付费.最低收费 1 分钟。因此,你支付直到你的任务(一组容器)是 运行ning,更像 AWS EC2,但在 per-minute 的基础上,不像 AWS Lambda,你支付每 request/invocation.

AWS Fargate 不会像在 AWS Lambda 中那样在每次请求时生成容器。 AWS Fargate 的工作原理是 运行 在由 AWS.

内部管理的一组 AWS EC2 实例上安装容器

AWS Fargate 现在支持运行 计划 任务和响应 AWS CloudWatch Events 的能力。这使得仅在特定时间 运行 需要启动和停止容器服务变得更加容易 省钱 .

请牢记您的用例,如果您的应用程序在生产环境中由于任何 AWS Lambda 限制而没有出现任何问题,那么 AWS Lambda 就是更好的选择。如果 AWS Lambda 在生产环境中被 调用过多 (例如,每个时间点的并发调用超过 1K),那么 选择 AWS EKS 或 AWS Fargate,因为 AWS Lambda 可能会花费更多

Fargate 模式下的 Docker 集群 运行 在 Load Balancer 后面关闭并且在不使用时不向我收费吗?

  • 这将取决于您如何配置 AutoScaling 组。如果你允许它缩小到 0 那么是的。

冷启动呢?我需要像在 Lambda 中那样在 Fargate 中关心这个吗?

水平不如Lambda吗?连接到 API 网关的 lambda 将为每个并发请求生成一个新函数,Fargate 也会这样做吗?还是由负载均衡器来决定?

  • ECS 不会为每个并发请求创建一个新实例,任何缩放都将在 AutoScaling 组之外完成。负载均衡器对缩放没有任何控制,它只会均衡负载。但是,它可以提供的指标可用于帮助确定是否需要扩展

我在 Lambda 中 运行 Flask/Django 应用程序已经有一段时间了(使用 Serverless/Zappa),将它们迁移到 Fargate 有什么好处吗?

  • 我没有使用过 Flask 或 Django,但人们倾向于迁移到无服务器的主要原因是不需要维护服务器的扩展,这包括管理实例类型、集群调度、优化集群利用率

@abdullahkhawer 我同意他坚持使用 lambda 的观点。除非你要求某些东西总是 运行 并且总是被使用,否则 99% 的时间 lambda 将比 运行 VM 便宜。

定价示例

1 t2.medium 按需 EC2 实例 = ~$36/月

256MB 3 秒的 200 万次调用 运行 lambda = 0.42 美元/月