作爲中颱倡導者,百度如何利用“搜索中臺”實現月級別孵化新產品

如何提高軟件開發的複用度是全世界的 IT 企業都面臨的問題,但“中臺”這個詞目前卻找不到任何對應的英文詞彙,某種程度上來說,它具有一定的中國特色。最近半年,關於中臺的討論熱度甚至達到了前所未有的程度。

往前追溯,中臺思想是在 15 年馬雲帶領阿里技術團隊參觀完遊戲公司 Supercell 後提出。Supercell 的做法是將遊戲開發過程中公共和通用的遊戲素材和算法整合起來,爲小團隊提供工作的工具和框架,從而支持好幾個小團隊能夠在短時間內開發出一款新的遊戲,並鼓勵員工充分試錯。半年後,阿里宣佈了組織架構的全面升級,全面啓動中臺戰略,“中臺”這個詞因此大火。

國內讓“中臺”討論熱度達到沸點的是百度、騰訊等企業,他們針對實現“中臺”做出的調整企業架構整合技術體系的舉動:面向 ToB,建設“中臺”。百度高級副總裁王海峯曾表示,百度於 2018 年 12 月份進行的組織架構調整中,將打造技術中臺作爲戰略方向之一。

追看歷史,大公司的管理層提出“中臺”策略之目的是爲了快速支撐和響應業務,而具體怎麼去實現“中臺”,更是沒有統一的方法,需要結合公司自身的情況。

那這些“中臺倡導者”是如何實現他們的中臺的呢?百度搜索在阿拉丁的基礎上構建了多個垂直領域的搜索產品,也擴展了更多的流量入口,包括小程序、獨立站等,產品形態日趨複雜。爲了滿足多場景、多產品的高頻創新需求,以低成本落地通用能力爲目標,進行了平臺升級,完成了垂直搜索產品技術中臺的打造。

百度垂直行業 & 阿拉丁架構技術負責人張安站 在接受InfoQ採訪時表示,利用百度的搜索中臺孵化新的垂直搜索產品,從學習中臺系統、開發、部署,到完成線上效果驗證的全流程,所用的時間可以縮短到一個月內。

以下是張安站介紹其所在團隊是如何通過技術實現各個業務的創新疊加,促進各個創新業務的快速可持續發展的解讀。

1. 如何看待中臺與平臺的關係

平臺是提供特定的服務,平臺一般有確定的接口和功能集合,業務可以按照規範使用平臺;平臺提供的是通用的、確定的服務,而不關注業務是如何使用的。在企業內部,平臺是跨部門、跨體系共享技術的重要方式,降低了企業的技術研發成本,因此很多互聯網企業採用了平臺化戰略。

中臺在某個領域內提供了可定製的通用解決方案,通過可定製能力來滿足細分領域的需求。一般來說,具備多場景的複雜領域都可以產生自己領域的中臺,比如搜索、電商、推薦等,比如搜索中臺可以爲各個垂直搜索領域提供服務,業務可以基於搜索的通用能力和定製能力發展自己領域的搜索業務。

在架構分層上, 業務是構建在平臺之上的; 而業務和中臺則是共生關係,他們屬於同一層,業務需要在中臺定製自己業務的特殊邏輯,整個通路本質上都屬於這個業務。

舉例說明一下, 平臺好比一個烤箱 + 一批調製好的食物(比如麪包,蛋糕,這是平臺對外的服務能力), 使用方只需要按照約定的接口或者平臺操作,就可以獲得到烤制好的食物。 中臺好比一個烤箱 +一批基本調製好的食物,但是允許業務方進行定製(比如烤箱的火力大小, 食物中添加更多食材),甚至可以發明一些黑暗料理。中臺以可定製的形式,給業務提供了靈活性, 而中臺自身能力的集合,則節省了業務的創新成本。

2. 中臺是否需要微服務化

技術中臺支持的業務非常多,變更頻率也非常高,這樣就導致瞭如果不採用微服務化,那麼各個業務不但開發階段就要刻意的避免影響其他業務,要做非常全的迴歸測試,上線的時候也要排隊,這個是更要命的。 很多業務關鍵模塊每天都有1次以上的變更,那這樣上線的協調、上線過程中的check都是一個複雜的工程了。此外還有容量管理,因爲不同業務的流量來源不同、資源開銷不同,導致容量管理會非常複雜,異常時候跨機房流量調度,稍有不慎可能會影響其他業務。其他潛在問題還有很多。

所以,微服務化是做好中臺的必然選擇。可以說,微服務化是我們中臺技術體系的基礎,我們的容量管理、資源審計、全流程的無人值守設計,都依賴各個核心模塊的微服務化。此外,基於這些微服務,我們也低成本實現了這些業務的SET化部署,可以做到靈活的流量調度和容災建設。

image

我們在離線對業務開放的定製模塊,還實現了serverless,serverless對業務帶來的是開發成本的極大節省。 目前離線的業務開發者,只需要寫內容加工處理的函數即可;其他的複雜工作,都交由中臺來完成。

3. 百度垂直搜索爲什麼要做中臺,在做中臺之前如果要支持新業務是什麼樣子的?

我們的中臺,實際是從平臺建設的基礎上發展起來的。之前我們的產品形態相對確定,因此可以提供完善的平臺化能力,來滿足這些相對確定的需求;如果有新的需求,那麼就直接在系統核心模塊增加功能、擴展能力即可。

現在,我們不但深耕了更多的搜索結果,滿足用戶更完善的獲取信息甚至服務的需求,也擴展了更多的流量入口,包括小程序、獨立站等,隨着產品思路的調整,產品形態日趨複雜,之前的平臺化的思路就行不通了。原有系統核心模塊無法滿足業務多樣性的擴展需求, 一些擴展成本非常高、上線和維護的風險特別大,使得之前的系統優勢轉換爲了制約當前業務發展的缺陷。而轉爲中颱戰略,使得我們同時高效高質量的支持更多業務,成爲可能。

