七牛云姬長軍:企業(yè)技術(shù)棧向云原生轉(zhuǎn)型的實踐與思考

“云原生”引爆億萬級蒼穹,“分布式云”啟動新商業(yè)引擎,“分布式存儲”開創(chuàng)未來新篇。伴隨著 5G 商用時代的到來,在新一輪技術(shù)革命的關(guān)口,CDN +邊緣計算迎來新階段,分布式云將加速這一變革的發(fā)生。

12 月 17 日至 18 日,“ Distributed Cloud 2020 全球分布式云大會”在深圳正式拉開帷幕。本次大會以“技術(shù)變革保障用戶體驗 , 引領(lǐng)國際部署全球節(jié)點”為宗旨,就“云原生”、“分布式云”、“分布式數(shù)據(jù)”、“分布式存儲”、“實時音視頻技術(shù)”等幾個技術(shù)方向進行討論。大會邀請到華為云、騰訊云、阿里云、七牛云、政府主管部門、標(biāo)準制訂方,以及深圳 TOP 200 流量主及運營商等云原生、邊緣云計算開發(fā)者相關(guān)企業(yè)共同參與,以推動技術(shù)變革,適應(yīng)時代發(fā)展。

七牛云姬長軍:企業(yè)技術(shù)棧向云原生轉(zhuǎn)型的實踐與思考

在 12 月 17 日下午的“云原生領(lǐng)導(dǎo)力論壇”上,七牛云業(yè)務(wù)效率負責(zé)人姬長軍帶來《企業(yè)技術(shù)棧向云原生轉(zhuǎn)型的實踐與思考》的主題演講。演講中,姬長軍講解如何通過研發(fā)賦能,來推動企業(yè)技術(shù)人才升級云原生技能,以及他們的總結(jié)與思考。

從 CNCF 2020 最新的調(diào)研報告可以看到,在采用容器技術(shù)時,受訪者普遍反饋其復(fù)雜性和對開發(fā)文化的改變是最大的挑戰(zhàn)。事實也確實如此,云原生涉及的技術(shù)棧較多,研發(fā)人員需要一定的時間去了解和實踐,因此在做技術(shù)棧升級時,技術(shù)領(lǐng)導(dǎo)者需要充分考慮到這一點。

如何優(yōu)雅地應(yīng)對云原生技術(shù)挑戰(zhàn)?

一、基于云原生的測試左移生態(tài)

姬長軍通過三個維度分享七牛云測試左移技術(shù)落地實踐全貌,首先這個生態(tài)主打的還是業(yè)務(wù)質(zhì)量保障,是基于 PR (變動)構(gòu)建多維反饋,包括單測、全量集測、系統(tǒng)測試,甚至是增量覆蓋率分析,以及受影響服務(wù)反饋等等,能夠在源頭保障入庫代碼質(zhì)量。其次是工程效能提升,姬長軍認為這是切入測試左移所帶來的價值。核心是在 QA 未介入的情況下,能夠自動化的提供多維度的質(zhì)量反饋,對研發(fā)來講足夠優(yōu)雅,也讓整個迭代足夠流暢。最后是云原生技術(shù)的落地,七牛云選擇 Prow 作為 CI 平臺,充分利用云原生技術(shù),做到體驗最優(yōu)。姬長軍表示,這種測試左移的模式,能夠在源頭保障質(zhì)量,極大的提升研發(fā)整體迭代效率。

