Deislabs發布了一個稱之為Hippo的開源託管平臺即服務,該平臺使用WebAssembly作為執行應用程式Runtime,期望改造當前PaaS生態系。Hippo提供工具讓用戶將應用程式,打包成程式物件資源包(Bindle),並且上傳到可供搜尋的Bindle伺服器,而Hippo則在底層使用這些Bindle來儲存和組織應用程式。

Deislabs開發Hippo的目標主要解決兩個問題,第一是讓開發應用程式和服務更簡單,Hippo提供一套方便的工具,開發者可以快速建置和測試新想法。第二則是讓開發團隊更輕鬆地管理應用程式發布生命周期,Hippo使用稱為頻道(Channels)的概念,頻道會根據制定的標準,自動部署最新的版本。

開發者透過使用Hippo命令列工具,可以上傳最新版本,或是建置本地開發用的Bindle,而在未來,Deislabs會強化該工具,並且讓開發者能夠創建應用程式、配置頻道、收集日誌和附加TLS證書等。用戶也可以使用網頁介面註冊新帳戶、存取應用程式和創建新的測試環境。

WebAssembly是一種類似組合語言的的低階語言,能編譯成為小巧的二進位格式,並且以接近本機的效能執行,而Hippo則利用WebAssembly系統介面(WebAssembly System Interface,WASI),在雲端上執行WebAssembly。官方提到,因為使用WebAssembly,Hippo便能獲得三個主要的好處。

由於WebAssembly應用程式會以沙盒執行,應用程式僅能存取各自的記憶體位置,除非Runtime明確授權,否則無法取用沙盒環境之外的內容,包括主機呼叫、系統文件、函式庫和裝置,因此Hippo具有高度安全性。

另外,WebAssembly還讓Hippo應用程式具有可移植性,當應用程式編譯成WebAssembly,應用程式並不在意作業系統的底層架構,因此當編譯後的應用程式部署到Hippo,不需要修改就能夠在Windows、MacOS和Linux上運作。也就是說使用Hippo,開發者在將應用程式傳送到Linux伺服器執行前,可以先在Windows上編譯並且測試完全相同的二進位檔案,達到真正一次建構,隨處執行的理想。

Hippo得利於WebAssembly接近本機執行效能的好處,在官方的實驗中,冷啟動載入應用程式到實體化WebAssembly Runtime,約只需要10毫秒的時間,官方提到,他們正在進行一些改進,甚至可將啟動時間縮短至3毫秒。

想嚐鮮的開發者已經可以開始試用Hippo,而官方也持續改進Hippo,像是新增命令列工具的功能,或是讓Hippo在工作負載調度工具nomad上執行更加容易,並且提升Hippo和其他系統的互通性等。

熱門新聞

Advertisement