4. 中臺建設的思路是什麼,對個人和團隊的能力要求是否有變化?

我們中臺的技術思路是:提供完備的通用能力、定製能力,持續完善領域技術沉澱能力。業務視角, 中臺提供了靈活的可定製業務框架, 使得業務可以聚焦業務特有邏輯的開發;中臺還提供了可以複用的業務組件, 使得業務可以通過配置化來複用優秀的中臺能力; 中臺還提供了完備的文檔建設、視頻教程, 支持業務快速上手、快速迭代, 同時還提供了面向全流程開發效能提升的完整自動化工具鏈。 我們系統架構圖如下:

image

業務方最直接看到的是展現策略統一框架、在線排序統一框架、內容加工統一框架,以及可以通過框架配置化使用的豐富的業務組件;這些業務組件沉澱了大量的領域知識和經驗,可以極大加速業務的創新和迭代。

在架構升級的背後,包含了個人和團隊的能力矩陣的升級。 我們團隊之前從事的偏基礎架構的工作,關注的是架構的可用性、性能、成本等核心指標。團隊轉型到業務驅動後,使得團隊除了繼續承擔架構的核心職責外,還要持續爲業務交付可持續增長的技術方案,這對團隊提出了更要的要求。

image

5. 中臺是如何推動的,以及中臺和前臺是怎麼協作的

我們充分考慮的業務落地/升級的成本。通用機制,我們儘量考慮的是無縫升級、透明升級。 
當然,一些大的改進,部分功能是不可能做到完全的向前兼容的(或者說不像拖着沉重的歷史包袱前行), 所以不可避免的會出現需要業務改動代碼上線的情況, 在這種情況下,我們團隊的業務專家就會發揮作用了,不單單是在設計之初就會考慮到落地成本、進行針對性的設計, 落地時也會參與到業務的具體升級方案的設計和人力預估對於一些關鍵升級,我們的組件有時候會提供更高抽象的lite版本,lite版本損失了靈活性但是卻提供了更強大的集成能力,從而使得業務可以更低成本升級。

簡單來說,我們以低成本落地通用能力爲目標,統合綜效,與業務高度協同,實現升級的完整性。因爲升級本身會帶來業務的收益,在保證效率的前提下,前臺還是非常配合的,中臺技術落地普遍得到了業務的支持。

此外, 我們在完備了中臺能力的基礎上,正在推進全系統的內部開源,希望構建高效協同的開放生態,吸引更多的開發者,追求創造性協作,共建中臺技術體系。

6. 是否有實際案例說明中臺能提高前臺研發效率?

首先給出我們已經做到的:月級別孵化新的垂直搜索產品,完成線上小流量;用不超過一個季度的精雕細琢,完成產品的全流量上線 。這個時間包含了業務從學習我們系統,進行開發,然後部署整套系統到生產環境,並完成線上效果驗證的全流程;對於熟悉我們系統的同學,這個週期會更短。

我們怎麼做到的?

除了我們建設的完備的技術能力(定製能力、通用能力、創新能力),還有在我們深刻理解業務的基礎上,在這些技術能力之上的再次抽象: 我們提供了3層的能力輸出。

L1: 接口形式獲取垂直搜索的結構化數據,以方便業務在此基礎的二次加工、新場景的快速試驗
L2: 配置化能力,實現業務0 code即可上線。我們提供了完整的搜索通路能力。這對於業務的迭代效率非常關鍵;此外PM可以通過這個通路驗證想法,從而輔助產品決策。
L3: 從離線到在線的可定製能力,以及完備的架構組件和策略插件。

image

這樣不同業務的發展階段,不同的角色都可以獲得所需, 這是我們能夠獲得高效的一個根本的技術保障。
我們爲了追求效率的卓越,還專門成立了研發效率團隊,聚焦全流程、全週期的效率提升, 包括我們建設了在線的debug系統、離線的trace系統,都是幫助業務能夠自助和高效的追case、查問題;我們還建設了統一集成開發環境,實現開發環境和仿真環境的自動打通,實現低成本的產品效果驗證, 這種例子還有很多。 最終我們爲業務提供了卓越的研發效率。

我們提供的不僅僅是簡單的生產工具和開發方式的升級,而是逐漸完善的技術體系,我們爲業務帶來的是生產力的升級,爲業務帶來了質變的研發效能提升。

7. 中臺未來有何演進計劃?

未來依然圍繞技術中臺的核心目標,進行不斷的技術創新,來滿足業務需求,促進業務可持續增長。一個是作爲技術中臺本身,需要密切關注業界技術發展的趨勢,實現技術先行,通過技術發展來實現業務增長。一個從各個業務沉澱行業經驗,來實現技術驅動的產品創新,來引領技術的發展。

image

總之,我們會通過持續的技術演進來不斷完善中臺能力集,以應對未來場景的千變萬化,促進業務的可疊加創新,實現技術驅動增長。

受訪嘉賓:張安站,百度垂直行業 & 阿拉丁架構技術負責人。2014 年加入百度後一直在大搜索從事架構和平臺化相關的研發工作。目前主要負責大搜索垂直行業和阿拉丁的整體架構和研發中臺,爲衆多業務提供了可定製和可複用的垂直搜索產品研發的中臺技術體系,可在月級別孵化多場景的垂直搜索創新產品,善用技術思維解決效能問題,通過技術實現各個業務的創新疊加,促進各個創新業務的快速可持續發展。

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