头图

WasmEdge (曾用名 SSVM) 成为 CNCF 沙箱项目

WASM中文社区
English

WasmEdge runtime (曾名 SSVM)是一个轻量级高性能 WebAssembly (WASM) 虚拟机,为边缘进行了优化。WasmEdge 可以应用于 severless 云函数、SaaS、区块链智能合约、物联网、汽车实时软件应用等多种场景。

WasmEdge 最近被 CNCF 基金会接受为沙箱项目。 这是全球范围内首个被 CNCF 纳入托管的开源 WebAssembly runtime 项目。可以预见,WasmEdge 作为边缘云的 mission critical 轻量级runtime,将在 CNCF 的开源云计算领域发挥重要作用。

源代码: https://github.com/WasmEdge/W...

开始

二十五年前,Java 编程语言最初是作为浏览器小组件被发明出来。但 Java 最终是在服务器端大获成功。后来,JavaScript 通过 Node.js 重复了同样的从浏览器到服务器/云的迁移路径。今天,再一次,WebAssembly 正在从浏览器向云迁移。 WasmEdge 在这一历史性迁移中,走到了前沿。

历史总是相似的,但从不重演。虽然 WebAssembly 从浏览器迁移到云的驱动因素与之前的 Java 和 JavaScript 相同,例如得到年轻开发者采用,受欢迎的编程语言 (Rust), 但更重要的是,WebAssembly 也非常适合处理现代云计算工作。特别是,WebAssembly 的轻量级设计和先进的安全模型,加上 Rust 语言的内存安全性,使其很好地适用云上的高性能且使命关键(mission critical) 的应用程序。尤其是在边缘云、物联网设备和汽车上。传统的容器和虚拟机太笨重且速度太慢,WebAssembly 可能成为领先的 runtime 技术。

WasmEdge,曾用名 SSVM,是一个开源 WebAssembly 虚拟机,针对边缘设备进行了优化。根据 IEEE Software 杂志上发表的一篇研究论文,WasmEdge 具有先进的 AOT 编译器支持,是当今市场上最快的 runtime。

WasmEdge 的关键特性

WasmEdge 与 W3C WebAssembly 标准完全兼容。 开箱即用,得到标准语言和编译器工具链的支持,例如 LLVM、Rustc 和 emscripten。 WasmEdge 的与众不同之处在于它对标准与非标准扩展的支持,尤其是在边缘计算方面相关的扩展。

首先,WasmEdge 支持 W3C 可选的 WebAssembly 特性和提案,例如 WebAssembly 系统接口(WASI)规范、引用类型、大容量内存操作和 SIMD。 WasmEdge 也在探索 wasi-socket 提案,以支持 WebAssembly 程序中的网络访问。

此外,WasmEdge 支持针对特定应用场景设计的非标准扩展。

  • Tensorflow。开发者可以使用简单的 Rust API,编写 Tensorflow 推理函数,然后在 WasmEdge 内部以本机速度安全地运行该函数。我们也正在努力支持其他 AI 框架。(欢迎加入 WasmEdge 社区)
  • Storage。 WasmEdge 存储接口允许 WebAssembly 程序读取和写入键值存储。
  • 命令接口。WasmEdge 让 Webassembly 函数可以执行宿主机操作系统的本地命令。它支持传递参数、环境变量、STDIN/STDOUT pipes 和主机访问的安全策略。
  • 以太坊。WasmEdge Ewasm 扩展支持编译为 WebAssembly 的以太坊智能合约。它是以太坊风格的 WebAssembly (Ewasm) 的领先实现。
  • SubstratePallet 让 WasmEdge 能在任何基于 Substrate 的区块链上充当以太坊智能合约执行引擎。

最后,WasmEdge 是一个云原生的 WebAssembly VM。它支持 OCI(开放容器计划)规范,这能够让像 Kubernetes 这样的云原生编排工具管理 WasmEdge 实例。


WasmEdge 之前名为 SSVM。

应用场景

WasmEdge 为边缘和嵌入式应用场景优化。它能把软件及硬件产品转变为开发者平台。 下面是一些具体的应用场景。

展望未来

WebAssembly 生态仍处于早期阶段。 WasmEdge 由 CNCF 托管,旨在成为 WebAssembly 及其边缘相关扩展的开源“参考实现”。 社区可以首先在 WasmEdge 上试验新的扩展想法,然后将成功的扩展标准化。WasmEdge 社区还将为编译器工具链和 SDK 做出贡献,以支持允许更多编程语言的 WebAssembly 和 WasmEdge 扩展。

加入我们的 WebAssembly 革命!

👉 Slack 组群:加入 CNCF slack channel,搜索 WasmEdge 加入 WasmEdge Slack Channel。

👉 订阅邮件:发邮件至 WasmEdge@googlegroups.com

👉 成为贡献者: 查看贡献灵感清单 开始为 WasmEdge 做贡献

阅读 1.6k

Wasm
随着WASM 在开发者社区中越来越流行,WASM 也正在从客户端迁移到服务端,成为服务端技术的新锐。
164 声望
141 粉丝
0 条评论
你知道吗?

164 声望
141 粉丝
文章目录
宣传栏