原文標題:《Web3:區塊鏈技術將如何改進Web3 中的DevOps ? 》(How區塊鏈Technology Can Improve DevOps Practices in Web3)
撰文:John Vester
編譯:ChinaDeFi
雖然還處於早期階段,但Web3 已經顯示出其能提供區塊鍊和DevOps 協同工作的可能。本文討論了DevOps 的實踐、流程、工具、及其它將如何與區塊鏈技術相互補充來交付Web3 解決方案。
DevOps 是一個涵蓋了軟件開發的文化、思維模式、開發風格、過程和技術的總稱。 DevOps 旨在通過協作、自動化、可預測的結果、更短的交付週期和更快的客戶反饋來提高軟件交付的質量。
區塊鍊是一種不可變的分佈式賬本技術。區塊鏈分類帳由去中心化的「區塊」組成,其中包含分類帳網絡上的事件或「交易」記錄。一旦區塊鏈記錄了一個交易,就不能刪除或更新它。區塊鏈可以是中心化的,也可以是去中心化的,它的固有性質總是分佈式的。
然而,大多數區塊鍊網絡是去中心化的,這意味著它們是運行在網絡中的節點上,而不是在中央服務器上。此外,去中心化的區塊鍊是無需許可的,這意味著任何人都可以訪問它們或參與它們的網絡。
Web3 是下一代互聯網的假想版本。 Web2 迎來了動態用戶生成內容、電子商務廣泛採用和易於使用的時代。而由區塊鏈技術驅動的Web3 通過將用戶數據的所有權從大型參與者轉移給用戶本身的方法,就足以帶來去中心化的新時代。 Web3 組織,比如ConsenSys,提供了新的工具,當與常見的DevOps 實踐相結合時,這些工具有望帶來一系列安全性和生產力優勢。
DevOps 和區塊鍊是如何互補的?
DevOps 是一個不斷改進軟件交付鏈的循環。它的最佳實踐可以通過不同的階段和工具支持區塊鏈技術開發。當前的DevOps 工具和實踐將使用容器化、自動化和較短的開發迭代來幫助區塊鏈開發。
另一方面,區塊鏈技術通過不變性、安全性、智能合約等提供了一種更好的方式來交付服務和數據。此外,通過確保質量和消除模糊性,它可以將DevOps 交付提升到一個新的水平。
DevOps 實踐和工具將如何幫助區塊鏈開發?
下表展示了在不同的DevOps 階段將如何協同工作,它將怎樣為區塊鏈開發、測試和交付做出貢獻。
區塊鏈如何幫助DevOps 實踐?
作為一項新興技術,區塊鏈已經從加密貨幣轉移到應用程序範圍。隨著技術的成熟,它可以以各種方式增強DevOps 和軟件交付過程。
不可變賬本的透明交付
應用程序可以利用區塊鏈的不可變賬本技術來實現更透明、更可靠的交付。區塊鏈中的每個節點都可以包含軟件開發過程及其依賴關係的完整歷史,從而增加它的可信度。
智能合約的質量保證
智能合約的任意代碼只在成功滿足預定條件的情況下執行。因此,智能合約可以用來規範測試和驗收過程。此外,這種方法將有助於實現法規遵循和批准過程的自動化。
帶有智能合約的SLA
軟件交付可以使用智能合約為應用程序的消費者來編碼服務水平協議。這可以消除協議中規定的需求上的歧義和分歧。同樣,分佈式賬本可以幫助結算付款和確保許可權。
不可變賬本的安全性和可審計性
DevSecOps 的實踐努力確保軟件的安全性,需要認證的區塊鏈通過驗證網絡中的參與者而進一步增強了這種安全性。日誌事件可以記錄在一個不可變的分類賬中,以便研究人員可以追溯安全漏洞的確切的時間點。
此外,由於基於區塊鏈的代碼是不可變的,而且所有節點都有整個交易歷史,因此可以通過審計開源或第三方庫的相關賬本來維護和驗證供應鏈安全。
強制性文件
軟件文檔常常是不存在的、低質量的或過時的。相同文檔的多個版本常常會造成歧義。不可變賬本可以包含最新文檔的簽名版本,而且還可以在軟件交付之前激活智能合約,以確保滿足特定文檔標準。
Web3 和DevOps 的未來
Web3 可能會為DevOps 創建新一代基於區塊鏈的工具、實踐和流程。示例包括用於全球範圍內的開源和業務協作的去中心化的、分佈式的、安全的代碼存儲庫。這類代碼存儲庫的例子包括Radicle 或Ellcrys。
Web3 還需要專門的編程語言來適應區塊鏈限制並提供豐富的庫集。 Solidity 就是這樣一種編程語言。程序員可以使用像Truffle 這樣的開發框架來構建和測試應用程序,並在以太坊虛擬機(EVM) 上運行它們。
Web2 應用程序允許驗證消息的內容,但不一定要驗證發送者。在區塊鏈技術中,增加了可驗證發送方的可信節點安全層。 Web3 將通過不可變的賬本和智能合約增加開發者的信任和安全性,使任何人都能審查軟件的質量和用途。像Diligence 這樣的工具可以審核這樣的智能合約。 Quorum Key Manager 等其他工具可以幫助機密文件和密鑰的管理。
結論
DevOps 是一種被廣泛接受的軟件交付實踐。其成功的部分原因在於其採用了尖端技術。
區塊鏈也是一項新興技術,它可以從網絡交付的軟件中獲得極大的好處。當前的DevOps 工具和實踐可以幫助開發區塊鏈上的應用程序,而更成熟的區塊鏈的採用可以改善DevOps 實踐。
資訊來源:由0x資訊編譯自8BTC。版權歸作者所有,未經許可,不得轉載