网易首页 > 网易号 > 正文 申请入驻

“WebAssembly 将会取代 Docker”,但还有后半句

0
分享至

文 | lola

出品 | OSC开源社区(ID:oschina2013)

WebAssembly(Wasm)是由 Mozilla 、谷歌、微软、苹果等公司合作研发的二进制指令格式语言,最初是为浏览器设计的,具有内存安全、可移植等特性。

2019年12月5日, 成为继 HTML、CSS 和 Javascipt 之后的第四大标准Web语言。这是 WebAssembly 在前端的高光时刻。

同样是2019年,Mozilla、Fastly、Intel 与 Red Hat ,希望通过协作实施标准和提出新标准,以完善 WebAssembly 在浏览器之外的生态。

随后,WebAssembly 在后端走得越来越远。Docker 联合创始人 Solomon Hykes 在一条著名 tweet 里表示,如果 Wasm + WASI 在 2008年就存在了,就没有必要创建 Docker 了。

一时喧哗,关于 Wasm 会不会取代 Docker 的讨论不在少数,大多观点认为,相比 Docker,Wasm 的确具有更快更轻等优越性。但实际上,Solomon Hykes 的这条推文却有后半句没说完(往下看)。

那么,Wasm 会取代 Docker 吗?经过几年发展,WebAssembly 又发展到了何种地步?开源中国有幸专访了 WasmEdge 项目的发起人 Michael Yuan ,作为全球范围内首个被 CNCF 纳入托管的开源 WebAssembly runtime 项目,WasmEdge 在近期发布了 WasmEdge 0.8.2全新版本,并且还将发布新功能,让 K8S 能够直接接入。

1

沿袭Java发展路径

OSCHINA:请自我介绍一下。

Michael: 大家好,我叫 Michael Yuan, 是开源老兵。我并不是计算机专业出身,从本科到博士,我都是学天体物理的。我博士毕业后,就参与到开源的世界。那时候,微软还在将开源视为社会毒瘤。

我从 Java 开始做起,参与创建了服务端 Java 公司叫 JBoss,这是第一个用开源的方法做 Java 中间件的公司,也是第一个真正找到商业模式的开源公司。后来 JBoss 被红帽软件收购了。然后我就一直留在了开源行业。

我现在的身份是 CNCF 沙箱项目 WasmEdge 的发起人与 Maintainer,同时也是 Second State 的创始人,Second State 开发和商业化 WebAssembly 和 Rust 生态系统中的企业应用。

OSCHINA:您获得天体物理学博士学位是我们意想不到的,是怎样的契机使您接触到WebAssembly的呢?您见证了WebAssembly怎样的变迁?

Michael: 其实当时开源行业的人很多都不是计算机专业毕业的。在那个年代,找不到工作的人才去做开源的。我们做 Jboss 的时候,公司里有不少物理博士,包括当时的 CEO 与 CTO 都是物理博士。

从 Java 到今天,后端技术的发展就是不停地重新发明轮子(也可以说是“螺旋式上升”)。年轻的开发者总是从前端开始职业生涯,过了一段时间后,曾经是前端的开发转到后端,他们遇到的第一个问题就是这个东西怎么这么复杂?我就要写一个网页再加上数据库,为什么要学习这么复杂的分布式计算框架?所以他们就会重新发明轮子,这在后端的历史上发生了三次。

第一次就是 Java。Java 以前是为了浏览器发明的。现在,我们已经知道 Java 完全是一个后端的语言。2000年左右,也是我当时在 JBoss 创业的时候,抓住了 Java 从浏览器端向服务端转变的红利。这个时候,大家对 Java 的看法是什么呢?和其他后端开发框架相比,Java 的优势是简洁和易懂,写的程序安全可移植。

第二次则是 JavaScript。到了2010年,绝大部分新来的开发者对 Java 的感觉就是太复杂了,于是就有了 JavaScript 从前端转变成后端,有了 Node.js,所以现在大部分后端技术都是用 JavaScript 开发的。Node.js 当时主要的优势是简单,开发效率高。

时间来到2020年,也是我们创建 WasmEdge 这个开源项目的时候。这个时候,大家对 Node.js 的抱怨是太复杂了。npm install 一下,安装几百个安装包,都不知道安装了什么东西。我们看见的新一代开发范式是 Serverless 与微服务。把每个业务单元做小做简单,解耦业务与基础架构,从而让开发与运维都简化。

也正因为此,目前的“大前端”、Jamstack、“前端的后端”等创新都在大量使用 Serverless。而后端的服务网格、云原生,则在使用容器化微服务。Serverless 与微服务都需要比 Docker 更轻更快的安全运行沙盒。WebAssembly 开始从前端走向后端。

