Lambda 服务 运行 是否一直在计算上启动最终 运行 运行的进一步执行环境?

Does Lambda Service run all the time on a compute to spin up further Execution Environments that eventually run functions?

我了解 Lambda 是无服务器的,它将在事件调用时创建一个执行环境 (MicroVM)。

因此,当一个事件被调用时,Lambda 将启动一个执行环境,该环境将在其中选择编程语言运行时间。

到目前为止,很明显这些执行环境 (MicroVM) 是按需创建的,如果长时间闲置就会终止。

现在,原题来了

我的理解是,Lambda 有一个运行时 API。因此,无论何时我们在 AWS 中创建 Lambda 资源,它都可以被 Lambda Runtime API 访问。这些 API 个端点由 SQS、SNS 等事件源调用

我的问题是,是否有任何计算一直 运行,只是为了托管这些 Lambda 运行时 API。如果它存在,为什么没有太多细节,为什么我们不为此收费?

请指正我的理解

在一个非常简单的解释中,Lambda 应该被视为具有两个组件的服务:

  1. 数据平面:执行函数的 EC2 实例。
  2. 控制平面:包含与部署的每个 Lambda 相关的所有元数据的服务,包括事件映射。

当事件发生时,它将由控制平面处理。控制平面将验证安全性并检查是否存在已实例化的函数的可用副本。

如果可用,它将把事件转发给 Lambda 并传递指令以发回结果。如果没有可用的函数,控制平面将下载函数代码及其运行时,在数据平面中实例化一个新函数并转发事件。

任何时候,都会有控制平面和数据平面机器在线。 AWS Lambda 服务将根据使用情况增加或减少每个服务的数量。