amazon-web-services - AWS Lambda 容器镜像支持与 Fargate

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

我正在评估使用 Docker 容器的解决方案。现在 lambda 也支持容器镜像,这也属于我的考虑范围。
我根据以下因素进行评估

  • 2 项服务的定价模型
  • 冷启动问题
  • 轻松将 Lamda 与其他 AWS 服务集成
  • 使用 docker 容器轻松进行离线开发(我认为现在没有那么重要了)

  • 在这两项服务之间我需要考虑任何其他因素吗?

    最佳答案

    尽管这两种服务现在都允许您运行 Docker 镜像,但它们的目标应用程序类型不同。
    通常,您希望 Docker 容器运行一段时间而不是几秒钟。此外,您通常会在 Docker 镜像中拥有“整个”应用程序。
    Lambda 为小任务而不是整个应用程序(它们称为 Lambda 函数)提供短期运行计算能力(几秒到几分钟)。因此,使用您的“指标”比较它们可能不是正确的方法。
    首先,您需要了解您希望容器运行多长时间。如果答案超过 900 秒,则无需将 Fargate 与 AWS Lambda 进行比较,因为 Lambda 最多只能运行 900 秒。
    其次,您需要检查您实际想要在容器中运行的内容。正如我之前所说,Lambdas 是为小型、短期运行的功能而设计的,而不是“托管”整个应用程序(例如带有 Node/Rails/Django 应用程序的 Web 服务器)。如果您想在 Lambda 上运行整个应用程序,则需要对其进行分解。 S3 等上的静态文件,以及带有 AWS API Gateway 和 AWS Lambda 的后端 API。
    也就是说,如果您真的希望您的容器运行时间少于 900 秒并想在两者之间进行比较,那么这里还有一些想法:

  • 可用资源量(内存、vCPU)
  • 易于部署(取决于您的开发实践)
  • 它们的测试效果如何?
  • 您的团队对这两种技术的熟悉程度如何?
  • 安全模型的差异?保护起来有多容易?

  • 其中一些在很大程度上取决于您的经验、团队和您的实践,但应该考虑在内。

    关于amazon-web-services - AWS Lambda 容器镜像支持与 Fargate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65370498/

    相关文章:

    android - 从 AWS Lambda Node.js 向 Android 手机发送 AWS SNS 通知

    amazon-web-services - 使用子堆栈时,Lambda 代码在 `package` 命令期间不会被压缩

    node.js - 当我需要 aws-sdk 模块时 AWS Lambda 函数超时

    amazon-web-services - ECS 容器无法访问数据库

    python-3.x - libffi-d78936b1.so.6.0.4 : cannot open shared object file Error on AWS Lambda function

    amazon-web-services - AWS CodeDeploy 失败 : Script at specified location run as user ubuntu failed with exit code 1

    amazon-web-services - BigQuery Transfer Service 不会从 S3 复制行

    amazon-web-services - AWS Lambda 和版本上传?

    amazon-web-services - 服务发现 ECS AWS

    docker - 我可以将 ECS 配置为自动从我的 EC2 实例中清除旧容器 [图像] 吗?