和 Java 当年的发展路径很像。Java Applet 最初是为了在浏览器玩游戏,是为了在浏览器内提高性能,但是20年来,有一件事一直没有变过:大家不喜欢在浏览器玩游戏。所以虽然在浏览器市场占有率很高,但是WebAssembly 在前端的发展并不成功。我们看不到几个 WebAssembly 在浏览器的案例,就像我们今天在浏览器看不到几个用 Java 的程序一样。

但是 WebAssembly 有一个非常成功的地方。因为浏览器是互联网大厂的游戏,所以要在浏览器里行成标准,必须要有全行业的共识。WebAssembly 不但后面有 Google、Apple、Mozilla、微软这样的大厂,而且还有 W3C 这样的组织。

这就造成了 WebAssembly 可以像当年的 Java 一样做出一个强大的生态。具体的例子,比如 GCC 、LLVM 等编译器支持把各种高级语言编译成 Wasm 字节码。这种生态的支持程度,不是任何一个独立的大厂或者组织能够独立做到的。这也是 WebAssembly 放到服务器端有巨大生命力的原因。

虽然在前端没有现象级的应用,但是WebAssembly 实现了标准化。这是别的技术很难去和 WebAssembly 竞争的地方。所以,WebAssembly 有很大前景变成一个通用的计算执行环境或者容器,不仅会放在云端,也会用在边缘设备上。

2

成为服务网格里的“一等公民”

OSCHINA:WasmEdge 0.8.2全新版本有哪些功能更新?跨平台能力提升、增加了golang sdk的支持等,都是WasmEdge在兼容性上所作的努力,是否可以认为WasmEdge目前最紧迫的问题是兼容性问题?

Michael:

WasmEdge 0.8.2 的功能更新主要是: 1、更好的跨平台兼容性。开发者可以在 Mac OS X(Intel 和 M1)、Windows 10 以及配备 ARM 32 位芯片的 IoT 设备上运行 WasmEdge 应用程序。 2、Networking 支持。WasmEdge 应用程序发出网络请求并运行 HTTP 服务器。 3、新的以及一些改进的 API。在 C、Rust 和 Golang 应用程序中嵌入 WasmEdge 函数。 4、WasmEdge 的 AoT 编译器的通用二进制输出。利用云原生平台中的 AOT 性能增进。 5、支持 proxy-wasm 标准。

讲到兼容性,其实有两个方面:

一个是 WebAssembly 里面运行什么,比如能不能运行 JavaScript,还是必须依赖编译型的语言(Rust、C/C++、Swift 等)。这个我们走的路是全面支持 JavaScript 与 DSL 。

另外一个是 WebAssembly 能够在什么环境里运行。这方面,我们有不同的语言的 SDK,比如 Golang、C 与 Rust,支持 k8s 等等。

所以我不认为这是一个兼容性问题,而是生态问题。虽然 WebAssembly 在前端进行了标准化,有编译器、浏览器的支持,但是后端毕竟还是有自己的一套生态,还是需要尽快把 WebAssembly 整合到后端的生态里面去,这是我们今天正在要干的事情。

比如我们正在把 WasmEdge port 到 seL4 上,seL4 是一个可以形式化验证的开源实时操作系统 RTOS 。我们也在 WasmEdge 里原生支持了 TensorFlow 框架,开发者可以通过 WasmEdge 以本地速度调用 TensorFlow 模型,进行推理。与此同时,我们自己在 Crun 与 Runc 的基础上开发了 Crunw,让 K8s 支持 WebAssembly。

OSCHINA:让K8s能够直接管理,这代表着什么?

Michael: K8s 是管理微服务和服务网格的重要工具,这样就意味着 Wasm 应用可以在服务网格里成为一等公民,直接用来实现微服务,不需要借助其他工具和框架。微服务和服务网格是 Serverless 的基础架构,一旦 K8s 支持 Wasm,Wasm 在 Serverless 、微服务领域就会成为一等公民。

有了 Crunw 之后,WasmEdge 能够无缝融入现有的 K8s 生态。现在有很多基于 K8s 的产品都在与 WasmEdge 合作,比如 Linkerd、KubeEdge、SuperEdge 等。

3

与Docker并肩而行

OSCHINA:WebAssembly会取代Docker吗?同类型的有哪些?相比而言,WasmEdge的优势在哪?

Michael: 在回答这个问题之前,我们先来总结一下目前的容器方案。

