..
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://blog.csdn.net/halcyonbaby
新浪微博:@寻觅神迹
内容系本人学习、研究和总结,如有雷同,实属荣幸!
Lambda概述
Lambda是AWS在2014年底推出的事件驱动计算服务。
Vogels首先抛出一个问题:什么是云计算的根本(primitives)?
答案:云计算是一个执行环境。
Vogels再抛出第二个问题:什么是应用的根本?
答案:函数(functions,即业务逻辑的载体)+数据(data,即跟业务相关的输入与输出),以及这两者之间的交互——即事件(events。常见的事件如增加、变更、删除等)。
换言之,对于一个应用来说,除了functions、data、events这三个东西是根本之外,其他无论什么代码和框架,无非都是胶水或者UI罢了。
既然如此,理想的情况是用最少的时间写胶水,将做多的时间投入到应用的核心当中。
AWS基于以上理念创造了Lambda。
Lambda将开发人员从对执行环境的管理中解放出来,从而专注于核心应用的开发。
AWS来处理环境分发/维护/扩缩等繁杂的问题。
当然,这一切需要开发人员放弃一部分灵活性。
Lambda的计费以100ms为,由于是事件触发,真正实现了按照实际使用的计算资源来付费。(与EC2不同,哪怕你的虚拟机并没有什么负载以及负载高低,你都需要按小时进行付费)
Lambda使用场景
- 数据处理
可以由S3/DynamoDB/Kinesis/SNS/Cloudwatch等AWS服务触发,构建实时serverless数据处理系统。
比如:
对S3上传的照片进行处理。
对DynameDB的数据表项变动进行处理。
比如对cloudwatch的指标进行处理… - 后端
构筑serverless后端处理web/移动/IOT和第三方的API请求。
比如:
与API gateway配合响应Rest请求。
在移动应用中使用AWS SDK调用Lambda后端。
Lambda相关服务
事件源
AWS服务类
S3,DynamoDB,Kinesis,SNS,SES,Cognito,Cloudwatch Logs,CloudFormation,Cloudwatch,
Cloudwatch计划事件。
按需调用
Https事件/使用AWS SDK自己构建事件源。
日志/监控
Cloudwatch
鉴权
IAM
API调用记录
CloudTrail
Lambda其他功能
- 版本控制
- 别名
- VPC支持
Lambda的限制
参考http://docs.aws.amazon.com/zh_cn/lambda/latest/dg/limits.html