[serverless]Lambda服务初探

..
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址: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使用场景

  1. 数据处理
    可以由S3/DynamoDB/Kinesis/SNS/Cloudwatch等AWS服务触发,构建实时serverless数据处理系统。
    比如:
    对S3上传的照片进行处理。
    对DynameDB的数据表项变动进行处理。
    比如对cloudwatch的指标进行处理…
  2. 后端
    构筑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其他功能

  1. 版本控制
  2. 别名
  3. VPC支持

Lambda的限制

参考http://docs.aws.amazon.com/zh_cn/lambda/latest/dg/limits.html

你可能感兴趣的:(技术笔记,云计算)