今天要分享的主題是:對中臺的探索與思考。
中臺概念如今已經不是什麼新的名詞了,相信大家對中臺都有所耳聞,目前各大企業已經先後開始建設自己的中臺。
那中臺到底是什麼?為什麼大家要建設中臺?怎樣去建設中臺?
希望通過本次分享,能讓大家有所收穫。
本次分享主要分為三個部分:
概念篇:介紹中臺的發展歷史,中臺的分類,讓大家對中臺概念有一個瞭解。
案例篇:分享一些中臺建設的案例,讓大家對各種型別的中臺有更清晰的認識。
思考篇:聊一聊我對中臺建設的一些思考。
2008年阿里戰略調整建立天貓,因為天貓與淘寶相比有他自身的特性,所以當時淘寶和天貓各自為戰,沒有共用一套系統架構,也就是現在所說的煙囪式系統架構,這種架構造成大量重複工作與資源浪費,那怎麼解決呢?阿里共用事業部就誕生了,負責將前臺公共部分進行平臺化改造,為中颱戰略埋下了種子。
2015年,馬雲存取Supercell,這是一家開發遊戲的公司,他發現這家公司雖然開發了很多款遊戲,卻只有不到200名員工,每款遊戲也就5-7人,快速開發產品公測,如果產品不成功就快速放棄。
實現這種快速試錯機制的前提是開發速度要快,Supercell就是使用了中臺機制,開發新產品就像搭積木一樣可以快速實現。
於是,阿里CEO張勇在2015年提出啟動中臺戰略。國內中臺概念的誕生。
2018開始中臺概念全面爆發,騰訊、京東等大廠都開始建設自己的中臺。
到現在,網際網路行業進入下半場,中臺戰略也隨之進入了下半場,各企業紛紛開始建立自己的中臺。
這裡我要解釋一下,什麼是網際網路行業的下半場。
先說網際網路行業的上半場,上半場是面向C端的消費網際網路,目前已經逐漸飽和,因為用網際網路的人就這麼多,使用者增長紅利已經不見了,企業為了更好的發展,就開始進入下半場,由面向C端的消費網際網路轉為面向B端的產業網際網路。
面向B端客戶就會面臨個性化需求嚴重的情況,所以大家都想建立中臺複用中臺能力,來更好的支援B端客戶的快速迭代。
那現在我們來看一下中臺是什麼。
說中臺之前,我們先來看一下沒有中臺的組織架構是什麼樣的。
沒有中臺的時候,一般分為前臺和後臺。
前臺:直接向用戶交付的產品、開發產品的人
後臺:可以理解成提供基礎技術的支撐,比如erp、cms、基礎技術平臺(中介軟體、巨量資料)
那引入中臺後的組織架構是什麼樣的呢?
前臺:從中臺獲取可複用能力快速形成面向使用者的產品
中臺:企業級能力複用平臺
後臺:為中颱提供建設中臺的原料,比如:基礎中介軟體、devops等等
這裡其實我們已經給中臺下了定義,那就是:企業級能力複用平臺
企業級:說明了中臺的使用範圍是面向整個企業的
能力:抽象解釋了中臺是各種能力的集合體
複用:說明了中臺的內容一定是公共的,能複用的。
平臺:平臺是建設中臺的基座,建設中臺之前一般都是先建設平臺
說到這,正好可以引出一個話題,中臺與平臺有什麼區別。
我們來看一下平臺的概念。
平臺,是開放出去的一些通用功能,你可以直接來用這個平臺提供的一些功能,他主要是站在自己的角度來構建和開放一些通用化的能力,而不是有目的為了抽取前端通用和公共的可複用能力來設計的
可以看出平臺重技術,輕業務。平臺對比與中臺更偏向底層。
關於中臺的型別,主流的分類就是業務和資料雙中臺架構了。
業務中臺顧名思義,指的是把企業內能夠複用的業務能力抽取出來,整合到中臺建設中
資料中臺,主要就是採集資料,讓各個業務間共用資料。
資料中臺和業務中臺主要是為前臺賦能的。
那什麼是技術中臺呢?
技術中臺可以認為是更加底層的技術基座,與業務關聯可能不大,技術中臺有點類似於平臺的概念。
技術中臺是建設中臺的第一步,前臺業務團隊接入技術中臺,阻力比較小.
京東移動技術中臺主要建設了三個部分:標準化、工具化、元件化。
提供了下圖中整體DevOps體系能力:
標準化:指的是整體開發、測試、釋出這些工作流程的標準化
工具化:指的是為了實現標準化流程,自研適合自己企業的工具
元件化:指的是通用能力形成公共元件,供企業內所有前端產品共用
京東移動中臺的元件化程度如下圖:
可以看到,京東是元件貢獻大戶,其他業務借用公共元件就可以很快生成新的產品給使用者使用,就拿極速版來講,它的元件借用率高達71,貢獻率只為3,也就說明它基本上就是通過元件堆積出來的,基本不需要自己開發什麼。
下圖展示了一個常見的電商業務中臺架構圖。
前臺可以類比與淘寶、天貓、閒魚等各種電商的業務線,直接面向用戶。
中臺為前臺提供一套商品、訂單、庫存等通用的電商業務流程。
後臺為中颱提供基礎的支撐,比如使用者、倉儲、物流等等。
這裡我單獨對訂單中臺做一個展開,建設電商中臺一般要開發獨立的流程編排引擎,對不同的業務流程進行編排滿足於不同的業務,比如實體商品的買賣和虛擬商品的買賣肯定流程是不一樣的。再細節就不展開說明了。
總結起來,業務中臺建設目標呢就是通用業務的集中化和可編排化。
在資料中臺中,首先要實現資料資產化,三大體系保證了資料資產化順利進行:
(1)One Model:簡單的理解就是資料模型的統一,我們不用重新建模,只要呼叫資料中臺中已有的模型即可,一個模型可以被多個業務部門共用。
(2)One ID:打通了使用者賬號,可以在多終端識別同一使用者。
(3)One Service:統一的資料服務中介軟體,實現對外的資料服務。
提到資料中臺我們第一個想到的就是巨量資料部門,下圖是某公司巨量資料部門的發展戰略:
圖中還少了一個資料湖的階段,資料湖與巨量資料倉庫主要的區別就是儲存資料的方式不同,資料倉儲儲存的都是經過結構化轉換後的資料,資料湖則不同,儲存大量結構化與非結構化的原始資料,包含音視訊二進位制等等。能更好的為人工智慧,機器學習提供資料支援。
中臺的優點我們通過之前的內容已經大體上清楚了,但不合理的建設中臺其實也有著它的缺點:
那所有企業都適合建設中臺嗎?不是這樣的,如果企業的業務線沒有能夠通用的內容,那通用的業務抽離不出來,就無法建立業務中臺,如果強行建立的話反而會適得其反。
另外企業發展的初期,也不適合建立中臺,這個時候快速實現功能搶佔市場才是當前企業的使命。建設中臺並不能幫助企業快速搶佔市場,架構設計原則之一就是演進式架構,合適的時間要採用合適的策略。
那什麼樣的企業適合建設中臺呢,最合適建設中臺的企業最好有多條業務線,它們的體量相似,QPS 都不高,業務線間相似度高,多條業務線的變更頻次基本穩定。
建設前必須想清楚的四個問題
1)中臺建設的願景是什麼?
「遇事不決看願景」,建設中臺之前一定要確定唯一的正確的目標,這也是架構設計的準則之一。
2)中臺的使用者和客戶是誰?
使用者和客戶是一個群體麼,除了使用者和客戶還有哪些干係方。對於中臺來講,他的干係方還不止是使用者和客戶這兩方,因為其所處的特殊位置,干係方往往紛繁複雜。在保持自己方向的前提下,找到各方利益的結合點,是一件非常困難且有必要的事情。否則,在建設過程中就會受到各方的阻力,產生摩擦,導致中臺很難推進落地。
但反過來講,中臺也不應該只是極力去滿足各方的訴求,中臺團隊畢竟不是業務的外包團隊。中臺需要有自己的思想和規劃,要能做到聽得進別人的話,但是還要明確自己的目標,走自己的路。而自己的目標,就是來源於上面提到的中臺建設願景,而中臺的願景也往往來源於企業的戰略需要。
3)中臺的錢由誰出?
市面上的中臺建設,如果從投資結構來講,基本上可以分為兩種型別,即「眾籌模式」和「投融資模式」
眾籌模式就是使用者預付款,就是從業務前臺集資,有錢的捧個錢場沒錢的碰個人場,能出預算的出預算,能出人的出人,來組建中臺團隊,然後再反過來服務於前臺業務團隊。
投融資模式,顧名思義,就是一個產品的建設前期先由投資方出資,按照產品的建設目標經過一段時間的建設期,相對成熟之後,再逐漸地讓使用者使用,最終通過對於使用者的服務,讓使用者滿意,實現收入並收回企業投資且盈利的模式。目前大部分的創業公司都是採用類似的模式。
4)中臺的目標怎麼驗證?
建設中臺一定要有量化結果,讓領導能看得出建設中臺的效果。
中臺建設的範例路徑:
首先中臺我們已經知道是什麼了,那麼建立中臺的後端技術架構一般就是使用的微服務架構,DDD領域驅動設計方法可以幫助我們定義領域模型,限界上下文,聚合等,在中臺建設中可以指導我們更好的為業務劃分邊界,也能指導我們更合理的拆分微服務。關於DDD的一些概念說起來又是很長的話題了,本文就不詳細說明了。
單體前端的困境
傳統企業在完成中臺轉型後,雖然後臺的業務完成了微服務架構的升級,但前端仍然是單體模式,隨著時間推移和業務發展,前端會變得越來越臃腫,越來越難維護。很多企業都想把所有的業務能力都儘量集中到一個 APP 中。試想如果仍然沿用單體前端的設計模式。前端專案團隊將面對多箇中臺微服務團隊,這就需要相當高的溝通成本和技術要求。
從單體前端到微前端
為了解決單體前端的問題,我們可以借鑑微服務的設計思想,引入微前端概念。讓每個微前端可以單獨部署維護,常見的微前端型別如下:
整合方式
本文從中臺的歷史開始說起,逐步引出中臺的概念,再通過三個案例向大家介紹了技術中臺、業務中臺、資料中臺的展現形式,最後分享了一些在中臺建設中常見的問題。
好了,對中臺的探索我們就介紹到這裡。最後為大家留下一個思考題吧。
你的企業目前處於什麼階段?是否適合建設自己的中臺?歡迎留言討論!