編譯速度提升700%,字節跳動中臺技術揭祕

在當今世界互聯網時代下,平臺化正興起,從基礎設施到人工智能等各個領域不斷涌現的各類平臺,對於軟件開發人員及企業帶來了深遠的影響。在國內提“數字化平臺戰略”大家可能會覺得比較抽象,比較遠大空;我們更喜歡用”中臺戰略“這個詞來描述,這樣顯得更接地氣一些。

從BAT到美團、京東、華爲都在調整組織架構,建立自己的中臺部門,一時間”中臺戰略“彷彿成了那把角逐互聯網下半場的取勝之匙。聊了這麼多,到底什麼是”中臺“呢?這裏引用網絡上的一段解釋:在一部分人眼裏:中臺就是技術平臺,像微服務開發框架、DevOps平臺、PaaS平臺,容器雲之類的,人們都叫它“技術中臺”;在一部份人眼裏:中臺就是微服務業務平臺,像最常見的什麼用戶中心、訂單中心,各種微服務集散地,人們都叫它“業務中臺”;在一些人眼裏:中臺應該是組織的事情,在釋放潛能:平臺型組織的進化路線圖 (豆瓣)中就提出了平臺型組織和組織中臺的概念,這類組織中臺在企業中主要起到投資評估與投後管理的作用,類似於企業內部資源調度中心和內部創新孵化組織,人們叫它“組織中臺”

上面這段解釋其實基本是符合業界對於”中臺“在企業中的定位的,阿里玄難之前說過:中臺是一個基礎的理念和架構,我們要把所有的基礎服務用中臺的思路建設,進行聯通,共同支持端上的業務。

說到中臺,大家可能首先會想到阿里的”大中臺、小前臺“戰略,這的確是阿里人不懈努力的技術結晶。華爲也早在幾年前就提出了”大平臺炮火支撐精兵作戰“的戰略,其實跟阿里的方式有異曲同工之妙。但這裏不得不提一個公司,字節跳動。嘉御基金創始合夥人、前阿里巴巴B2B總裁衛哲在混沌大學講課是曾經說過,今日頭條的崛起很大程度在於今日頭條是大互聯網公司中第一個率先實現強中臺的公司。有了強大的技術中臺支持,字節跳動在前臺放四五個員工,就能做出抖音這樣的產品來,快速試錯,不斷迭代,大大提高了效率。

GMTC全球大前端技術大會上,我們邀請到了來自字節跳動的無線研發平臺負責人吳思振老師,帶來《如何使超大型⼯程矩陣高速運轉及⾃下而上的技術演進揭祕》的精彩演講,他將揭祕字節跳動超大型產品矩陣背後,無線研發中臺是如何運作的。下面是我們對吳老師做的簡單採訪:

Q1: 吳老師你好,請先簡單的介紹一下你自己和你目前所負責的業務?

吳思振:大家好,我是吳思振,畢業於北京郵電大學,2012年開始進行iOS開發,目前就職於字節跳動iOS基礎技術組,負責爲公司內所有業務線提供通用組件化技術、編譯優化方案、CI/CD等相關技術輸出。

Q2: 我們知道目前字節跳動旗下有一個規模巨大的APP矩陣,其中涉及了很多技術層面上的交流與迭代,是一個什麼樣的契機讓字節跳動開始決定搭建無線研發中臺的呢?

吳思振:隨着公司發展,開始在各個領域開發APP進行嘗試,在2017年年末,字節跳動iOS基礎技術組將開發環節中的各個階段進⾏抽象,開始建立起一個具有標準化開發、接入維護流程和輔助工具,實現一鍵集成、持續反饋和迭代的中臺服務。提供了從線下開發到CI測試再到線上管理的閉環、一站式研發平臺。同時針對各個抽象研發階段都產出了獨立的技術成果,其中針對業內常⻅的超⼤型工程編譯效率產出了核心的專利技術。

Q3: 可以簡單的介紹一下這個無線研發中臺主要有哪幾個部分組成,其中有哪些技術亮點?

吳思振:目前研發中臺從業務緯度劃分包括組件平臺、CI/CD、應用管理平臺,目前還在規劃整合預審平臺、發佈平臺。其中組件平臺我們提供了通用的組件管理方案整合公司內所有的組件、CI/CD平臺使用了我們自研的分佈式雲編譯專利方案,以頭條爲例可以提升接近700%的編譯速度。

Q4:無線研發平臺的出現可以爲業務線解決哪些問題呢?在效率上帶來了什麼收益?

吳思振:無線研發平臺是一個具有標準化開發、接入維護流程和輔助工具,實現一鍵集成、持續反饋和迭代的中臺服務,針對業務開發過程中遇到的構建速度慢、代碼准入複雜、測試迴歸效率低等問題提供了一站式的解決方案。其中從業務開發角度,我們提供了增量構建、二進制調試、容器化、自動解耦等功能,解決之前構建速度慢,調試周期長等問題;從CI/CD角度,我們使用自研的編譯方案,測試出包效率在業務無感知和改動情況下,提升了數倍。

Q5:字節跳動超⼤型產品矩陣的背後是如何協作的?以及如何自下⽽上的進行技術推進的?

吳思振:隨着業務的發展以及開發人員增加、每個大型產品都有對應數量的開發同學作爲支撐,而在長期的協作中,我們發現各大開發團隊都會遇到比較有共性的難點,比如構建速度慢、開發測試周期長、協作困難等問題,而在快速的業務迭代中,各大團隊的開發同學往往只會將所在團隊的問題進行簡單的優化,因此會存在各大團隊重複遭輪子,跨業務合作困難等問題,針對這種情況,我們將這些大型產品開發中遇到的問題進行抽象、形成一個統一的解決方案,通過在跨業務團隊以及特定大型業務線中試點,逐步推廣到其他業務線。

Q6:我看到您的演講提綱中提到,中臺技術爲APP高速開發提供了安全保障,其中的核心技術–分佈式編譯在這些APP中是如何實踐的?

吳思振:再說這個實踐之前,先談之前碰到一個真實的痛點,在大型業務中爲了保證正常地發版,往往都是QA同學作爲最後的驗證。之前QA同事每到一次驗收日經常要等到半夜才下班,究其原因主要是構建測試包速度太慢,在大型業務中構建一次測試包可能要花費幾十分鐘甚至小時級的,因此針對這一痛點,我們自研了編譯方案,在業務無任何改動情況下,將單次打包實踐縮短到3-5分鐘。

Q7:對於大中型互聯網公司,如何合理的使用中臺技術或者如何提高工程效率,您有什麼建議嗎?

吳思振:中臺的出現是爲了在解決技術架構與業務架構慢與貴的矛盾,進行業務‘配速’而生,合理的中臺技術必然是以解決當前的業務與技術矛盾爲出發點的,因此在中臺的實踐中,不必一味的去效仿,需要根據當前的業務痛點以及技術架構進行實踐,設計一套最符合自身需求的中臺服務。

在以上的採訪中,吳老師簡單的介紹了一下字節跳動的無線研發中臺技術,相信大家也沒有聽過癮,詳細的技術細節和實現方式歡迎大家來大會現場與吳老師面對面交流。目前大會購票倒計時9天,想要買票的小夥伴抓緊啦,可以直接聯繫我們的票務小姐姐:18514549229

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章