使用AWS Lambda,你无需配置和管理任何服务器和应用程序就能运行你的代码。只需要上传代码,Lambda就会处理运行并且根据需要自动进行横向扩展。因此Lambda也被称为无服务(Serverless)函数。

要让AWS Lambda的代码执行,需要设定一些触发器(比如CloudWatch Log,CloudWatch Event,API Gateway等),因此Lambda函数被认为是事件驱动的(Event-Driven)

在传统的应用部署过程中,我们往往需要安装操作系统 -> 安装应用程序 -> 配置环境并部署代码,而且往往还需要不定时地为操作系统和应用程序打补丁和进行维护。使用AWS Lambda就方便很多,只需要上传代码,AWS就会在需要的时候帮你运行。我们不再需要(也无法接触)任何操作系统层面的东西,也节省了非常多的部署时间,可以更专心地编写代码。

AWS Lambda的特点

  • 没有服务器/无服务,或者说真实的服务器由AWS管理
  • 只需要为运行的代码付费,不需要管理服务器和操作系统
  • 持续性/自动的性能伸缩
  • 非常便宜
  • AWS只会在代码运行期间收取相应的费用,代码未运行时不产生任何费用
  • 代码的最长执行时间是15分钟,如果代码执行时间超过15分钟,则需要将1个代码细分为多个

价格

  • 按请求数量收费:首100万的Lambda请求免费,之后每100万收取0.20美金的费用
  • 按执行时间收费:执行时间计算是从lambda函数被激活到函数执行完毕或者终止(小于100毫秒按100毫秒计算),每1GB的内存每秒的费用是0.00001667美元。

Lambda支持的代码语言

  • Python
  • Java
  • Node.js (JavaScript)
  • C#
  • Go

触发器有哪些

  • API Gateway
  • AWS IoT
  • CloudWatch Events
  • CloudWatch Logs
  • CodeCommit
  • DynamoDB
  • S3
  • SNS
  • Cognito Sync Trigger

其他Serverless的AWS服务

  • Lambda
  • S3
  • DynamoDB
  • API Gateway

举例:如何使用Lambda定时关闭和启动EC2实例

https://aws.amazon.com/cn/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据