伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx

上传人:b****7 文档编号:11025141 上传时间:2023-02-24 格式:DOCX 页数:8 大小:61.24KB
下载 相关 举报
伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx_第1页
第1页 / 共8页
伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx_第2页
第2页 / 共8页
伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx_第3页
第3页 / 共8页
伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx_第4页
第4页 / 共8页
伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx

《伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx》由会员分享,可在线阅读,更多相关《伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx(8页珍藏版)》请在冰豆网上搜索。

伯克利论断Serverless 是云时代的主宰未来十年会迅速被采用.docx

伯克利论断Serverless是云时代的主宰未来十年会迅速被采用

来自来自伯克利的犀利断言:

Serverless计算将会成为云时代默认的计算范式,并取代Serverful(传统云)计算模式。

本文对伯克利的论文进行了解读,分析为何Serverless将会在接下来的十年迅速被采用,并得到飞速发展。

编者按

来自伯克利的犀利断言:

Serverless计算将会成为云时代默认的计算范式,并取代Serverful(传统云)计算模式,因此也就意味着服务器-客户端模式的终结。

你准备好了吗?

  引言  

2009年,伯克利以独特的视角发布了一篇文献,定义了云计算,十年过去了,这篇文章被引用无数,其中的观点更是当下最好的见证:

按需计算的表现形式。

消除云用户的前期承诺。

根据需要在短期内支付使用计算资源的能力。

规模经济,由于许多非常大的数据中心,显着降低了成本。

通过资源虚拟化简化操作并提高利用率。

通过多路复用来承载不同组织的工作负载,进而提高硬件利用率。

2019年,伯克利又以新的视角发布了一篇文献:

《将云中的编程变得简单:

伯克利视角下的Serverless计算》(https:

//rise.cs.berkeley.edu/blog/a-berkeley-view-on-serverless-computing/)观点同样让人眼前一亮:

Serverless所提供的接口,简化了云计算的编程,其代表了程序员生产力的又一次的变革,一如编程语言从汇编时代演变为高级语言时代。

因为Serverless和传统的云计算有着本质的区别:

计算和存储的解耦,彼此独立扩展和定价。

将执行的代码作为运行的对象,而屏弃了分配该段代码所运行的资源。

代码成为明码标价的对象,而不再是运行代码所需要的资源。

如果各位看官和我一样,对于伯克利视角下的Serverless好奇的话,不妨跟随我接下来以问答的方式来解读一下这篇文献:

数据中心即计算机。

——LuizBarroso(2007)

Serverless计算的最佳理解是?

在任何的Serverless平台,用户只需要使用高级语言撰写使用云功能,然后以事件来触发运行即可,如将图片上传到云存储中、将图像缩略图插入到数据库表中,而所有的传统的操作:

实例选择、实例扩展、部署、容错、监控、日志、安全补丁等等,均由Serverless计算的来掌控。

Serverless和传统Serverful的区别?

相对于Serverless计算,传统意义上的云计算已经成为了Serverful计算了,以下列表从开发者和系统管理员的角度分别对比了他们二者之间的区别:

特性

AWSServerless云计算

AWSServerful云计算

程序员

何时运行程序

由云用户根据事件自行选择

除非明确停止,否则会一直运行。

编程语言

JavaScript、Python、Java、Go等有限的语言

任何语言

程序状态

保存在存储(无状态)

任何地方(有状态或无状态)

最大内存大小

0.125~3GiB(云用户自行选择)

0.5~1952GiB(云用户自行选择)

最大本地存储

0.5GiB

0~3600GiB(云用户自行选择)

最长运行时间

900秒

随意

最小计费单元

0.1秒

60秒

每计费单元价格

$0.0000002

$0.0000867-$0.4080000

操作系统和库

云供应商选择

云用户自行选择

系统管理员

服务器实例

云供应商选择

云用户自行选择

扩展

云供应商负责提供

云用户自己负责

部署

云供应商负责提供

云用户自己负责

容错

云供应商负责提供

云用户自己负责

监控

云供应商负责提供

云用户自己负责

日志

云供应商负责提供

云用户自己负责

基于云环境的描述下,Serverful计算犹如传统底层的编程语言,如汇编程序;而Serverless计算犹如高级的编程语言,如Python。

前者开发者需要考虑每一个细节,到CPU寄存器这样一个级别,而后者开发者只需要考虑要实现的功能即可。

Serverless盛行的基础条件有哪些?

Serverless计算是在PaaS和原来模式的之上的重要创新。

基于VM的隔离技术,如Firecracker、gVisor等技术的成熟。

允许云用户携带运行程序所需要的库。

BaaS的发展,如对象存储的不断完善。

容器技术、Kubernetes项目的崛起。

边缘计算的迅猛发展需求

1.

伯克利的大胆预言是什么?

Serverless将会在接下来的十年,迅速的被采用,将会得到飞速的发展。

新的BaaS存储服务会被发明,以扩展在Serverless计算上能够运行更加适配的应用程序类型。

这样的存储能够与本地块存储的性能相匹配,而且具有临时和持久可供选择。

比现有的x86微处理器更多的异构计算机。

更加安全、易用的编程,不仅具有高级语言的抽象能力,还有很好的细粒度的隔离性。

基于Serverless计算的价格将低于Serverful计算,至少不会高于Serverful计算。

Serverless将会接入更多的后台支撑服务,如OLTP数据库、消息队列服务等。

Serverless计算一旦取得技术上的突破,将会导致Serverful服务的下滑。

Serverless将会成为云时代默认的计算范式,将会取代Serverful计算,因此也意味着服务器-客户端模式的终结。

Serverless计算的软件栈架构概览

Serverless介于基础云平台和应用程序之间,旨在简化基于云的编程开发,CloudFunctions(通常称之为FaaS)提供通用的计算,辅以专门的后端即服务(BaaS)等生态系统,如对象存储、Key-Value数据库等。

Serverless目前应用的场景如何?

来自2018年的一个调查显示:

百分比

用户场景

32%

web和API服务

21%

数据处理,如批处理的ETL

17%

整个第三方的服务

16%

内部tooling

8%

聊天机器人,如AlexaSkills(AlexaAI助手SDK)

6%

物联网

对五类典型应用的深度分析:

应用程序

描述

挑战

解决办法

花销比较

实时视频压缩(ExCamera)

扔到云中的视频解码

对象存储太慢,无法支持细粒度的通信;功能太粗糙,无法完成任务。

功能对功能以避免对象存储;以功能调度而不是任务。

比基于虚拟机快60倍,但是钱只花了1/6。

MapReduce

大数据处理(100TB排序)

由于对象存储延迟和IOPS限制,扩展成为问题

使用低延迟存储,高IOPS

比虚拟机快1%,节省15%的费用

线性代数计算(Numpy-wren)

大规模线性代数计算

对象存储的低延迟、难以实现客户端的广播问题。

使用低延时高吞吐的对象存储,

比原来慢了3个数量级,CPU的消耗降低1.26到2.5倍。

机器学习pipeline(Cirrus)

大规模的机器学习

缺乏快速的存储,难以实现广播、聚合问题。

使用低延迟存储,高IOPS

比虚拟机快3~5倍,比原来贵7倍

数据库(ServerlessSQLite)

应用程序的主要状态(OLTP)

缺乏共享内存,对象存储具有高延迟,缺乏对入站连接的支持。

如果写入需求低,共享文件系统可以工作。

TPC-C基准,要比原来的快3倍,读取比例匹配但写入不匹配。

对Serverless计算的期待?

抽象层:

更多的资源调度、增加数据依赖功能

系统:

高性能、经济实惠、透明配置的存储,最小化启动时间,协调服务

网络:

实现更高吞吐量的通信

安全:

随机的调度、物理隔离、细粒度的安全上下文

体系结构:

异构性、价格下调、更方便的管理

Serverless目前被吐槽的地方是?

在分析了五大典型(实时视频解码、MapReduce、大规模线性代数计算、机器学习训练、数据库)应用案例之后,得出如下几个结论:

存储空间不足以进行细粒度操作;

缺乏细粒度的协调;

标准通信模式的性能不佳;

启动的延迟性。

什么吸引着大家去追求Serverless?

对于云用户来说:

不需要任何的操作云基础设施、部署等知识,关注功能即可。

更加容易编写应用程序是最主要的动力。

更短的运行时间,毋须关心内存的大小,无状态的天然特性。

省钱

对于云提供商来说:

减少对X86服务器的采用,可有效节省成本。

对计算新的抽象,意味着未来的无限可能性。

谬误和陷阱

本章是向HennessyandPatterson二位的风格致敬。

鉴于本文只是读论文的解读,所以不会翻译所有的内容,这里仅抛砖引玉,讲述两个非常有趣的答复:

 谬误:

CloudFunctions无法处理需要可预测性能的极低延迟应用程序。

Serverful计算,即服务器实例对于低延迟应用程序的处理,是它们始终处于启动状态,因此它们可以在收到请求时快速回复请求。

那么,照葫芦画瓢,如果CloudFunctions的启动延迟对于给定的应用程序来说不够好,可以使用类似的策略:

通过定期运行它们来CloudFunctions进行预热,从而确保在任何给定时间都能够及时的响应,进而满足传入的请求。

 陷阱:

Serverless计算会导致无法预料的成本

这种纯粹意义上按代码运行付费的模式,其实是大家对于这样新的计费模式的不适应罢了,尤其是大型公司的预算考虑,相信随着时间的推移,一旦人们了解了自己的业务以及有了一些历史数据之后,就会适应这样的计算模式的,一如对于如电力这样的计费模式。

笔者能力所限,加上论文论断式的风格,最后强烈建议各位看官请移步伯克利网站下载论文,进行进一步的深度阅读!

尤其是引用的材料。

论文链接:

https:

//www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1