Fastly CTO Tyler McMullen 最近说了三句话:虚拟机模拟了计算机,容器模拟了操作系统,WebAssembly 模拟了进程。这三句话怎么理解呢?我们之前发表过一篇文章,和他想表达的东西有异曲同工之妙。我们把容器分为三层:

  • 第一层是系统级或者是硬件级的虚拟机,比如 Hypervisor 或 MicroVM,会运行操作系统与Runtime 软件堆栈;

  • 第二层是应用容器,比如 Docker,容器会在运行用户代码前,加载和启动有操作系统的镜像;

  • 第三层是高级语言虚拟机,比如 JVM、V8 和 WebAssembly。WebAseembly 只是执行编译好的字节码应用,不起操作系统的作用。

理解了这三个层次,就会理解到 WebAssembly 是抽象程度最高的,需要的工具链最复杂,但是带来了性能的巨大的提高。

回到 WebAssembly 能不能取代 Docker 的问题上,这个说法来自 Docker 联合创始人 Solomon Hykes 的一个 tweet。在那条动态里,他说如果 Wasm + WASI 在 2008年就存在了,就没有必要创建 Docker了,Wasm 是云计算的未来。

很多人只看到了这一句话,没有看到他后面补发的内容,他说 WebAssembly 不会取代 Docker,Docker 与 WebAssembly 会肩并肩运行。

在他讲这句话的时候,WebAssembly 的 K8s 生态还没成熟,他这条推特就是在说会在 K8s 里肩并肩运行 WebAssembly 与 Docker,而这也是我们认为的未来,所以我们有 crunw。

所以 ,WebAssembly 与 Docker 不是一个取代关系。WebAssembly 与 Docker 是各有所长、互相补足的关系,就像之前提到的,WebAssembly 对工具链要求比较高,但是 WebAssembly 的性能高、轻量级、安全的特点会让 WebAssembly 用在今天 Docker 进不去的场景。举个具体的例子,WebAssembly 在冷启动方面,能够比 Docker 快100倍。所以 Docker 很难 fit in 的边缘计算、轻服务、汽车、区块链,都是 WebAssembly 的用武之地。

OSCHINA:您认为未来的云原生容器会形成怎样的格局?在其中,WebAssembly会占据怎样的地位?WasmEdge会发挥什么样的作用?

Michael: WasmEdge 这种新容器的发展是扩展了容器或虚拟化的生态。以前,很多地方有虚拟机化的需求,但是 Docker 做不进去,或者 Docker 做得不好,比如 Serverless、边缘设备、边缘云。

这些都是有原生虚拟化的场景,但是 Docker 比较重,比较大,没有办法做到这个场景,所以用 WebAssembly 能够扩展这个市场。WebAssembly 的市场是个增量,并不是要把 Docker 挤出来。

在 AOT 模式下,WasmEdge 是目前市场上最快的 WebAssembly 虚拟机。另外,WasmEdge 的最大不同之处在于,为了能够让 WebAssembly 尽快在云原生领域应用,WasmEdge 还支持了非标准的扩展,比如 KV Store、网络 Socket、TensorFlow 等扩展,可以说 WasmEdge 是离场景最近的 WebAssembly Runtime。作为 CNCF 唯一的 Webassembly Runtime 项目,我们希望成为WasmEdge 成为云原生和边缘计算的轻量级容器首选。

(WasmEdge 架构图)

最后,想和大家说,我们很看好 WebAssembly 的发展,如果你对 WebAssembly 有兴趣的话,欢迎来我们 GitHub 或 Gitee 上看看:

https://gitee.com/mirrors/wasmedge

https://github.com/WasmEdge/WasmEdge

4

嘉宾 简介:

Michael Yuan 毕业于德克萨斯大学奥斯汀分校,获得博士学位。Michael 是 JBoss 的早期员工,被 Red Hat 收购之后,作为产品经理见证了世界上第一个成功的开源商业模式,著有5本国际知名出版社出版的技术书籍。2019年 ,Michael 发起了 WasmEdge 项目,提供下一代云原生和边缘计算的执行环境。

END

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
长得漂亮却坏事做尽,三次入狱,被摘除4处器官的她,如今怎样

长得漂亮却坏事做尽,三次入狱,被摘除4处器官的她,如今怎样

地球记
2026-05-14 04:32:28
未公开的1972年尼克松访华全套高清照

未公开的1972年尼克松访华全套高清照

深度知局
2026-04-15 00:16:09
梁安琪带奚梦瑶扫货豪宅,同层豪掷1.68亿,拿下三套李泽楷新楼盘

梁安琪带奚梦瑶扫货豪宅,同层豪掷1.68亿,拿下三套李泽楷新楼盘

素衣读史
2026-05-12 21:57:21
美媒曝重磅交易!火箭倾其所有换杰伦·布朗,重建班底或大换血

