匯付天下技術(shù)丨如何用平臺工程打造全新的開發(fā)者體驗
一、什么是平臺工程
Gartner發(fā)布2023年10大戰(zhàn)略技術(shù)趨勢報告,其中包含平臺工程(Platform Engineering)。Gartner對平臺工程的定義是“平臺匯集的工具、能力和流程均由領(lǐng)域?qū)<揖奶暨x,并經(jīng)過封裝,以方便終端用戶使用。其最終目標(biāo)是打造無摩擦的自助服務(wù)體驗,為用戶提供合適的能力,幫助他們以最低的成本完成重要工作,從而提高終端用戶的生產(chǎn)力并減輕他們的認(rèn)知負(fù)擔(dān)。平臺應(yīng)能夠滿足用戶團(tuán)隊的一切需求,并以任何可能的形式,完美匹配用戶的首選工作流。”
其中我們可以看到幾個關(guān)鍵詞:“平臺匯集的工具、能力和流程”、“自助服務(wù)體驗”、“減少認(rèn)知負(fù)擔(dān)”。從這幾個關(guān)鍵詞中,我們可以理解平臺工程的核心要素和理念,即平臺通過提供一系列工具和能力,幫助開發(fā)者提升體驗并解放生產(chǎn)力。
平臺工程概念的誕生可以追溯到敏捷理念的提出,隨著云原生、Kubernetes技術(shù)的興起,DevOps工具和平臺也隨之爆發(fā)。匯付也在近幾年不斷地付諸實踐,先于2017年開始做數(shù)字化轉(zhuǎn)型,將部分業(yè)務(wù)試點上云,后于2020年業(yè)務(wù)系統(tǒng)全面上云,從而也支撐了斗拱PaaS平臺的誕生。在2023年Gartner提出平臺工程概念的同時,匯付也啟動了π計劃,致力于統(tǒng)一研發(fā)規(guī)范、流程和工具,并誕生了π平臺。
二、平臺工程的實踐
了解了平臺工程PE的概念,那應(yīng)該怎么樣去落地并讓我們的開發(fā)人員受益呢?
平臺工程既然是基于SRE和DevOps發(fā)展來的,那么平臺工程的產(chǎn)品必然是SRE和DevOps產(chǎn)品的升級。業(yè)界做的相對成熟的DevOps產(chǎn)品有阿里云云效、華為云CodeArts和騰訊云CODING,這些產(chǎn)品的能力都非常全面,已經(jīng)不僅僅是完成代碼發(fā)布而已,而是將研發(fā)工作中的方方面面都囊括進(jìn)去了。比如需求管理、自動化測試、代碼安全,甚至是效能管理。
在打造一個平臺工程產(chǎn)品之前,我們需要了解開發(fā)者的日常工作內(nèi)容以及他們所需的工具技術(shù),從而梳理出平臺需要集成的能力。
開發(fā)者們需要的工具技術(shù)通常包括:基礎(chǔ)設(shè)施、API、安全工具、不同的環(huán)境、監(jiān)控工具、容器平臺等。這些工具技術(shù)需要我們的平臺工程師在內(nèi)部開發(fā)者平臺IDP(Internal Developer Platform)上去實現(xiàn),最終以服務(wù)的形式提供給開發(fā)者使用。
內(nèi)部開發(fā)者平臺IDP不僅包含了基礎(chǔ)設(shè)施的管理,還包括整個應(yīng)用程序CI/CD的過程,以及安全管理和監(jiān)控。平臺工程師負(fù)責(zé)維護(hù),而開發(fā)者就是平臺用戶。
匯付在2023年也基于平臺工程理念推出了π平臺,不僅涵蓋了IDP的全部內(nèi)容,更打通了研發(fā)全流程,需求、開發(fā)、測試、發(fā)布、運營全覆蓋。
平臺界面:
三、平臺工程如何提升開發(fā)者體驗
在解答“平臺工程如何提升開發(fā)者體驗”這個問題之前,我們得先了解開發(fā)者體驗出了什么問題?以及為什么開發(fā)者體驗不好會導(dǎo)致生產(chǎn)力的下降?或者為什么開發(fā)者自己也會覺得自己做事總是沒有效率?
在我們通過行業(yè)調(diào)查和內(nèi)部開發(fā)者調(diào)研的過程中發(fā)現(xiàn),開發(fā)者們其實并不喜歡做運維,甚至極其討厭,復(fù)雜的概念知識和繁瑣的操作讓他們煩不勝煩,從而也導(dǎo)致他們專職于業(yè)務(wù)研發(fā)的精力被割裂地少之又少,繼而生產(chǎn)力也會受到影響。
“時間枷鎖”:DevOps的興起讓傳統(tǒng)的開發(fā)人員擔(dān)負(fù)了運維的工作,兩個人變成一個人,看似高效,實則讓開發(fā)人員的精力分散了一部分去做運維,每天實際用在開發(fā)上的時間可能并不多。對于一個高級工程師,他通常在團(tuán)隊里或者項目里扮演的都是比較重要的角色,因為能力比較強(qiáng),那基本上運維工作基本就交給他了。那開發(fā)的工作參與就少了,高級工程師的開發(fā)效率是很高的,想想看,是不是很浪費。
“認(rèn)知恐懼”:相信有經(jīng)歷過系統(tǒng)故障的開發(fā)者應(yīng)該都感同身受了,一旦出現(xiàn)故障,當(dāng)事人都是很慌亂的,總有些你搞不清楚為什么的原因引發(fā)的,所以對于運維不是特別熟悉的開發(fā)人員來講,認(rèn)知問題真的挺讓人害怕的,而且你不能保證你一直記得住。
“權(quán)利偏差”:開發(fā)者對DevOps系統(tǒng)工具有很多訴求,但這類工具通常是拿來即用的,缺乏專業(yè)的平臺團(tuán)隊和運維人員支持。開發(fā)者有時不知道找誰解決問題,有時覺得自己說話沒有分量,大部分訴求得不到滿足。這可能就讓開發(fā)用起來很不爽,進(jìn)而浪費更多的時間去消化和溝通。
平臺工程的出現(xiàn)將解決這一困境,通過一站式的管理,將所有研發(fā)相關(guān)的工具、資源、配置管理等工作集合到一起,省去了多系統(tǒng)來回切換這種繁瑣的操作;將資源、工具、代碼、文檔等以自助式的服務(wù)方式提供出來,讓開發(fā)者可以靈活自由的選擇;通過屏蔽專業(yè)知識、流程簡化和引導(dǎo)式的交互,給開發(fā)者以流暢的體驗;將任務(wù)處理、CI/CD、運維排障等工作全部自動化,讓開發(fā)者無需嚴(yán)防緊盯浪費精力。從而,通過這些方式方法和工具技術(shù),讓開發(fā)者保持Flow State(心流狀態(tài)),可以專注于業(yè)務(wù)研發(fā)。
可以說,π平臺的誕生和應(yīng)用,實實在在給匯付開發(fā)者們帶來了極大的便利和效率上的提升。
四、總結(jié)與展望
π平臺自2023年發(fā)布后已穩(wěn)定運行2年有余,期間不斷地完善能力、優(yōu)化體驗,成為了匯付內(nèi)統(tǒng)一的研發(fā)管理平臺,同時也得到了開發(fā)者們的一致好評。匯付擁有超過300名研發(fā)人員,π平臺的日均UV為200+,日均PV為19K+,日均使用率非常高。在最近一次的開發(fā)者滿意度調(diào)研中,滿意度評分達(dá)到了8.75。超過70%的開發(fā)者用戶認(rèn)為π平臺在功能性和交互體驗方面做得很好,發(fā)布效率有很大提升,技術(shù)支持也很到位。
以下是用戶評價:
不僅如此,π平臺也作為統(tǒng)一的研發(fā)協(xié)作平臺,采集了從需求、開發(fā)、測試到發(fā)布各個工作環(huán)節(jié)的研發(fā)效能數(shù)據(jù),從客觀的數(shù)據(jù)上也體現(xiàn)出了生產(chǎn)力真正的變化。
人均完成任務(wù)量(季度):
人均完成任務(wù)量從2023年Q3的8.42個到2024年Q4的50.11個,幾乎翻了5倍。
需求交付數(shù)與需求交付周期(天):
完成的需求量自2024Q1的1118個增長到2024Q4的1830個,需求交付周期逐步下降至9.7天,基本用戶提出的需求都可以在2周內(nèi)交付。
阿里在推出其DevOps產(chǎn)品“云效”并在其內(nèi)部做效能改進(jìn)時提出了“2-1-1”的愿景:“2”指的是交付周期2周——85%以上的需求可以在2周內(nèi)交付;第一個“1”指的是開發(fā)周期1周——85%以上的需求可以在1周內(nèi)開發(fā)完成;第二個“1”指的是發(fā)布前置時間1小時——提交代碼后可以在1小時內(nèi)完成發(fā)布。
而在匯付,有了π平臺的加持,我們的效能已經(jīng)實現(xiàn)了“10-6-5”,即交付周期為10天、開發(fā)周期為6天、發(fā)布前置時間為5分鐘。
自2024年12月匯付舉辦了首屆斗拱開發(fā)者大會以后,我們感受到客戶方開發(fā)者們對匯付技術(shù)的認(rèn)可和期望,認(rèn)識到我們?yōu)殚_發(fā)者所做的服務(wù)還有很多不足,π平臺對平臺工程理念的實踐在匯付內(nèi)部取得了非常好的效果,希望不久的將來能夠把π平臺的能力開放出去,讓斗拱的開發(fā)者們能提升對接匯付支付能力的效率,更加專注于自身業(yè)務(wù),幫助客戶的開發(fā)者也能提升生產(chǎn)力。
在未來不久,π平臺還將全面擁抱AI,將AI的能力融入到整個研發(fā)協(xié)作流程中去,不限于智能需求評審、智能代碼評審、智能用例生成、知識庫問答等功能,還會集成大量的MCP Server,不斷擴(kuò)展AI能力的邊界,進(jìn)一步提升開發(fā)者體驗和開發(fā)效率,解放生產(chǎn)力!