re:Invent大会第四天:为什么Lambda值得你更多关注?
2018年11月29日的拉斯维加斯,AWS re:Invent大会进入第四天,上午照例由AWS CTO Werner Vogels带来主题演讲。
从主题演讲之前到主题演讲之后,改变最大的产品毫无疑问就是Lambda,有至少8个相关的最新发布。Vogels在2014年正式对外发布了Lambda,到现在已经过去了四年,他自己对此的评价是:那是他有生以来做过的最精彩的一个主题演讲。从那开始,Serverless这个说法开始在圈内流行,成为全球趋势;而直到今天,Lambda仍然是独树一帜,正式上线三年以来已经发展了超过十万个客户,每个月平均处理万亿级别的请求,在AWS服务线当中使用量相当可观了。
InfoQ中文站记者与AWS产品市场经理Aaron Kao进行了一对一的交流,对这一系列Lambda的新发布进行了梳理。我们基本可以认为,如果你没有时间深入了解本次的发布,那么可以只记住两个东西:
- Firecracker
- Lambda Custom Runtime(自选运行时)
一、Firecracker
Firecracker是大会第二天发布的,AWS在晚场活动上宣布了该项目的开源。作为Lambda背后的支持技术之一,Firecracker在serverless的技术栈当中处于Hypervisor层之上、Guest OS层之下,如图:
根据官方介绍,Firecracker与docker或者Kata containers并不存在替代关系。Firecracker真正要替代的是QEMU——因为QEMU要支持各种不同种类的设备类型,搞得非常粗重、启动费时;而Firecracker可以从云计算的角度进行设计,仅仅针对单一设备类型,就可以做到非常轻便。以下摘录两段官方介绍:
Firecracker跟QEMU的区别:
Firecracker是云原生的QEMU替代者,专门针对容器运行的安全和效率进行设计。Firecracker对guest OS的设备规格设置了最低限度的要求,把非必要的功能都去掉了(仅仅留下了4个模拟设备:virtio-net、virtio-block、serial console,以及一个专门用来关闭microVM的单键控制器)。由此,在一个流水线内核加载进程中,启动时间可以达到125ms以下,内存占用也较小。Firecracker进程还提供了RESTful的控制API,用于设置microVM的资源使用上限,并给microVM提供元数据服务,方便host与guest之间共享配置数据。
那么,Firecracker现在能跟Kubernetes、Docker、Kata containers一起用吗?
现在还不行。我们开源Firecracker,是因为我们认为它在运行容器的安全方面有一些独到的意义,我们希望社区里的同行们能从中收到一些启发。我们在努力让Firecracker能够与容器生态自然集成,未来的目标是让容器负载隔离这件事情有更多的选项,选项之间能够有无缝的集成。
根据AWS计算服务总监Deepak Singh的介绍,Firecracker的研发是从大概一年前开始的,最初的起点是crosvm——也就是Google Chrome OS的VM技术。于是,因为crosvm是用Rust语言写的,所以Firecracker也是基于Rust语言。
Firecracker一经开源,短短几天就收获了四千多的star https://github.com/firecracker-microvm/firecracker 以及大量的pull request。
二、Lambda Custom Runtime
在今天之前,Lambda已经支持了五种编程语言——node.js、Python、Java、.NET、Go,以及shell脚本。今天,Vogels发布了Lambda对Ruby语言的支持,紧接着发布了Lambda Custom Runtime。
这个Custom Runtime什么意思呢?
就是说,你可以自己上传为Lambda定制的运行时,从而让Lambda能够支持你想用的编程语言。在今天第一批发布的Runtime里面,有C++,有Rust,有Elixir,有Erlang,有PHP,还有一个叫做COBOL(真是令人意想不到)。
所以理论上,现在的Lambda可以支持任意一种编程语言!
三、其他发布
Vogels主题演讲中的其他发布包括:
一些IDE插件:本次Keynote针对PyCharm、IntelliJ、VS Code这三个工具发布了AWS的插件。
Lambda Layers:这个功能可以提升代码的复用率。将一个通用组件打包成ZIP文件上传给Lambda,做成一个Lambda Layer,就可以在不同的Lambda Functions之间共享这个组件。
Nested Applications:这个功能也可以提升代码的复用率,不过是通过另一条方式,也就是去年发布的Serverless Application Repository。
Step Functions与更多服务的集成:Step Functions是去年发布的功能,给serverless应用做调试比较方便。本次发布之后,现在AWS的Batch、ECS、Fargate、Glue、DynamoDB、SNS、SQS、SageMaker也都支持Step Functions了。
API Gateway现在支持WebSocket了:这是一个支持实时双向通讯的功能。
ALB可以指向Lambda了:应用负载均衡原本不能指向Lambda,只能指向EC2和容器,现在可以指向Lambda了。
Kafka托管服务:AWS在2013年发布了Kinesis服务之后,经常遇到用户问:你这个做的事情不是跟Kafka一样吗,为啥不干脆在你们平台上面提供Kafka的服务呢?当时的AWS对此是不同意的,因为当时的Kafka项目发展也没几年,并不成熟,万一跟着人家跑坑里去了咋办?就这样,5年时间过去了。期间,AWS用户还是可以用Kafka的,只不过得自己架设配置。今天AWS发布Kafka托管服务可能有很多原因,但有一点是肯定的:Kafka真的有很多人在用。
Well-Architected Tool:这是一个用户自检工具,可以引导用户、帮助他们发现自己的架构是否与AWS推荐的最佳实践一致。
此外,有一个服务并没有出现在Vogels的主题演讲上,但Aaron Kao和Deepak Singh都推荐我们可以关注一下,那就是AWS App Mesh。这是AWS Serverless技术体系中第一次提供Service Mesh服务。
针对re:Invent Werner Vogels 第四日发布,前线记者也专访了InfoQ特约观察员,看看他们如何解读这一系列的发布及其背后的某些衍生逻辑:
re:Invent大会第四天:为什么Lambda值得你更多关注?相关推荐
- re:Invent 大会第一天,看看AWS有哪些最新进展?\n
2018年11月26日,在这个星期一的拉斯维加斯,一年一度的AWS re:Invent大会再度启动.本次大会将历时5天,从11月26日开到11月30日,期间将有超过5万人云集这个城市,一方面了解AWS ...
- re:Invent大会第十年,亚马逊云科技推出了哪些底层自研技术
编辑 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于视觉中国 一转眼, 亚马逊云科技的云计算已经推出了十五年,亚马逊云科技的年度大会 re:Invent 也举办到了第十年. 今年 re:In ...
- AWS re:Invent大会回顾
在拉斯维加斯的年度re:Invent大会上,AWS公布了一系列即将推出的云服务.亚马逊列出了公共云即将可用的二十多个新功能,包括在S3对象存储中直接查询数据.将构建代码作为部署流水线的一部分.提供廉价 ...
- 达观数据ISIG中国产业智能大会包揽四项大奖、五大演讲
2021年12月8-9日,由中国电子技术标准化研究院.苏州市金融科技协会.中国计算机用户协会政务信息化分会指导,企智未来科技.达观数据等单位联合举办的"第二届ISIG中国产业智能大会&quo ...
- 第十四节:Lambda、linq、SQL的相爱相杀(3)
一. SQL 开篇 1. where用法 1 #region 封装EF调用SQL语句查询 2 public static List<T> ExecuteQuery<T>(str ...
- JAVA复合判断_一起来学Java8(四)——复合Lambda
在一起来学Java8(二)--Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda. Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用La ...
- AWS re:Invent 大会 session 主题缩写含义
AWS re:Invent 每年都有很多主题演讲,每个演讲都有所属的主题.编号以及演讲题目,比如此链接所示:https://www.youtube.com/playlist?list=PLhr1KZp ...
- Java List遍历四种方式 Lambda表达式遍历
package com.config; import java.util.ArrayList; import java.util.List; /** for循环遍历之Lambda表达式遍历 */ pu ...
- 2022re:Invent大会中,笛卡尔实验室通过将云平台迁移至亚马逊云科技
在2022亚马逊云科技re:Invent全球大会上,亚马逊云科技宣布,领先的地理空间智能公司笛卡尔实验室(Descartes Labs)正在将其包括地理空间处理和分析平台在内的核心IT基础设施迁移至亚 ...
最新文章
- 明晚8点直播 | 顺丰科技如何利用深度学习赋能智慧物流?
- linux shell 判断字符串是否为数字
- c语言如何赋值星期到字母,C语言程序设计课程教案.doc
- python cx_Oracle连接Oracle数据库查询
- python——extend用新序列扩展其他列表
- 改进:js修改iOS微信浏览器的title
- Docker(包括docker、mysql、tomcat的安装,以及部署web工程文件)
- 软件工程案例学习-网上购书系统
- python常用语音识别库_干货收藏 | Python语音识别终极指南
- ☀️光天化日学C语言☀️(09)- 算术运算符 | 小学就会了?温故而知新,可以为师矣!
- 2022系统分析师--案例必备知识点汇总
- ECMAScript 面试题目
- 镇魔曲网页版服务器选择,镇魔曲网页版职业选择解析 哪个职业好
- 2022年 AI 技术成熟度曲线
- 修改客户端 与服务器断开,如何处理服务器或客户端socket断开
- 第七章 1什么是活动目录?活动目录有那些优点?
- 量子计算机和超导,量子计算的未来在哪里——超导电路与光子学
- 咸鱼前端—js 函数
- 洛谷 1346 电车
- 微信好友删除了怎么找回来「快速恢复删除好友」
热门文章
- linux ramdisk与tmpfs的深入分析
- Rank() over()的用法
- COMVariantType的Date类型
- 在asp.net中调用Office来制作各种(3D)统计图
- TensorRT Samples: MNIST API
- Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤
- 【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法
- 【FFmpeg】Hello World!尝试如何编译FFmpeg程序
- 【Qt】QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action)
- 【Qt】通过QtCreator源码学习Qt(七):插件管理类简介