AWS Lambda是如何工作的?AWS Lambda的功能和优势

借助 AWS Lambda,用户可以在无服务器函数中运行他们的代码,而 AWS 负责后端管理。此外,Lambda 的“只为使用的东西付费”的模式帮助企业避免为未使用的云资源付费。由于 Lambda 抽象化了操作复杂性并可以降低云成本,因此人气飙升并成为许多企业无服务器架构的重要组成部分。下面,我们将仔细研究 AWS Lambda 的工作原理、它的特性和优势,以及企业如何保护他们的 Lambda 工作负载。

AWS Lambda 是如何工作的?

从用户的角度来看,AWS Lambda 的工作方式可以概括为四个步骤。

#1。将代码上传到 Lambda 或直接在 Lambda 控制台编辑器中编写。

开发人员可以上传他们已经编写的代码,或者使用 Lambda 的原生编辑器从头开始编写代码。通常,Lambda 代码需要是无状态的。这意味着它不应该依赖于底层基础设施、文件系统或子进程的状态。如果需要有状态数据,可以从 S3 等其他 AWS 服务调用它。在此步骤中上传或编写的代码称为 Lambda 函数。每个 Lambda 函数都需要一些基本的元数据配置,包括名称、资源要求和入口点。

#2。配置执行代码的触发器。

触发器只是对事件的自动响应。它们允许 Lambda 函数作为特定事件或操作的结果运行。例如,对 DynamoDB 数据库的 API 调用或修改可以充当 Lambda 函数的触发器。

#3。当触发事件发生时,Lambda 会自动运行代码。

配置触发器后,每次触发时 AWS 都会自动运行 Lambda 函数。企业无需担心底层基础设施、操作系统补丁、监控或日志记录。这些功能根据需要运行和扩展。

#4。AWS 仅对 Lambda 代码在运行时使用的资源收费。

根据 Lambda 资源运行的时间向客户收费。Lambda 函数给定运行的持续时间是从开始到完成(或终止)的时间,四舍五入到最接近的毫秒。

AWS Lambda 的主要功能

AWS Lambda提供了多种功能,使企业能够可靠地扩展 AWS 云中的工作负载。一些最重要的 Lambda 功能是:

  • 自动缩放。Lambda 根据传入请求自动扩展。这意味着即使对于高度可突发的工作负载,性能也能保持一致。由于 Lambda 函数是无状态的,因此平台可以快速触发它们而无需配置或部署延迟。
  • 支持多种语言。Lambda 原生支持 Python、Java、PowerShell、Ruby、C#、Go 和 Node.js。此外,企业可以使用 Lambda Runtime API 将其他编程语言用于其 Lambda 函数。
  • 自动化管理。基础架构管理、修补、监控和日志记录既复杂又耗时。Lambda 通过使管理成为底层服务的一部分来消除这种复杂性。企业只需要担心代码和触发器。
  • 蓝图。函数蓝图使编写与 AWS 服务和第 3 方应用程序交互的 Lambda 函数变得更加容易。
  • 与其他 AWS 和第 3 方服务的集成。Lambda 可轻松与各种其他 AWS 服务集成,包括 RDS 代理、弹性文件系统、S3 和 CloudFront。此外,Lambda 具有足够的可扩展性,可以轻松地与包括身份提供者在内的各种其他第 3 方服务集成。
  • 代码签名。代码签名验证 Lambda 代码的真实性。通过签名的函数代码,企业可以帮助确保只执行批准和未修改的 Lambda 函数。

AWS Lambda 的主要优势

当然,AWS Lambda 的功能只有在提供实际好处时才重要。Lambda 对现代企业的主要好处包括:

  • 真正的无服务器架构。无服务器架构的承诺是企业可以在不管理服务器的情况下运行工作负载。Lambda 在全球最大的云基础设施提供商上大规模实现了这一目标。企业无需担心补丁、维护、容错或可扩展性,他们只需关注自己的工作负载和代码。
  • 降低成本。现收现付的定价模式意味着企业无需购买他们​​很少使用的计算资源。
  • 迭代开发。无服务器架构支持快速创新和迭代开发。借助 Lambda,企业开发团队可以更快地部署代码和反馈循环。

AWS Lambda 和无服务器安全挑战

虽然无服务器架构抽象出了许多任务,例如打补丁和操作系统强化,但无服务器安全性也带来了一系列独特的挑战。例如,应用程序现在被分解成许多 Lambda 函数,这些函数可能使用来自各种来源的触发器。这会产生更多企业必须保护的攻击向量。同样,随着功能数量的增加,创建强制执行最小特权和零信任原则的策略变得更加复杂。

幸运的是,现代云工作负载保护平台 (CWPP)和其他云安全解决方案可以帮助企业应对这些无服务器安全挑战。