【问题标题】:Is AWS Fargate true serverless like Lambda? Does it automatically shutsdown when it finishes the task?AWS Fargate 真的像 Lambda 一样无服务器吗?完成任务后会自动关机吗?
【发布时间】:2019-07-23 22:44:41
【问题描述】:

这在文档中对我来说真的不清楚。而且控制台配置很混乱。

在负载均衡器关闭后以 Fargate 模式运行的 Docker 集群是否会在不使用时不向我收费?

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

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

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

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

【问题讨论】:

  • 好问题。大多数资源说无服务器是指您的代码仅在需要处理请求时运行(因为他们使用 Lambda 作为示例)。我认为这实际上意味着对服务器的管理是抽象的。正如 Fargate 与 EKS 所证明的那样,如果您没有将 0 个 pod 设置为最小值,那么 pod 始终在运行。

标签: amazon-web-services aws-lambda amazon-ecs serverless aws-fargate


【解决方案1】:

在负载均衡器关闭后以 Fargate 模式运行的 Docker 集群是否会在不使用时不向我收费?

  • 这取决于您如何配置 AutoScaling 组。如果您允许它缩小到 0,那么可以。

冷启动怎么样?我需要像在 Lambda 中一样在 Fargate 中关心这个吗?

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

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

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

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

@abdullahkhawer 我同意他关于坚持使用 lambdas 的观点。除非您要求某些东西始终在运行并且始终在 99% 的时间内被使用,否则 lambda 将比运行 VM 便宜。

价格示例

1 t2.medium on demand EC2 实例 = ~36 美元/月

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

【讨论】:

    【解决方案2】:

    使用 AWS Fargate,您只需为从提取容器映像到 AWS ECS 任务(在 Fargate 模式下运行)终止期间容器化应用程序请求的 vCPU 和内存资源量付费。最低收费 1 分钟。因此,您在任务(一组容器)运行之前付费,更像是 AWS EC2,但按分钟计算,而不像 AWS Lambda 那样按请求/调用付费

    AWS Fargate 不会像在 AWS Lambda 中那样在每个请求上生成容器。 AWS Fargate 的工作原理是在 AWS 内部管理的 AWS EC2 实例队列上运行容器

    AWS Fargate 现在支持按计划运行任务并响应 AWS CloudWatch 事件。这样可以更轻松地启动和停止只需要在特定时间运行的容器服务,以省钱

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

    【讨论】:

    • 感谢您的回答。我知道由于 Lambda 的定价模型,如果您有太多并发调用,它会很昂贵,但是处理 1k 调用的 Fargate 容器要以不错的速度维护应该是相当昂贵的,不是吗?
    • @Mojimi,如果函数将 24/7 (一直)连续调用,AWS Lambda 将会很昂贵,是的,并发性也会增加费用,但只有在需要时使用 AWS Fargate 才有意义您的应用程序始终或在特定时间段内启动并运行(由于新功能)。 P.S.:我以 1K 调用为例。调用可能或多或少。
    猜你喜欢
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多