工具鏈逐漸成熟,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、開源作業系統、開源資料庫、程式語言九大領域。

欲瞭解更多報告內容,請點選:http://gitee.com/report/china-open-source-2022/