工具链逐渐成熟,Wasm 云原生应用逐渐走向主流

语言: CN / TW / HK

近日,OSCHINA 和 Gitee 联合发布了《2022 中国开源开发者报告》其中,Second State 创始人,CNCF WasmEdge 维护者 Michael Yuan 在报告中对开源 DevOps 领域进行了解读,以下为原文。

 

工具链逐渐成熟,Wasm 云原生应用逐渐走向主流

2022 年是云原生 WebAssembly (Wasm)工具链逐渐成熟的一年,也是 Wasm 的云原生应用逐渐走向主流的一年。相信在 2023 年,Wasm 的应用将会更广泛。

2022 年,集成 WasmEdge 的 Docker Desktop 4.15 正式版发布。通过与 WasmEdge 合作, Docker 现在可以肩并肩运行 Wasm 容器 与 Linux 容器。Wasm 容器应用的启动时间与空间占用也都比 Linux 容器改进了两个数量级(100倍)。Docker 的支持是 Wasm 开发工具链步入主流的一个里程碑。

不仅如此,随着 runwasi 成为 containerd 的正式项目,使得任何基于 containerd 的容器管理系统(包括 Docker 与 Azure)都能用 shim 的方式启动 Wasm 容器。

两个主流 OCI runtime——crun 与 youki 率先支持了 Wasm,Wasm 应用可以无缝接入现有 K8s 生态。CRI-O、Podman、OpenShift 与 K8s 及 K8s 的变种如 OpenYurt、SuperEdge、KubeEdge、kind 都可以启动、编排 Wasm 容器。

在操作系统层面,Fedora Linux 37 与 Red Hat Enterprise Linux 的 EPEL 9 都正式集成了 WasmEdge 的安装包。开发者可直接在 Linux 程序里集成 Wasm 应用,或者用简单命令行启动 Wasm 的运行沙盒。

Wasm 的语言支持也在逐渐增加。例如,通过 WasmEdge-quickjs 项目,JavaScript 程序(包括 Node.JS API 与 NPM 软件包)可以运行在 Wasm 容器里。VMware 将 PHP 导入到 WebAssembly ,可以在 Wasm Runtime 运行 WordPress。微软的 .Net 也增加了对 WASI 的支持。

在 Wasm 标准方面,Component model 提案将支持从一个 Wasm 模块访问其他模块和系统(例如数据库、消息队列),提高 Wasm 模块的可重用性和可组合性。spin、SpiderLightning 等项目已经在使用 component model 的一些接口与工具。wasmtime、WasmEdge 等主流 Wasm Runtimes 也都明确表示支持。

Wasm 在浏览器端也有了进展。W3C 发布了 WebAssembly 核心规范 2.0 的首个草案,讨论了 Core Specification 、JavaScript Interface、Web API,为其在浏览器的应用指明了方向。

2022 年,Wasm 解锁、丰富了几个重要的云原生应用场景:

  • 在微服务方面,Wasm 为其提供了轻量级、安全、高性能的运行环境。例如,wasmCloud 与 Adobe 合作部署了基于 Wasm 的安全微服务;基于 WasmEdge 的微服务也能够直接使用 Dapr 集成的几百种服务。
  • 在数据流函数方面,作为一个轻量级、可嵌入的 runtime, Wasm 在数据库 UDF 和数据流的 ETL 方面有落地应用场景。例如 SingleStore 与 Nebula Graph 使用 Wasm 在数据库执行 UDF; InfinyOn 与 Redpanda 使用 Wasm 在实时数据流中处理数据。
  • 在 PaaS serverless 函数方面,Wasm 非常适合执行轻量级,需要快速冷启动扩容的 serverless 函数。 Fermyon、Cosmonic 以及 Fastly 都基于 Wasm 推出了类似 AWS Lambda 的 Serverless 平台。
  • 在 SaaS serverless 函数方面, Wasm 可以赋能 SaaS 平台支持用户上传的代码。这些代码是由 SaaS 事件触发的,以取代复杂、慢且难用的 webhook APIs。Suborbital 推出了基于 Wasm 构建 SaaS 扩展的框架。而 Flows.network 是一个用 Wasm serverless 函数来连接 SaaS 的工具。

Michael Yuan

Second State 创始人,CNCF WasmEdge 维护者。WasmEdge 是轻量级、安全、高性能、符合 OCI 标准的 WebAssembly Runtime。

《2022 中国开源开发者报告》报告由” 前沿开源技术领域解读 “ ” 中国开源创业观察 2022“,以及” 开发者画像分析 “ 三个章节组成。在 “前沿开源技术领域解读” 部分,多位在其领域有所建树的一线开发者和开源商业化公司创始人,对目前国内外流行的前沿开源技术领域过去的发展和未来的趋势进行了深入的洞察,覆盖开源云原生、开源 AI、开源大前端、开源大数据、开源 DevOps、RISC-V、开源操作系统、开源数据库、编程语言九大领域。

欲了解更多报告内容,请点击:https://gitee.com/report/china-open-source-2022/