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

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

AWS Lambda 现在面向大众开放

免费试用 AWS Lambda

AWS 免费套餐包含每月向 AWS Lambda 发送 1 百万个免费请求和最高 320 万秒的计算时间。

查看 AWS 免费套餐详细信息 »

ha_ed_webinar_video_380x186
AWS 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 可使您将自定义逻辑添加到 Amazon S3 存储桶和 Amazon DynamoDB 表之类的 AWS 资源中,从而在数据进入云中或通过云迁移时将计算应用于数据。

AWS Lambda 的入门很简单。首先,您可以通过上传您的代码(或在 Lambda 控制台中适当构建代码)与选择内存、超时时间和 AWS Identity and Access Management (IAM) 角色来创建函数。然后,您可以指定 AWS 资源来触发该函数,资源可以是特定的 particular 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_migration

借助 Lambda@Edge,AWS Lambda 可以在全球的 AWS 站点运行您的代码来响应 Amazon CloudFront 事件,例如,发往或来自来源服务器和查看器的内容请求。这样更易于以低延迟为您的最终用户分发更加丰富、更加个性化的内容。了解更多 »

100x100_benefit_secure

AWS Lambda 可使您的代码通过其内置的 AWS 软件开发工具包以及与 AWS Identity and Access Management (IAM) 的集成来安全访问其他 AWS 服务。默认情况下,AWS Lambda 在 VPC 中运行您的代码。您还可以选择配置 AWS Lambda 以访问您自己的 VPC 之后的数据,从而利用自定义安全组和网络访问控制列表,向 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。