美媒曝重磅交易!火箭倾其所有换杰伦·布朗,重建班底或大换血

体育见习官
2026-05-14 07:19:10
A股三大指数集体高开,沪指涨0.32%,创业板指涨1.23%

A股三大指数集体高开,沪指涨0.32%,创业板指涨1.23%

每日经济新闻
2026-05-14 09:29:07
特朗普访华规格拉满,中方破例给出超高礼遇,普京向全球发声

特朗普访华规格拉满,中方破例给出超高礼遇,普京向全球发声

热心市民小黄
2026-05-14 16:38:04
进退之间|王俭让官与南朝士族的落日余晖

进退之间|王俭让官与南朝士族的落日余晖

澎湃新闻
2026-05-13 10:38:28
黄仁勋半路登机,史上最贵机票出现了!

黄仁勋半路登机,史上最贵机票出现了!

花小猫的美食日常
2026-05-14 15:38:50
皇马训练视频疯传,“姆巴佩帮”和“维尼修斯帮”似乎泾渭分明

皇马训练视频疯传,“姆巴佩帮”和“维尼修斯帮”似乎泾渭分明

懂球帝
2026-05-14 01:38:38
东北一男子养鹿破产,赌气放生了30头鹿,8年后上山,眼前一幕却让他泪崩了...

东北一男子养鹿破产,赌气放生了30头鹿,8年后上山,眼前一幕却让他泪崩了...

背包旅行
2026-05-11 14:51:09
欧盟一季度从俄进口液化天然气量创2022年来新高

欧盟一季度从俄进口液化天然气量创2022年来新高

财联社
2026-05-13 20:02:19
冻干水果是“智商税”吗?一文读懂利弊,避开食用禁忌‌→‌

冻干水果是“智商税”吗?一文读懂利弊,避开食用禁忌‌→‌

健康报
2026-05-13 15:10:02
欧洲曝绍伊古要政变,昔日亲信悉数落马,普京:进屋连表都不能带

欧洲曝绍伊古要政变,昔日亲信悉数落马,普京:进屋连表都不能带

混沌录
2026-05-13 22:53:07
CBA半决赛赛程公布!胡金秋伤势出炉,上海深圳占优,用外籍裁判

CBA半决赛赛程公布!胡金秋伤势出炉,上海深圳占优,用外籍裁判

老吴说体育
2026-05-13 23:35:39
71.5%!历史性暴跌,以贷养贷的泡沫崩了

71.5%!历史性暴跌,以贷养贷的泡沫崩了

月满大江流
2026-04-16 13:54:38
马斯克说会谈很顺利,黄仁勋点赞、库克比耶

马斯克说会谈很顺利,黄仁勋点赞、库克比耶

财闻
2026-05-14 13:34:16
4只皮皮虾事件后续:出租车司机被开除,顾客坚持认为司机收了钱

4只皮皮虾事件后续:出租车司机被开除,顾客坚持认为司机收了钱

映射生活的身影
2026-05-13 16:55:14
网传某地事业编欠薪10个月,社保断缴已闹上百姓呼声!

网传某地事业编欠薪10个月,社保断缴已闹上百姓呼声!

灯锦年
2026-05-13 19:39:30
他是原江西省委书记,主政江西36年,百姓念他一辈子,享年99岁

他是原江西省委书记,主政江西36年,百姓念他一辈子,享年99岁

近史谈
2026-05-14 12:24:27
会谈结束,特朗普用了4个字定调,中美风向真的要变了?

会谈结束,特朗普用了4个字定调,中美风向真的要变了?

赵探长TALK
2026-05-14 15:21:08
2026-05-14 17:07:00
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7737文章数 34540关注度
往期回顾 全部

科技要闻

马斯克说会谈很顺利 黄仁勋点赞 库克比耶

头条要闻

重庆一栋百年古建筑以399万公开拍卖 仅限中国人竞买

头条要闻

重庆一栋百年古建筑以399万公开拍卖 仅限中国人竞买

体育要闻

登海报!哈登30+8+6创多项纪录 第8次赢天王山

娱乐要闻

何九华官宣当爸!全程不提孩子妈

财经要闻

习近平同美国总统特朗普会谈

汽车要闻

新时代传统豪华是什么样? 上汽奥迪E7X给出了自己的答案

态度原创

家居
本地
时尚
公开课
军事航空

家居要闻

精神奢享 对话塔尖需求

本地新闻

用苏绣的方式,打开江西婺源

T恤+低腰阔腿裤、衬衫+低腰半裙,今年夏天最时髦的搭配,谁穿谁好看!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美以伊战争期间以总理密访阿联酋

无障碍浏览 进入关怀版