我正在评估使用 Docker 容器的解决方案。现在 lambda 也支持容器镜像,这也属于我的考虑范围。
我根据以下因素进行评估
在这两项服务之间我需要考虑任何其他因素吗?
最佳答案
尽管这两种服务现在都允许您运行 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 秒并想在两者之间进行比较,那么这里还有一些想法:
其中一些在很大程度上取决于您的经验、团队和您的实践,但应该考虑在内。
关于amazon-web-services - AWS Lambda 容器镜像支持与 Fargate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65370498/