那七牛云在技術(shù)決策上為什么選擇 Prow ?姬長軍介紹,Prow 基本上是云原生測試基礎(chǔ)設(shè)施的一個標(biāo)配,主流云原生項目都在用 Prow ,比如 Kubernetes ,Istio 等。Prow 有很多優(yōu)點,比如它輕量,基本是無狀態(tài)的,基于 CRD 實現(xiàn)。且 Prow 采用 Yaml 作為配置語言,基于 PR 的 CI 環(huán)境用完即銷毀,擁有很好的隔離性,場景需求完美契合,其豐富的 GitOps/ChatOps plugin,方便二次開發(fā)。姬長軍講解道:“有看到一些企業(yè)在考慮云原生時,會將重點放在封裝 Kubernetes 的復(fù)雜性,企圖通過一套 UI 去降低用戶上容器的負擔(dān)。雖然這個想法很好,但實踐下來可能不太現(xiàn)實,因為大家知道 YAML 基本上是 Kubernetes 聲明式 API 的標(biāo)配。而聲明式 API 是云原生五大技術(shù)特性之一,如果這個時候還考慮繞過他,基本是走了彎路。因此我認為在云原生時代,技術(shù)人員應(yīng)該對 YAML 比較親和才對,就像面對自己擅長的編程語言一樣。”

姬長軍表示通過云原生技術(shù),把 CI 場景做透。在解決問題的同時也給研發(fā)同學(xué)提供了一個接觸云原生的場景。而這個場景又足夠聚焦,不會讓不熟悉的 Kubernetes 技術(shù)的同學(xué)一下子被其復(fù)雜性所淹沒。所以這其實是云原生技術(shù)布道很好的一個落腳點。

除了平臺,基于云原生的測試左移里有很多技術(shù)細節(jié),姬長軍著重分享了兩個場景。一是基于PR 的增量覆蓋率精準分析,通過測試覆蓋率做精準反饋,極方便從 PR 中查看修改代碼的單測和集測覆蓋詳情。“這背后對應(yīng)的是一款 Go 語言精準測試覆蓋率收集系統(tǒng),名叫 goc。該系統(tǒng)已經(jīng)開源,且在測試開發(fā)圈有著不錯的反響,我們看到很多使用 Go 語言的企業(yè)已經(jīng)在使用,甚至包括一些頭部企業(yè)。”姬長軍說。

另一個是基于 PR 的受影響服務(wù)自動反饋。這一實踐背后也是涉及到一個小工具,且已經(jīng)開源。它解決問題的價值比較實在。此系統(tǒng)能夠精準反饋修改代碼影響的應(yīng)用服務(wù)列表,幫助我們在發(fā)布時,避免遺漏服務(wù)。

對于第一個實踐玩法,姬長軍總結(jié)道:“基于云原生的測試左移戰(zhàn)略讓單個團隊體驗到云原生技術(shù)的魅力,但我們知道,一個人可能走得很快,一群人才走的更遠。而我們要想更大的利用云原生技能提升企業(yè)研發(fā)效能,那就必須讓更多的人都能玩轉(zhuǎn)云原生技術(shù)。”

二、將研發(fā)流程徹底搬到 Kubernetes 之上

帶著這個思路,七牛云開啟了第二個玩法,就是將研發(fā)流程徹底搬到 Kubernetes 之上去探索全員云原生姿勢。姬長軍表示,他們主要做了以下幾件事:首先,所有業(yè)務(wù)均在 Kubernetes 測試集群容器化,其次,各業(yè)務(wù)能夠基于最新代碼一鍵部署一套容器化開發(fā)測試環(huán)境,隨用隨起。然后提供姿勢,能夠一鍵將變動的服務(wù)直接發(fā)布到容器化開發(fā)環(huán)境,不需要 CI/CD。最后是拉平辦公網(wǎng)絡(luò)和 Kubernetes 集群網(wǎng)絡(luò),做到直連 Pod IP/Cluster IP。姬長軍表示,最終的收獲效果是研發(fā)可以在日常業(yè)務(wù)開發(fā)中,自由玩轉(zhuǎn) Kubernetes。

在介紹完兩個實踐玩法之后,關(guān)于企業(yè)技術(shù)棧升級,姬長軍分享了他的總結(jié)與思考。他表示,一定要從價值導(dǎo)向出發(fā),通過解決和優(yōu)化實際問題來推動技術(shù)升級,同時掌握好節(jié)奏,要能階段性的拿結(jié)果。其次要以人為本,企業(yè)技術(shù)棧升級本質(zhì)也是企業(yè)人才的升級,若能促進現(xiàn)有人才的升維,當(dāng)能獲得最大 ROI 。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責(zé)任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )