
無服務器已經席捲了雲計算世界,在過去幾年中出現了巨大的增長,並對未來做出了非常積極的預測,根據最近的預測,到 2028 年,該市場預計將以超過 20% 的複合年增長率增長。
從本質上講,無服務器架構通過 IT 自動化軟件充分發揮基於雲的技術的潛力,使企業能夠推動增長,而不是在 IT 基礎設施管理上花費時間和資源。
雖然這聽起來很有希望,但無服務器雲平臺仍然是無狀態和集中的,因此,應用程序需要解決存儲狀態的這一缺點,並避免受到供應商鎖定的影響。
互聯網計算機提供了另一層安全、控制和信任 —— 所有這些都是通過去中心化實現的,沒有任何一方可以控制硬件或軟件,此外,互聯網計算機按照設計以有狀態的方式運行。
在這篇文章中,我們描述了互聯網計算機區塊鏈如何提供無服務器計算功能以及兩個重要的額外好處:去中心化和有狀態。
什麼是無服務器?
無服務器是一種新穎的雲計算範例,可以實現快速靈活的開發週期,而無需考慮底層基礎設施(配置和擴展正確的虛擬機、安裝和維護軟件和框架),從而降低總體運營成本。
無服務器有多種形式,在我們的例子中最相關的是功能即服務(FaaS),其中(大型代碼庫被分割成)小功能,運行時間非常短(毫秒到分鐘),函數按每次使用收費(即根據運行時間)加上每次調用的固定費用,最後要提到的重要功能是出色的擴展能力,可以在短時間內啓動同一功能的多達數千個實例。
互聯網計算機作爲無服務器平臺
簡要瀏覽一下互聯網計算機的架構,您會很容易注意到它提供了無服務器功能,甚至還有額外的好處。
如今,FaaS 函數被打包爲容器或簡單地作爲代碼(Python、Javascript、Java、Rust 等),並提供可由外部用戶或其他函數直接調用的單個端點。
互聯網計算機上的容器智能合約還可以用多種語言進行編程,包括 Rust、Motoko、JavaScript 或 Python,並且可以公開多個端點,這些端點可以爲每個容器提供不同的功能。
下表總結了主要的無服務器功能及其對應的互聯網計算機,以及區塊鏈相對於基於雲的無服務器的優勢:

從表中可以看出,互聯網計算機滿足無服務器環境的所有條件,開發人員可能不知道,但他們已經在執行無服務器代碼,正如我們的研究表明的那樣,其效率幾乎與傳統雲供應商提供的相同。
在某些維度(例如內存)上,互聯網計算機甚至超過了傳統雲供應商提供的功能,然而,我們要強調的面向開發人員的最重要的功能是:有狀態和去中心化,傳統的無服務器雲不提供這兩個功能。
在表 2-3 中,我們邀請精通技術的讀者深入研究使互聯網計算機成爲具有競爭力的無服務器平臺的技術方面,這裏需要注意的是,互聯網計算機有兩種執行智能合約的類型 —— 更新模式和查詢模式,前者代表有狀態調用,而後者是無狀態的,就像通用的無服務器計算一樣。


在函數執行後保持狀態是無服務器 / FaaS 世界中長期以來備受追捧的功能,它非常難以實施,因爲它通常與當前雲中提供的無縫扇出類型的可擴展性相沖突。
幸運的是,互聯網計算機在設計時從一開始就考慮到了狀態性,併爲開發人員提供了此功能,而無需任何類型的手動干預,例如將數據保存到外部存儲層或數據庫,因此,所有變量或數據在互聯網計算機上調用智能合約後都會自動持久化。
去中心化是另一個經常被忽視的重要特徵,現代無服務器產品目前由幾個大型集中式雲提供,這導致供應商鎖定,在這種情況下,開發人員代碼和數據與其提供商一樣安全,並且容易受到地理中斷或簡單的供應商政策變化的影響。
互聯網計算機是完全去中心化的,節點機器在不同的地理位置運行,並在強大的共識保證下運行,甚至可以容忍拜占庭(惡意)故障。

互聯網計算機與傳統無服務器平臺
爲了評估互聯網計算機區塊鏈在無服務器雲方面的表現,我們在互聯網計算機和前 3 個無服務器平臺之一上運行了 CPU 密集型基準計算素數,對於較小的輸入,互聯網計算機比傳統的無服務器更快,而對於較大的輸入,速度只有傳統的一半(參見下圖的結果)。
這是非常令人鼓舞的,這表明,儘管還有很長的路要走,但與傳統的集中式雲相比,互聯網計算機在性能方面正在獲得牽引力,如需瞭解更多詳細信息,我們鼓勵您查看我們最近在著名的 USENIX ATC 會議上發表的同行評審文章:
usenix.org/system/files/atc23-arutyunyan.pdf

提高性能
額外的內置功能(例如去中心化和狀態性)導致互聯網計算機在處理大型工作負載時的性能較低(參見圖 2),雖然這些功能非常強大且重要,但它們也會削弱原始性能。

DFINITY 工程師和研究人員將繼續尋找和探索增強和改善互聯網計算機性能的方法,一些改進領域可能是增加並行性或用日誌結構合併樹方法替換當前存儲層以縮短檢查點時間。
釋放複合查詢的全部功能來支持更復雜的應用程序也會對性能產生積極的影響,複合查詢方面的工作已經開始,以實現水平 dapp 擴展並簡化客戶端代碼,允許跨子網查詢調用和複製執行的進一步工程正在進行中。
在互聯網計算機上構建無服務器應用程序

在互聯網計算機上運行企業試點

你關心的 IC 內容
技術進展 | 項目信息 | 全球活動

收藏關注 IC 幣安頻道
掌握最新資訊
