爲什麼說軟件服務的未來必然是WebAssembly?

image

爲什麼說軟件服務的未來必然是WebAssembly?

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

價值定位


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

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

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

image
圖片來源:https://steveklabnik.github.io/booster2018/

與Docker之類的容器相比,它爲開發人員提供了更抽象的代碼執行環境,從而提高了開發效率。它可以直接部署代碼和應用程序,而不必啓動操作系統。這與當今的雲原生微服務架構配合得很好。

WASM 消耗的內存和資源比操作系統級別的容器少得多。其模塊化的安全模型允許爲每個函數調用配置硬件和操作系統資源,從而在保證安全性的同時,保留了本機性能。

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

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

區塊鏈先行一步


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

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

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

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

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

讓代碼說話


使用Second State 的 BUIDL 開發工具,幾分鐘內,您就可以在區塊鏈網絡上部署微服務,然後圍繞它構建一個去中心化的 Web 應用程序。

文檔 中示例程序的“後端”是區塊鏈智能合約(微服務)。它是去中心化與雲原生的。
image
Second State 的 BUIDL 還能將 WASM 智能合約部署到以太坊基金會的 Ewasm 測試網上

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

前方之路


即將發佈的 Second State 虛擬機(SSVM)是爲服務端應用程序優化的 WASM。

在區塊鏈領域,Second State 已經走在了世界最前沿,爲下一代以太坊兼容的區塊鏈系統提供虛擬機(Ewasm)。用於區塊鏈的 SSVM 原生支持256位整數運算。與其他 Ewasm 實現相比,SSVM 在虛擬機內部可以處理不支持的操作碼以及實現了對gas 的精確計算,從而大大提高了性能。
image
在雲服務領域,SSVM 優化了 WASM 針對企業的功能,例如程序狀態的高效存儲,高性能輸入輸出,多線程支持,以及對硬件加速器的直接支持。 通過與高通公司的合作,SSVM 在高通芯片上運行時,可以直接訪問高通芯片的 AI SDK。

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章