為什麼說軟體服務的未來必然是WebAssembly?

Michael_Yuan發表於2019-11-26

WebAssembly(WASM)最初由W3C 的Mozilla、谷歌、微軟、蘋果等著名公司合作研發,是瀏覽器內應用程式的高效能執行引擎。隨著WASM 在開發者社群中越來越流行,WASM 也正在從客戶端遷移到服務端,成為服務端技術的新銳。

為什麼說軟體服務的未來必然是WebAssembly?

價值定位

WASM 從客戶端到服務端的遷移,與Java 和 JavaScript 等前幾代技術的發展歷程一脈相承。與現有解決方案相比,WASM 在服務端提供了一些重要的價值。

與Java 和 JavaScript 引擎相比,WASM 通過LLVM 工具鏈支援20多種程式語言,從而讓開發人員有選擇語言工具的自由,大大提高了生產力。特別是,它支援有影響力的新銳程式語言,例如Rust 。同時,WASM 可以輕鬆支援CPU、GPU、 AI 優化晶片和FPGA 等硬體功能。

它提供了接近於本機程式碼的效能,而又不犧牲安全性。

為什麼說軟體服務的未來必然是WebAssembly?
圖片來源:steveklabnik.github.io/booster2018…

與Docker之類的容器相比,它為開發人員提供了更抽象的程式碼執行環境,從而提高了開發效率。它可以直接部署程式碼和應用程式,而不必啟動作業系統。Wasm 程式不需修改,就可以在不同的作業系統上執行。這與當今的雲原生微服務架構配合得很好。

WASM 消耗的記憶體和資源比作業系統級別的容器少得多。其模組化的安全模型允許為每個函式呼叫配置硬體和作業系統資源,從而在保證安全性的同時,保留了本機效能。

如果在 2008 年已經有了 WASM + WASI,那麼我們壓根無需創始 Docker 這個專案了。 Wasm 就有這麼重要!伺服器上的 WebAssembly 是計算的未來。 — Docker 聯合創始人 Solomon Hykes

此外,伺服器端 WASM 受益於這幾年源於區塊鏈社群的重大創新。

區塊鏈先行一步

伺服器端 WASM 目前處於早期階段,還有大量的工作亟待完成,包括優化、開發工具和整合庫,然後才能在企業中大規模應用。但是,開發者已經在企業計算、去中心化的區塊鏈應用等新興領域中將其用於微服務。

區塊鏈智慧合約是不可更改並且自動執行的程式碼。去中心化的應用(或 dapps )可以通過 Web 介面與智慧合約進行互動。這使得智慧合約成為自然的微服務。

以太坊,EOS 和 Polkadot 等大型公共區塊鏈網路(公鏈)都致力於採用 WASM 作為其下一代執行引擎。因此,公鏈是當今編寫和部署 WASM 服務的最佳平臺。

服務端 WASM 受益於近年來投入到區塊鏈領域的數十億美元的研發投資。這些區塊鏈研發創新的許多都與企業應用高度相關。

  • 執行結果確定的應用程式
  • 對共享資源進行操作碼級別的準確計費
  • 對計算結果的無信任共識
  • 對數字貨幣基礎設施的支援
  • 應用程式的形式化驗證
  • 零知識計算

讓程式碼說話

區塊鏈應用已經做出了可演示的去中心化的微服務 Demo。以在 Second State 的 BUIDL 開發工具開發區塊鏈應用為例,花上幾分鐘就可以在區塊鏈網路上部署微服務,然後在此基礎上構建一個去中心化的 Web 應用程式。

BUIDL 中的示例程式的“後端”是區塊鏈智慧合約(微服務)。智慧合約是去中心化與雲原生的。

為什麼說軟體服務的未來必然是WebAssembly?

Second State 的 BUIDL 還能將 WASM 智慧合約部署到以太坊基金會的 Ewasm 測試網上

服務端 WASM 的下一個爆發點是區塊鏈之外的企業應用。在資料中心裡,WASM 提供多種語言的服務(支援服務端上的 Rust !),支援多種硬體和作業系統平臺,佔用很少計算資源,並且可以直接觸達底層硬體(比如 GPU 和 AI 晶片)。您可以在此處檢視在WASM中執行Rust服務的概念演示

前方之路

即將釋出的 Second State 虛擬機器(SSVM)是為服務端應用程式優化的 WASM。

在區塊鏈領域,Second State 已經走在了世界最前沿,為下一代以太坊相容的區塊鏈系統提供虛擬機器(Ewasm)。用於區塊鏈的 SSVM 原生支援256位整數運算。與其他 Ewasm 實現相比,SSVM 在虛擬機器內部拒絕執行結果不確定的操作碼,如浮點運算,同時也實現了對 gas 的精確計算,從而大大提高了效能。

為什麼說軟體服務的未來必然是WebAssembly?

在雲服務領域,SSVM 優化了 WASM 針對企業的功能,例如程式狀態的高效儲存,高效能輸入輸出,多執行緒支援,以及對硬體加速器的直接支援。 通過與高通公司的合作,SSVM 在高通晶片上執行時,可以直接訪問高通晶片的 AI SDK。

服務端 WASM 的發展前景充滿了希望。

加入我們,向下一代雲架構邁進!

相關文章