「雲原生」引爆億萬級蒼穹,「分布式雲」啟動新商業引擎,「分布式存儲」開創未來新篇。伴隨著 5G 商用時代的到來,在新一輪技術革命的關口,CDN +邊緣計算迎來新階段,分布式雲將加速這一變革的發生。
12 月 17 日至 18 日,「 Distributed Cloud 2020 全球分布式雲大會」在深圳正式拉開帷幕。本次大會以「技術變革保障用戶體驗 , 引領國際部署全球節點」為宗旨,就「雲原生」、「分布式雲」、「分布式數據」、「分布式存儲」、「實時音視頻技術」等幾個技術方向進行討論。大會邀請到華為雲、騰訊雲、阿里雲、七牛雲、政府主管部門、標準制訂方,以及深圳 TOP 200 流量主及運營商等雲原生、邊緣雲計算開發者相關企業共同參與,以推動技術變革,適應時代發展。
在 12 月 17 日下午的「雲原生領導力論壇」上,七牛雲業務效率負責人姬長軍帶來《企業技術棧向雲原生轉型的實踐與思考》的主題演講。演講中,姬長軍講解如何通過研發賦能,來推動企業技術人才升級雲原生技能,以及他們的總結與思考。
從 CNCF 2020 最新的調研報告可以看到,在採用容器技術時,受訪者普遍反饋其複雜性和對開發文化的改變是最大的挑戰。事實也確實如此,雲原生涉及的技術棧較多,研發人員需要一定的時間去了解和實踐,因此在做技術棧升級時,技術領導者需要充分考慮到這一點。
如何優雅地應對雲原生技術挑戰?
一、基於雲原生的測試左移生態
姬長軍通過三個維度分享七牛雲測試左移技術落地實踐全貌,首先這個生態主打的還是業務質量保障,是基於 PR (變動)構建多維反饋,包括單測、全量集測、系統測試,甚至是增量覆蓋率分析,以及受影響服務反饋等等,能夠在源頭保障入庫代碼質量。其次是工程效能提升,姬長軍認為這是切入測試左移所帶來的價值。核心是在 QA 未介入的情況下,能夠自動化的提供多維度的質量反饋,對研發來講足夠優雅,也讓整個迭代足夠流暢。最後是雲原生技術的落地,七牛雲選擇 Prow 作為 CI 平臺,充分利用雲原生技術,做到體驗最優。姬長軍表示,這種測試左移的模式,能夠在源頭保障質量,極大的提升研發整體迭代效率。
那七牛雲在技術決策上為什麼選擇 Prow ?姬長軍介紹,Prow 基本上是雲原生測試基礎設施的一個標配,主流雲原生項目都在用 Prow ,比如 Kubernetes ,Istio 等。Prow 有很多優點,比如它輕量,基本是無狀態的,基於 CRD 實現。且 Prow 採用 Yaml 作為配置語言,基於 PR 的 CI 環境用完即銷毀,擁有很好的隔離性,場景需求完美契合,其豐富的 GitOps/ChatOps plugin,方便二次開發。姬長軍講解道:「有看到一些企業在考慮雲原生時,會將重點放在封裝 Kubernetes 的複雜性,企圖通過一套 UI 去降低用戶上容器的負擔。雖然這個想法很好,但實踐下來可能不太現實,因為大家知道 YAML 基本上是 Kubernetes 聲明式 API 的標配。而聲明式 API 是雲原生五大技術特性之一,如果這個時候還考慮繞過他,基本是走了彎路。因此我認為在雲原生時代,技術人員應該對 YAML 比較親和才對,就像面對自己擅長的程式語言一樣。」
姬長軍表示通過雲原生技術,把 CI 場景做透。在解決問題的同時也給研發同學提供了一個接觸雲原生的場景。而這個場景又足夠聚焦,不會讓不熟悉的 Kubernetes 技術的同學一下子被其複雜性所淹沒。所以這其實是雲原生技術布道很好的一個落腳點。
除了平臺,基於雲原生的測試左移裡有很多技術細節,姬長軍著重分享了兩個場景。一是基於PR 的增量覆蓋率精準分析,通過測試覆蓋率做精準反饋,極方便從 PR 中查看修改代碼的單測和集測覆蓋詳情。「這背後對應的是一款 Go 語言精準測試覆蓋率收集系統,名叫 goc。該系統已經開源,且在測試開發圈有著不錯的反響,我們看到很多使用 Go 語言的企業已經在使用,甚至包括一些頭部企業。」姬長軍說。
另一個是基於 PR 的受影響服務自動反饋。這一實踐背後也是涉及到一個小工具,且已經開源。它解決問題的價值比較實在。此系統能夠精準反饋修改代碼影響的應用服務列表,幫助我們在發布時,避免遺漏服務。
對於第一個實踐玩法,姬長軍總結道:「基於雲原生的測試左移戰略讓單個團隊體驗到雲原生技術的魅力,但我們知道,一個人可能走得很快,一群人才走的更遠。而我們要想更大的利用雲原生技能提升企業研發效能,那就必須讓更多的人都能玩轉雲原生技術。」
二、將研發流程徹底搬到 Kubernetes 之上
帶著這個思路,七牛雲開啟了第二個玩法,就是將研發流程徹底搬到 Kubernetes 之上去探索全員雲原生姿勢。姬長軍表示,他們主要做了以下幾件事:首先,所有業務均在 Kubernetes 測試集群容器化,其次,各業務能夠基於最新代碼一鍵部署一套容器化開發測試環境,隨用隨起。然後提供姿勢,能夠一鍵將變動的服務直接發布到容器化開發環境,不需要 CI/CD。最後是拉平辦公網絡和 Kubernetes 集群網絡,做到直連 Pod IP/Cluster IP。姬長軍表示,最終的收穫效果是研發可以在日常業務開發中,自由玩轉 Kubernetes。
在介紹完兩個實踐玩法之後,關於企業技術棧升級,姬長軍分享了他的總結與思考。他表示,一定要從價值導向出發,通過解決和優化實際問題來推動技術升級,同時掌握好節奏,要能階段性的拿結果。其次要以人為本,企業技術棧升級本質也是企業人才的升級,若能促進現有人才的升維,當能獲得最大 ROI 。
聲明:本站轉載此文目的在於傳遞更多信息,並不代表贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與本網聯繫,我們將在第一時間刪除內容,本網站對此聲明具有最終解釋權。