我对Serverless领域还比较新,正在努力理解何时使用Fargate和Lambda。
我知道Fargate是ECS的无服务器子集,而Lambda也是无服务器的,但由事件驱动。但我想能够用简单的术语向熟悉容器但不熟悉AWS和无服务器的其他人解释这两种范例。
当前我们有几台物理服务器负责接收文本文件,将它们解析并用结果填充几个数据库表。根据我的理解,我认为这将更适合使用Lambda,因为解析文本文件的过程是由时间表触发的,不需要长时间运行,并在不使用时缩减。
然而,如果我们要移植接收API调用的服务器之一,我们可能会希望使用Fargate,因为我们始终需要至少一个图像实例正在运行。
以容器为基础,非常通俗易懂的说,如果容器的设计目的是:
docker run <some_input>
那么这就是 Lambda 的工作了。
但如果容器的设计目的是执行一些操作,例如:
docker run --expose 80
那么这就是Fargate的工作了。
这个类比合适吗?