WebAssembly真的要取代Docker嗎?

danny_2018發表於2022-06-15

有一個討論引起了大家的興趣:由於其設計,WebAssembly(也稱為Wasm)可能在許多情況下取代Docker。但正如我們將在本文中看到的那樣,過分關注WebAssembly的這一方面是不夠的,因為更重要的是WebAssembly可以支援的業務用途。

然而,就像任何有趣的新程式語言或技術一樣,Wasm價值的真正考驗是它的業務用途,而且Wasm在簡單性、可移植性和安全性方面的優勢使它成為彌補Docker缺點的一個很好的候選人,尤其是在邊緣和分散式應用程式方面。

WebAssembly可以用於將JavaScript(JS)、C++和Rust以及HTML和CSS整合到一個二進位制格式的執行時平臺中,該平臺直接在CPU上的機器級別上執行。它可以用於支援web應用程式,並擴充套件到任何在CPU上執行的邊緣環境和雲本機平臺,包括服務網格和邊緣Kubernetes支援。Wasm也存在了一段時間,直到2019年全球資訊網聯盟(W3C)將其命名為Web標準,從而成為第四個包含HTML、CSS和JavaScript的Web標準。

Adobe高階軟體工程師Colin Murphy在演講中詳細介紹了CDN edge compute和Wasm/WASI平臺,以及當前和未來的Adobe應用程式。Murphy表示,為了提高業務績效,Wasm可能成為Docker的繼任者。Murphy說,“我四處看,想看看‘Docker with Kubernetes的後繼者是什麼’,當了解WebAssembly時,我發現的是‘可以使用生產中實際使用的微服務,並且可以使用WebAssembly將其部署在伺服器邊緣的客戶端上。’”

例如,與Docker相關的主要問題之一是CVE檔案中可能存在漏洞。Murphy在一次採訪中說:“有時,同一個漏洞可以有多個CVE作為Docker容器。使用WebAssembly,你沒有任何第三方的東西。只需將其視為二進位制檔案即可。當然,安全問題總是存在的。但是,你不必攜帶作業系統的所有其餘部分,也不必假裝它是一個作業系統,因為它實際上是自己的單元”,這有助於使Wasm具有吸引力。

然而,Murphy說,也不要指望Wasm會完全取代Docker。

“仍有大型機,仍有主機OSS,仍有具有非常特殊業務用例的虛擬機器,並將繼續使用。但仍有一些非常好的地方,特別是在5G汽車的邊緣,以及所有這些型別的應用程式,在這些應用程式中,物聯網與世界接軌,並與邊緣接軌,在這些應用程式中,你無法用Docker。”

Docker產品負責人Jake Leverne表示,Wasm是否有可能最終完全取代Docker的使用,這是一個不合理的問題。問這個問題表明並沒有正確地理解開發人員市場是如何運作的,因為Wasm作為一種技術並不能取代Docker。

Leverne說:“Wasm是對Docker的補充,無論開發人員選擇何種方式來構建和實現其應用程式的一部分,Docker都將支援他們的開發體驗。”

Leverne說,使用Docker的開發、測試和部署工具鏈,無論應用程式架構如何,都可以更輕鬆地維護可複製的應用程式交付管道。此外,數百萬預構建的Docker映象,包括數千個官方和經驗證的映象,提供了“核心服務的主幹(如資料儲存、快取、搜尋、框架等)”,可以與Wasm模組一起使用。

Leverne說:“隨著時間的推移,容器執行時和登錄檔將擴充套件到包括原生Wasm模組支援。事實上,這已經在發生了。”

來自 “ 開源雲中文社群 ”, 原文作者:開源雲中文社群;原文連結:https://mp.weixin.qq.com/s/DEC2NlXmege71P7jX4GfJg,如有侵權,請聯絡管理員刪除。

相關文章