AWS Lambda 是一项无服务器计算服务,可运行代码来响应事件并为您自动管理底层计算资源。您可以使用 AWS Lambda 通过自定义逻辑来扩展其他 AWS 产品,或创建您自己的按 AWS 规模、性能和安全性运行的后端服务。AWS Lambda 可以自动运行代码以响应多个事件,例如 Amazon S3 存储桶中对象的修改或 Amazon DynamoDB 中的表更新。

Lambda 在高可用性计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预配置和自动扩展、代码和安全补丁部署以及代码监控和记录。您只需要提供代码。


DevOps_lambda

您在 AWS Lambda 上运行的代码称为“Lambda 函数”。当您创建 Lambda 函数之后,它就始终处于一被触发就立即运行的状态,与电子表格中的公式类似。每个函数中都包含您的代码以及一些相关的配置信息,包括函数名称和资源要求。Lambda 函数是“无状态的”,与底层基础设施没有密切关系,因此 Lambda 能在需要时快速启动任意数量的函数,根据传入事件的速率进行扩展。

当您将代码上传到 AWS Lambda 之后,就可以将函数与特定的 AWS 资源 (例如特定的 Amazon S3 存储桶、Amazon DynamoDB 表、Amazon Kinesis 流或 Amazon SNS 通知) 关联起来。然后,当资源发生改变时,Lambda 将根据需要运行函数并管理计算资源,满足传入请求的需要。


100x100_benefit_ingergration

AWS Lambda 可使您将自定义逻辑添加到 AWS 资源中 (例如 Amazon S3 存储桶和 Amazon DynamoDB 表),从而在数据进入云中或通过云迁移时轻松将计算应用于数据。

AWS Lambda 的入门很简单。首先,通过上传代码 (或在 Lambda 控制台中适当构建代码) 与选择内存、超时时间和 AWS Identity and Access Management (IAM) 角色来创建函数。然后,指定 AWS 资源来触发该函数,资源可以是特定的 Amazon S3 存储桶、Amazon DynamoDB 表或 Amazon Kinesis 流。当资源发生改变时,Lambda 将根据需要运行函数并管理计算资源,满足传入请求的需要。

100x100_benefit_layers

您可以使用 AWS Lambda 来创建应用程序的新后端服务,这些应用程序使用通过 Amazon API Gateway 构建的 Lambda API 或自定义 API 终端节点按需触发。通过使用 Lambda 来处理自定义事件而不是在客户端上对其提供服务,您可以避免多样化客户端平台、降低电池消耗并使更新更简单。

100x100_benefit_ccontainers

AWS Lambda 管理所有的基础设施,以在高可用性、容错型基础设施上运行代码,从而使您腾出手来专注于构建有差别的后端服务。使用 Lambda,您不必在补丁发布时更新底层操作系统,或随着使用量的增加而为调整大小或添加新服务器担心。AWS Lambda 无缝部署代码、执行所有管理、维护和安全补丁操作,并通过 Amazon CloudWatch 提供内置记录和监控。

100x100_benefit_durable

Lambda 具有内置容错能力。AWS Lambda 可在各地区中跨多个可用区维护计算容量,从而帮助保护代码其免受单个机器或数据中心设施故障的影响。AWS Lambda 及该服务上运行的函数都提供可预测且可靠的运行性能。AWS Lambda 旨在为服务本身及其运行的函数提供高可用性。没有维护窗口期或计划停机时间。

100x100_benefit_increase-upward1

AWS Lambda 只在需要时调用代码,并能自动扩展以支持传入请求的速率,无需您配置任何内容。您的代码可以处理不限数量的请求。AWS Lambda 通常在事件发生后的几毫秒内开始运行您的代码,并且由于 Lambda 可自动扩展,随着事件频率的提高,其性能会一直保持高效。由于您的代码是无状态的,Lambda 可以在需要时尽可能多地启动实例,无需冗长的部署和配置延迟。

100x100_benefit_secure

AWS Lambda 可使您的代码通过其内置的 AWS 软件开发工具包以及与 AWS Identity and Access Management (IAM) 的集成来安全访问其他 AWS 产品。默认情况下,AWS Lambda 在 VPC 中运行代码。您还可以选择配置 AWS Lambda 以访问您自己的 VPC 之后的资源,从而利用自定义安全组和网络访问控制列表,提供 Lambda 函数访问资源的权限。

100x100_benefit_code

使用 AWS Lambda,无需了解任何新语言、工具或框架。您可以使用任何第三方库,甚至是本机库。AWS Lambda 支持 Java、Node.js、C# 和 Python 代码,并支持未来将采用的其他语言。

100x100_benefit_lowcost-affordable

使用 AWS Lambda,您只需为提供的请求以及运行您的代码所需的计算时间付费。账单以 100 毫秒的增量计费,让您能经济高效而轻松地从每天几个请求自动扩展到每秒数千个请求。

100x100_benefit_flexible

选择您想分配到函数中的内存数量,然后 AWS Lambda 按比例分配 CPU 功率、网络带宽和磁盘 I/O。


使用本服务需遵守 AWS 客户协议