2018年11月29日的拉斯维加斯,AWS re:Invent大会进入第四天,上午照例由AWS CTO Werner Vogels带来主题演讲。

从主题演讲之前到主题演讲之后,改变最大的产品毫无疑问就是Lambda,有至少8个相关的最新发布。Vogels在2014年正式对外发布了Lambda,到现在已经过去了四年,他自己对此的评价是:那是他有生以来做过的最精彩的一个主题演讲。从那开始,Serverless这个说法开始在圈内流行,成为全球趋势;而直到今天,Lambda仍然是独树一帜,正式上线三年以来已经发展了超过十万个客户,每个月平均处理万亿级别的请求,在AWS服务线当中使用量相当可观了。

InfoQ中文站记者与AWS产品市场经理Aaron Kao进行了一对一的交流,对这一系列Lambda的新发布进行了梳理。我们基本可以认为,如果你没有时间深入了解本次的发布,那么可以只记住两个东西:

  1. Firecracker
  2. 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值得你更多关注?相关推荐

  1. re:Invent 大会第一天,看看AWS有哪些最新进展?\n

    2018年11月26日,在这个星期一的拉斯维加斯,一年一度的AWS re:Invent大会再度启动.本次大会将历时5天,从11月26日开到11月30日,期间将有超过5万人云集这个城市,一方面了解AWS ...

  2. re:Invent大会第十年,亚马逊云科技推出了哪些底层自研技术

    编辑 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于视觉中国 一转眼, 亚马逊云科技的云计算已经推出了十五年,亚马逊云科技的年度大会 re:Invent 也举办到了第十年. 今年 re:In ...

  3. AWS re:Invent大会回顾

    在拉斯维加斯的年度re:Invent大会上,AWS公布了一系列即将推出的云服务.亚马逊列出了公共云即将可用的二十多个新功能,包括在S3对象存储中直接查询数据.将构建代码作为部署流水线的一部分.提供廉价 ...

  4. 达观数据ISIG中国产业智能大会包揽四项大奖、五大演讲

    2021年12月8-9日,由中国电子技术标准化研究院.苏州市金融科技协会.中国计算机用户协会政务信息化分会指导,企智未来科技.达观数据等单位联合举办的"第二届ISIG中国产业智能大会&quo ...

  5. 第十四节:Lambda、linq、SQL的相爱相杀(3)

    一. SQL 开篇 1. where用法 1 #region 封装EF调用SQL语句查询 2 public static List<T> ExecuteQuery<T>(str ...

  6. JAVA复合判断_一起来学Java8(四)——复合Lambda

    在一起来学Java8(二)--Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda. Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用La ...

  7. AWS re:Invent 大会 session 主题缩写含义

    AWS re:Invent 每年都有很多主题演讲,每个演讲都有所属的主题.编号以及演讲题目,比如此链接所示:https://www.youtube.com/playlist?list=PLhr1KZp ...

  8. Java List遍历四种方式 Lambda表达式遍历

    package com.config; import java.util.ArrayList; import java.util.List; /** for循环遍历之Lambda表达式遍历 */ pu ...

  9. 2022re:Invent大会中,笛卡尔实验室通过将云平台迁移至亚马逊云科技

    在2022亚马逊云科技re:Invent全球大会上,亚马逊云科技宣布,领先的地理空间智能公司笛卡尔实验室(Descartes Labs)正在将其包括地理空间处理和分析平台在内的核心IT基础设施迁移至亚 ...

最新文章

  1. 明晚8点直播 | 顺丰科技如何利用深度学习赋能智慧物流?
  2. linux shell 判断字符串是否为数字
  3. c语言如何赋值星期到字母,C语言程序设计课程教案.doc
  4. python cx_Oracle连接Oracle数据库查询
  5. python——extend用新序列扩展其他列表
  6. 改进:js修改iOS微信浏览器的title
  7. Docker(包括docker、mysql、tomcat的安装,以及部署web工程文件)
  8. 软件工程案例学习-网上购书系统
  9. python常用语音识别库_干货收藏 | Python语音识别终极指南
  10. ☀️光天化日学C语言☀️(09)- 算术运算符 | 小学就会了?温故而知新,可以为师矣!
  11. 2022系统分析师--案例必备知识点汇总
  12. ECMAScript 面试题目
  13. 镇魔曲网页版服务器选择,镇魔曲网页版职业选择解析 哪个职业好
  14. 2022年 AI 技术成熟度曲线
  15. 修改客户端 与服务器断开,如何处理服务器或客户端socket断开
  16. 第七章 1什么是活动目录?活动目录有那些优点?
  17. 量子计算机和超导,量子计算的未来在哪里——超导电路与光子学
  18. 咸鱼前端—js 函数
  19. 洛谷 1346 电车
  20. 微信好友删除了怎么找回来「快速恢复删除好友」

热门文章

  1. linux ramdisk与tmpfs的深入分析
  2. Rank() over()的用法
  3. COMVariantType的Date类型
  4. 在asp.net中调用Office来制作各种(3D)统计图
  5. TensorRT Samples: MNIST API
  6. Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤
  7. 【SVN】svn“E155017工作副本的参考文件损坏、E200014文件校验和不匹配”的解决方法
  8. 【FFmpeg】Hello World!尝试如何编译FFmpeg程序
  9. 【Qt】QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action)
  10. 【Qt】通过QtCreator源码学习Qt(七):插件管理类简介