上“中臺”,是送分,還是送命?
自從阿里巴巴現(xiàn)任 CEO 逍遙子在 2015 年提出“大中臺,小前臺”戰(zhàn)略以來,關(guān)于“什么是中臺”,可謂是一石激起千層浪,大量文章在描述什么是中臺。
原文《大中臺的黃粱一夢和復用性設計的繁榮盛世》,圖片來自 Pexels
而不懂的人看完后依舊是云里霧里,我們經(jīng)常聽到一些詞:“業(yè)務中臺”,“技術(shù)中臺”,“系統(tǒng)中臺”等,我相信很多同學都會懵逼。
本文為作者眼中對中臺的理解,中臺可廣義可狹義,理解到其本質(zhì)含義更為重要。
不同于其他由非技術(shù)人員編寫的中臺釋義,本文會嚴格考慮系統(tǒng)實現(xiàn)的可操作性,時刻帶著這種落地感來詮釋中臺。
也希望通過此文指引更多的企業(yè)走向正確的中臺之路,而不要被那些花里胡哨的概念誤導,最后落到舍本逐末、爛尾收場的尷尬境地。
中臺的本質(zhì)理解
大中臺小前臺戰(zhàn)略的由來
最廣為流傳的故事應當是 2015 年年中馬云參觀 SuperCell 后感慨這家公司單個員工的創(chuàng)造價值為何如此之大——這家創(chuàng)造了年稅前利潤 15 億美元的公司,卻只有不到 200 名員工[1]。
SuperCell 這家公司可能大家可能沒聽說過,但它出品的游戲比如《部落沖突》、《卡通農(nóng)場》、《海島奇兵》、《皇室戰(zhàn)爭》和《荒野亂斗》等相信大家多少有所耳聞。
這家公司的組織結(jié)構(gòu)也是另類的,傳統(tǒng)公司中越是上層,權(quán)利也越大,需求、產(chǎn)品定義都是由上至下的,如下圖所示:
而在 SuperCell,CEO 權(quán)力很小,CEO 自稱是“世界上權(quán)利最小的 CEO“,其實這正是一種睿智,自己反而輕松了,類似老子提出的“無為之治”,老祖宗的很多道理真的是放之天下皆可。
先看下 SuperCell 的組織結(jié)構(gòu):
他們的工作模式是這樣的:誰都可以發(fā)起新的游戲創(chuàng)意,然后給組織幾個人去實施,做出來看看,行不行,火了就進一步推廣,風靡一把;火不起來,玩家不活躍,那這個創(chuàng)意立即終止,再來一個新的繼續(xù)搞。
這個想法其實他們不是第一個,很多公司都內(nèi)部競爭,都有多產(chǎn)品實施。它們的牛逼之處還是在于上線一個游戲竟然只要若干人的小組就可以完成,筆者了解到的大公司中很多互相競爭的項目團隊各自都是百人規(guī)模,還頻繁在招人。
SuperCell 的快速業(yè)務試錯模式固然是值得學習的,但支撐這些快速變化的卻是背后的那套游戲構(gòu)建系統(tǒng)。
相信很多人,尤其是男生,都會偶爾有個想法:“要是能開發(fā)出這樣那樣玩法的游戲就好了”。
現(xiàn)在若是有一個平臺,你只需要配置各種事件對應的反饋、游戲的一些設定、建筑的風格等,再配備幾個美工,對游戲中的物體進行按需美化,這些操作之后,平臺就會給你生成一款全新的符合你設計的游戲,這是多么高效、輕松、低成本的一件事。
相信只要熟悉這套系統(tǒng),誰都可以在極短的時間內(nèi),完成一個新游戲的創(chuàng)建。
事實證明,SuperCell 的這套新游戲研發(fā)系統(tǒng)已經(jīng)爐火純青了,《皇室戰(zhàn)爭》和《海島奇兵》這兩個游戲,如果您都玩過,你會發(fā)現(xiàn)它們的游戲畫風極為相似,本人曾一度以為它們是一款游戲,只是做了 App 升級。
就是這么一個邏輯,對前去參觀的馬老師一行人來說,猶如醍醐灌頂,豁然開朗。
做管理做企業(yè)的領導們在看到“新”的高效的模式的時候,總是會想著我們公司是不是也可以這么搞?
網(wǎng)上流言中臺是馬老師提出的無從考證,本人所知的情況是逍遙子內(nèi)發(fā)的郵件最先提到了這個概念。
根據(jù)廣泛的理解,前臺一般對應著一個具體的商業(yè)模式以及配套的用戶應用(App、小程序等),對應阿里的中臺架構(gòu)圖(后面會提到),前臺就是一個個 BU 業(yè)務線。注意,這張圖里壓根就沒有后臺。
還有一種推理帝們的說法是,后臺對應了面向內(nèi)部人員的運營配置、前臺對應了面向用戶的客戶端,所以中臺就是銜接它兩的。
筆者想提醒下,這是壓根不是技術(shù)人員提出來的,當年張建鋒接到馬老師的中臺作業(yè),也納悶了半天,百思不得其解。
高層管理們不會這么理性的技術(shù)化的看待前中后臺的關(guān)系,個人猜測他們的邏輯是,用戶看得到的這些叫前臺,這之后看不見的所有的支撐平臺叫后臺。
由于考慮到需要直接支撐前臺,所以搞了一個前無古人,后無來者的叫法:中臺,連專業(yè)代碼二十年的阿里各大技術(shù)元老們都漲了見識。
筆者看來,在管理層眼中的中臺和后臺(這里的后臺跟技術(shù)理解的后臺管理系統(tǒng)也不是同一件事)并無差異,只是強調(diào)這跟之前看不見的后臺是有差異的,他們希望中臺這部分能打造成為一個公共后臺,而不是豎煙囪式的后臺。
說了這么多,總結(jié)下本文通用的中臺定義:前臺的支撐系統(tǒng),基礎設施層之上的通用業(yè)務層,具體由通用的業(yè)務領域能力和與其對應的后臺系統(tǒng)共同組成。
畫成圖的話大概是這樣:
其中前臺特有領域和中臺領域之間的比例是按前臺業(yè)務差異性不同而變化的,有些場景下,中臺領域可以做的非常厚,厚到前臺就剩一個前端應用(App、小程序、PC 站等);有些場景下,中臺可能只能做有限的抽象。
筆者的另外一個觀點是:中臺是一個相對的概念,除了整個集團能談中臺,在各個前臺領域中,前臺研發(fā)團隊仍然可以做自己的“小中臺”,用于服務自身商業(yè)模式下的多變的一類業(yè)務產(chǎn)品。這種關(guān)系是多級的。本質(zhì)都是在做復用設計。
“新”打了引號,是想表明,這種軟件通用性的設計其實很早就有了。
超級細胞公司的“中臺”本質(zhì)
個人非常欣賞埃隆·馬斯克經(jīng)常提及的“第一性原理[2]”,從本質(zhì)來思考,SuperCell 公司并不是一開始就有一個“大中臺、小前臺”的戰(zhàn)略在指引自己,而是任何一家游戲公司,要想做得好,不完全是追求短期利益,都會走向這條路。
事實上,超級細胞自身從來沒有公開提出什么“中臺”的概念。只從游戲工廠這種產(chǎn)品模式來說,SuperCell 也不是第一家這樣做的公司。
所有玩過暴雪的 WarCraft(魔獸爭霸)的同學都知道,它不僅僅是一款即時戰(zhàn)略游戲,它還是一個游戲制造器,通過創(chuàng)建一個新的地圖,配置劇情,任何人都可以很快的上手并創(chuàng)建一個自己的玩法。
游久網(wǎng)就是這么一個專門提供不同魔獸爭霸地圖的網(wǎng)站。雖然看不到超級細胞的游戲創(chuàng)造后臺系統(tǒng),我們可以看看魔獸爭霸的游戲編輯器是啥樣的:
通過任務系統(tǒng)和事件系統(tǒng),我們還可以定制出各種劇情。為了展示下魔獸地圖編輯器(WE)有多變態(tài),以下幾幅游戲截圖,都是來自于自定義的地圖。
單說游戲工廠這種產(chǎn)品或游戲創(chuàng)作模式,暴雪的游戲團隊絕對是全球頂尖的。在超級細胞的官網(wǎng)介紹中也曾提到,他們的很多員工都是魔獸世界的鐵粉。
然而人們關(guān)注的往往是成功的對象,暴雪最近幾年在手游領域除了爐石傳說這種卡牌類的,幾乎沒出啥游戲。PC 游戲做的再好,知名度也很難與全民參與度更高的手游相比。
與這些先驅(qū)游戲公司類似的,超級細胞的“中臺”系統(tǒng)本質(zhì)也是一個游戲工廠,是游戲行業(yè)里的一種高復用性、高度可自定義、高度開放式設計的軟件系統(tǒng)。
當然了,這個工廠生產(chǎn)的東西可能只是一套虛擬的游戲邏輯,具體的用戶端 App 還是需要依靠研發(fā)團隊進一步加工和研發(fā)的。
個人猜想,馬老師一行人回去之后,對標超級細胞一想,這么大一個公司,每天有那么多想法和創(chuàng)意,每個創(chuàng)意、產(chǎn)品都搞一個五臟俱全的團隊去實施那得浪費多少人力成本?
要是有一個強大的系統(tǒng),可以讓各種想法和創(chuàng)意快速試錯,推向市場、反饋、迭代,行就推廣,不行就終止,那該多高效。
所以才有了后來的“大中臺、小前臺”戰(zhàn)略,為的是給業(yè)務打造快速試錯的平臺,他們理解的中臺實質(zhì)就是一個業(yè)務產(chǎn)品工廠,可以通過“配置大于研發(fā)的約定”快速構(gòu)建業(yè)務前臺,這對應了超級細胞的各種游戲。
中臺本質(zhì)總結(jié)
為了更好的闡述和幫助讀者理解下文筆者的意圖,先總結(jié)下對中臺的一些理解:
- 中臺的意圖:讓業(yè)務更好的進行創(chuàng)新、試錯,同時大大降低新業(yè)務研發(fā)成本。
- 中臺的理論基礎:前臺只是一層皮(這層皮也不僅僅是前端,還可以包括后面的前臺領域系統(tǒng)),基礎設施只是一套沒血肉的骨架,位于中間的看不見的血肉才是軟件系統(tǒng)的核心,如果這些血肉每次都要重建,那么將嚴重阻礙新業(yè)務創(chuàng)新、試錯的速度。
- 中臺的方法論:和平臺方法論并無差異——抽象通用能力+開放設計,這兩者比例多大,不好說,這里也不想耍流氓那樣用個二八定律去糊弄大家,相信不同的業(yè)務場景這個比例多少會有些不同。
- 中臺的本質(zhì):四個字——系統(tǒng)復用。復用也分層次,也有復用程度之分,通過抽象出各種配置來支撐定制化這件事的本質(zhì)也是復用——復用配置系統(tǒng)。
- 中臺的實施原則:專注領域復用能力建設、配置大于研發(fā)。這個點看似很簡單,但是極具藝術(shù)性,配置如何做到化繁為簡很關(guān)鍵,如果發(fā)現(xiàn)配置復雜度比研發(fā)還大,那就瞎了。
阿里“大中臺、小前臺”戰(zhàn)略的成與敗
阿里中臺建設之路
2016 ATF 阿里技術(shù)論壇于 4 月 15 日在清華大學舉辦,主旨是闡述阿里對世界創(chuàng)新做出的貢獻。
會上阿里業(yè)務平臺事業(yè)部&淘寶基礎平臺技術(shù)部負責人玄難闡釋了淘寶經(jīng)歷 13 年的發(fā)展中,業(yè)務平臺從零到有,同時又逐步演進為業(yè)務中臺[3]。
下面是個人梳理的可能與阿里中臺戰(zhàn)略提出有關(guān)的一個時間線:
2003 年,淘寶事業(yè)部成立,推進以淘寶為中心的電商系統(tǒng)。
2008 年,從淘寶事業(yè)部中抽出了一撥人,成立了天貓(最初期也叫淘寶商城)。
天貓瞬間變火,業(yè)務話語權(quán)飆升,于是晉升成了天貓事業(yè)部,與淘寶事業(yè)部并駕齊驅(qū)。
但是由于主要的技術(shù)團隊都還是淘寶的,所以你懂的,很多公司毛病之一:屁股意識太強,所以天貓的需求優(yōu)先級總是比不過淘寶自身的。天貓業(yè)務團隊自然就不爽了。
另外,到這個時候,天貓和淘寶的大部分業(yè)務系統(tǒng)都是各自建設的,但都是由淘系研發(fā)團隊負責。
2009 年,共享業(yè)務事業(yè)部應運而生。領導層發(fā)現(xiàn)上述的問題后,決定成立一個與淘寶事業(yè)部、天貓事業(yè)部平級的事業(yè)部,用來處理他們的公共業(yè)務。
這么看起來似乎很棒,但卻帶來了另一個問題,共享業(yè)務事業(yè)部自身沒有前臺業(yè)務,自然話語權(quán)比較小,所以逐漸演變成一個兩頭受氣、吃力不討好的角色??v使研發(fā)天天加班,也填滿不了鋪天蓋地的需求。
2010 年,基于共享業(yè)務搭建的聚劃算前臺取得了喜人的成績,從此說話腰桿子都直了。
當時集團就要求 1688、淘寶、天貓要想上聚劃算,必須通過共享業(yè)務事業(yè)部。目前,阿里集團超過 25 個業(yè)務單元(如淘寶、天貓、聚劃算、去啊等)都是基于這個共享業(yè)務事業(yè)部上構(gòu)建的。
整體架構(gòu)如下圖所示:
2015 年年底,集團“大中臺,小前臺”戰(zhàn)略正式啟用,逍遙子張勇在郵件里寫道:
“構(gòu)建符合 DT 時代的更創(chuàng)新靈活的‘大中臺、小前臺’組織機制和業(yè)務機制:作為前臺的一線業(yè)務會更敏捷,更快速適應瞬息萬變的市場;中臺將集合整個集團的運營數(shù)據(jù)能力、產(chǎn)品技術(shù)能力,對各前臺業(yè)務形成強力支撐”。
嘗到了共享業(yè)務事業(yè)部的甜頭后,加上前往超級細胞獲得的靈感,集團大膽的走出了激進的一步:構(gòu)建集團中臺,納入更多的 BU。
此時的整個中臺的大致結(jié)構(gòu)如下:
其中玄難負責業(yè)務中臺事業(yè)群,致力于構(gòu)建和推行整個集團的業(yè)務中臺。
2019 年,玄難離職創(chuàng)業(yè),方向為電商中臺。坊間一個比較靠譜的說法是:2015 年阿里制訂了一個 15~18 的三年中臺戰(zhàn)略,但到 19 年還沒有任何建樹,所以中臺大將玄難不得不引咎辭職。
2019 年阿里組織架構(gòu)又進行了調(diào)整[4],如下圖所示,中臺的影子已悄然不見,取而代之的是出現(xiàn)了很多能力型 BU 和基礎基建,這標志著中臺回歸本質(zhì)化:復用。
既然是復用,自然是被復用的能力型 BU 躺在下面,面客業(yè)務性 BU 在上面各自發(fā)展。
至今,官方和小道消息都沒有具體中臺有沒有做成的消息,說沒有做成吧,淘系電商業(yè)務平臺(也可以叫中臺)確實支撐了好多 BU。
但是支撐歸支撐,要是中臺做不大,前臺做不小,可能還是達不到管理層的目標。
筆者猜測,由于管理層過度的理想化,導致技術(shù)實施時困難重重,畢竟復用性并不是想做多大就可以做多大的,支撐的業(yè)務模式越多,抽象出來的通用復用性就越底層。
這就達不到小前臺的效果,前臺還是需要一定規(guī)模的研發(fā)團隊,事實證明,目前阿里的各個 BU 仍然各自都有著大量的研發(fā)團隊。
阿里中臺戰(zhàn)略敗點分析
該部分沒有什么參考文獻,全部為個人的觀點。筆者做軟件設計和研發(fā)已有 12 年,作為一名架構(gòu)師和碼農(nóng),個人最怕的就是自己因為害怕走出舒適區(qū)而陷入“極端陷阱”。
這是一個筆者自己發(fā)現(xiàn)和定義的現(xiàn)象:很多時候,絕大多數(shù)人會認定一個死理,難以自拔。
而究其本質(zhì)是一旦大腦好不容易發(fā)現(xiàn)了某種理解可行時,不想再接受更多的反例,不愿意再去用第一性原則慢慢推導,個人認為這也是一種不想走出舒適區(qū)的表現(xiàn)。
陷入極端陷阱后引發(fā)的問題是,當時你以一個高層領導的身份急著去拍了一個方案,實際上還有很多細節(jié)沒想明白,這樣大概率的結(jié)果就是項目爛尾。
以下是按個人理解總結(jié)的阿里“全局大中臺、小前臺”戰(zhàn)略的兩個致命問題。注:本節(jié)僅代表個人思考,不能作為事實依據(jù)。
①中臺應當分門別類,因地制宜,全局中臺并不適合大集團
阿里集團業(yè)務繁雜度遠高于超級細胞,中臺范圍應當細化,不適全局中臺。
治理小區(qū)和治理國家固然有一些類似的點和方法論,但是問題規(guī)模變大后,很多小規(guī)模下的方法也會變得不再適用,這是一個廣泛被認可的觀點。
超級細胞的業(yè)務范圍很專一,就是手游,所以它可以很容易就做成游戲工廠。放到阿里這樣的大集團,業(yè)務種類繁雜,性質(zhì)大相徑庭,何必強融?
像淘寶、一淘、天貓,這些其實換湯不換藥,那么即便沒有中臺戰(zhàn)略,架構(gòu)師也知道很多業(yè)務邏輯可以復用,要說阿里架構(gòu)師沒有超級細胞的架構(gòu)師懂?怎么可能。
文獻[5]中提到的第三階段其實已經(jīng)在考慮通過搭建業(yè)務平臺來建設通用業(yè)務能力。
而管理層想通過打造一個統(tǒng)一的萬能中臺來支撐所有集團業(yè)務前臺,是未經(jīng)深度思考的表現(xiàn),從超級細胞小公司到阿里大集團,業(yè)務復雜度規(guī)模急劇增大,怎么能照搬模式呢。
正如沒有一個架構(gòu)師可以在新問題上做出百分之一百與實際匹配的架構(gòu)一樣,也不會有一個統(tǒng)一的萬能中臺能在保證開閉原則的基礎上適配所有業(yè)務。
總結(jié)來說,阿里集團業(yè)務繁雜,不能把 BU 當做前臺來構(gòu)建大中臺,每個 BU 就是一個獨立的公司,有著自己獨立的業(yè)務,根本“小”不了。
而為各個 BU 做的那些通用的東西也是具有局限性的,只能幫助上層 BU 節(jié)省部分研發(fā)成本。
過度貪求高度復用,會陷入“強求陷進”:把不該抽象的東西硬是抽象到了一起,結(jié)果就是系統(tǒng)的復雜度并沒有降低,而是從多個地方搬到了一個地方。
因此,管理層想要的“全集團大中臺、小前臺”,是一種理想主義,注定難以實現(xiàn)。
②全局中臺帶來的新問題:依賴單點和熱點
按上文的理解,中臺戰(zhàn)略的實際意義更大的是在于提醒所有 BU,要盡量的增強能力復用,為 BU 業(yè)務創(chuàng)新營造一個高效低成本的環(huán)境。
而如果我們把一家大集團的所有主要業(yè)務系統(tǒng)都放到一個事業(yè)部去管理,就會產(chǎn)生一個新的問題:單點甚至是熱點現(xiàn)象。
每個 BU 甚至業(yè)務線都各自有 KPI,如果某個 BU 發(fā)現(xiàn)中臺無法支撐自己的場景(因為總會有沒考慮的情況),那么勢必要求中臺團隊做支撐,需求一多,還得排隊,這和 BU 尋求自身的生存和發(fā)展勢必是矛盾的。
所以,復用能力涉及的業(yè)務范圍越大,單點問題就越是嚴重,單點變熱點的概率也就越大。
即便中臺事業(yè)部做的再大,哪怕為每個 BU 都搞一個小團隊去支持,由于所背的 KPI 和匯報關(guān)系并不在所支撐的 BU,實踐起來總是會存在信息斷層。
合理的復用是不會產(chǎn)生熱點的,因為正確的抽象聚焦是的領域內(nèi)的業(yè)務,設計思路會無差別的對待所有用戶,要么一個用戶都沒法用,要么所有用戶都可以用(無故障的情況下)。
就好比數(shù)據(jù)庫一樣,任何一款數(shù)據(jù)庫都不會關(guān)注數(shù)據(jù)的業(yè)務屬性,電商的數(shù)據(jù)能存,金融的數(shù)據(jù)必然也能存。
引入數(shù)據(jù)庫就是一種數(shù)據(jù)存取能力復用:數(shù)據(jù)庫屬于基礎設施,復用性是必要的。
阿里中臺戰(zhàn)略的成功之處
時至今日,中臺的理念已經(jīng)深入所有互聯(lián)網(wǎng)人的心,阿里集團各個 BU 也在打著自己的中臺算盤。
全局大中臺雖未建成,單各個事業(yè)部都開始在研發(fā)中試著使用中臺思維去思考自己的研發(fā)體系。中臺的理念一定是沒錯的,只是要因地制宜,切忌一刀切。
早期,大家只會思考基礎設施的復用性,產(chǎn)品如各種中間件等,現(xiàn)在大家開始關(guān)心另外一個問題了:這個業(yè)務能不能做成一個通用能力。
又或者,會先問問其他同學:集團是不是有這樣的業(yè)務能力可以復用過來?這就是一種良性的影響。
中臺,未必要大。前臺,未必就小。能避免低水平重復性勞動的研發(fā)體系,就是可以被稱為優(yōu)秀的研發(fā)模式。
企業(yè)如何建設適合自己的中臺
中臺建設的通用步驟
①定義需要快速變化、試錯的前臺業(yè)務(業(yè)務線、產(chǎn)品線)
如果您都無法清晰的定義自己的業(yè)務線,那么可以先內(nèi)部腦暴一下。先基于現(xiàn)有的業(yè)務線討論,再繼續(xù)討論未來可能發(fā)展的業(yè)務線。
②領域分析和模塊劃分
架構(gòu)師在充分了解了每個業(yè)務線后,梳理出每個業(yè)務線所需要的業(yè)務領域塊。
這對架構(gòu)師的要求很高,純粹的業(yè)務架構(gòu)師可能無法勝任,但是可以參與討論,因為業(yè)務架構(gòu)師可能對研發(fā)細節(jié)欠缺考慮,從而做出形而上無法落地的復用設計。
③識別業(yè)務線共性并歸類
架構(gòu)師進行前臺業(yè)務線歸類。通過上文的討論我們知道中臺的本質(zhì)是復用性設計,那么業(yè)務線分類就是把可以大程度進行復用業(yè)務邏輯的業(yè)務線放到一起。這部分需要資深架構(gòu)師參與,畢竟這很大程度上是一個經(jīng)驗活。
有些不該放到一類的業(yè)務線應當分開,比如金融業(yè)務和電商業(yè)務大相徑庭,硬是搞一個團隊同時維護兩套系統(tǒng),甚至揉在一個系統(tǒng)里,結(jié)果是不會太好的。
④畫出領域模塊(能力)對齊圖
由 2、3 步驟可以畫出一個各業(yè)務線所需的領域能力圖。把名字相同(或者類似)的領域能力對齊。
如下圖所示大致的內(nèi)容為:
先申明下,該圖只是提供一種參考,著重去說明復用設計的通用步驟,不具備實際的參考意義,各企業(yè)應當結(jié)合自身的具體現(xiàn)狀具體分析。
圖中每一列相同的顏色代表它們可以做成一套系統(tǒng),給各個前臺復用。從圖中我們可以看出以下關(guān)鍵信息:
一般來說相同業(yè)務類別相同的他們的領域劃分也比較類似,但也存在反例,比如本地生活中的外賣和到店 O2O,可能在商品、營銷上有著很大的差異。
用戶中心一般不帶有具體的業(yè)務信息,這部分是可以做成全局統(tǒng)一的,也方便統(tǒng)計用戶畫像。
當然了,各個業(yè)務線除了對接這個統(tǒng)一的用戶中心外,還是要各自記錄一些跟自身業(yè)務相關(guān)的用戶信息,比如金融用戶的征信信息等,這種信息可能還需要由另外的系統(tǒng)來承載:比如征信中心。
同樣的商家結(jié)算,一般都是 B2B 之間的資金往來,業(yè)務不同僅僅影響的是交易憑證的描述不同,其他的結(jié)算方式等完全可以復用。
商品中心,看起來各個業(yè)務都有商品中心,但是各個業(yè)務線的商品結(jié)構(gòu)可能存在差異,比如金融和傳統(tǒng)電商的商品中心,其實現(xiàn)邏輯應當是不一樣的。
當然,硬要把金融產(chǎn)品標上價格,打上 SKU 去傳統(tǒng)電商前臺去賣,也是可以的,只是這種方式帶來的問題需要事先想好怎么克服,例如,誰來配置這些 SKU,誰來進行商品售后等等。
一般涉及貨物差異性的業(yè)務,都會用到評價中心,這是對商戶貨物品質(zhì)的一種用戶反饋。
而在金融行業(yè)的貸款業(yè)務看來一般不會對不同的資金提供方去做評價,不排除其他業(yè)務會有,比如基金業(yè)務等。
而有些領域是業(yè)務特有的,比如電商經(jīng)常需要用到競價中心,它負責對手商品價格的抓取和匹配等。
⑤嚴格遵循開閉原則,從底至上的去實施
針對我們上文找出的存在復用可能性的領域(每一列里顏色相同的領域塊),架構(gòu)師需要識別出其邊界和專注解決的問題,最后安排不同的產(chǎn)研團隊去實施。
各個領域塊的研發(fā)團隊在實施時應當盡可能的抽象公共業(yè)務邏輯,并且將無法通用的環(huán)節(jié)做成開放式的。
只要按照這個思想創(chuàng)建的系統(tǒng),即便沒有配置后臺,上層業(yè)務系統(tǒng)對接也是極其輕松的。
這里推薦另一篇筆者的文章《淺談微服務體系中的分層設計和領域劃分》,它講述的就是一種搭建通用大后端的系統(tǒng)架構(gòu),按照柔性的定義,這也是中臺:它可以支撐新業(yè)務應用快速研發(fā)。
在完成了通用能力的搭建后,我們還可以為每個通用能力去構(gòu)建配置后臺,這樣可以更快的給前臺應用研發(fā)提速,配置優(yōu)于研發(fā)帶來的好處就是不需要走研發(fā)流程就可以完成一定的定制邏輯。
需要注意,圖中的每個域不代表只有一個服務,服務數(shù)量可以是多個。
從底而上是要求我們優(yōu)先實現(xiàn)那些被廣泛依賴和公用的通用領域能力,然后再去實現(xiàn)被依賴較少的那些通用領域能力,最后基于這些能力可能還會繼續(xù)抽象出一些更具有具體業(yè)務含義的領域能力。
比如資源庫存中心搭建好之后,還可以基于它去搭建商品庫存中心。這樣不僅可以實現(xiàn)效能最優(yōu)化,也可以避免由于上層抽象不合理帶來的重構(gòu)成本。
想象一下,如果我們先豎煙囪,再去抽象他們的公共部分,是不是會帶來巨大的重構(gòu)成本和重構(gòu)風險。
萬能工廠要不得
“一個強大的集中的流程定制配置后臺”是不是企業(yè)中臺必須要有的部分?
個人理解不是必須的,因為互聯(lián)網(wǎng)業(yè)務復雜度規(guī)模很大,涉及各種細節(jié),花大代價去整合一個這樣的流程配置中臺對中小型公司來說是不可取的。
前兩年阿里內(nèi)部很火的 NBF、TMF 框架[6],可以快速的通過配置和少量研發(fā)幫助阿里集團內(nèi)的其他 BU 搭建業(yè)務項目,說的神乎其神。
除了一兩個用來打廣告的案例之外,真實用的 BU 并不多,文獻[7]對應的知乎回答中也有表達類似看法的。
為什么?筆者的答案是“極端陷阱”,只要路子夠極端,必定會遇到新的問題,在這一點上,蒼天饒過誰?
本以為只要把“開閉原則”用到極致,提供通用配置之外,允許需求方編寫很多插件接口實現(xiàn)定制化業(yè)務,就可以解決任何問題,其實不然。
由于要保證靈活和個性化,配置會呈爆炸式增長,多到理解它學習它使用它的成本也到了一個不小的量級,這時候大部分研發(fā)會想:還不如我寫代碼了。
而且一旦遇到某些功能不滿足業(yè)務需要,業(yè)務也不想遷就,那么還得依賴這樣一個框架去發(fā)起新的迭代,這是業(yè)務方不想看到的。
代碼是一種邏輯語言,本質(zhì)上和配置一樣,只是為了保證代碼的正確性,需要經(jīng)過合理的研發(fā)環(huán)節(jié),比如研發(fā)、自測、測試、灰度、上線驗證等,這才是讓我們抵觸研發(fā)的根本原因。
而一旦配置復雜了,筆者認為一樣一套配置實例仍然需要經(jīng)過一定的驗證流程才能上線,而為這樣的一套大型配置系統(tǒng)去編寫在線測試機制,又是一大坨工作量。
所以筆者建議,中臺的建設應當圍繞單一職責的領域能力去構(gòu)建,單一能力又可以提供一些簡單配置來實現(xiàn)定制化使用(就像一款款的中間件那樣),比如我們只需要申請好支付賬號和密鑰,就可以在系統(tǒng)里集成支付寶了。
在這些可以復用的系統(tǒng)能力至上,我們再去定制化構(gòu)建自己的前臺業(yè)務系統(tǒng)。如果前臺產(chǎn)品明確的話,我們甚至可以搭建自己的產(chǎn)品工廠,專門生產(chǎn)某一商業(yè)模式下的產(chǎn)品。
這些產(chǎn)品也代表了小前臺中的更小前臺,也可以反應框定范圍內(nèi)業(yè)務模式的不同,業(yè)務們也是可以基于這個工廠去玩不同的花樣的,只是這樣的工廠不能用來生產(chǎn)其他商業(yè)模式的產(chǎn)品。
反過來說,本來就沒啥關(guān)系,為啥要管別的商業(yè)模式呢?管的越多,工廠本身越復雜,越耽誤事,折射到現(xiàn)實中,一般一個工廠只會生產(chǎn)某一種類的產(chǎn)品,但是產(chǎn)品系列可以有多個。
折射到超級細胞,它的那套游戲工廠,生產(chǎn)游戲自然沒問題,非得讓它生產(chǎn)貸款產(chǎn)品,這得多無聊。
所以號稱自己可以快速搭建某行業(yè)任何業(yè)務系統(tǒng)的“萬能工廠”,多半是陷入了“極端陷阱”,最后只能是庸人自擾,舍本逐末。
記得《最強大腦第七季》的某一場比賽,婁云皓對宋佳昌,單位時間內(nèi)根據(jù)解開的“異形謎盤”數(shù)量來得分,婁云皓選擇了低階的盤面,而宋佳昌選擇的是高階的盤面,最后婁云皓大獲全勝。
這個例子告訴我們,過于追求更大復雜度的成功,很可能陷入自己跟自己過不去的尷尬境地。
筆者不否認理論上是存在一套全能的系統(tǒng),僅通過配置就可以完成各類電商的業(yè)務系統(tǒng)定制,但也別忘了,當配置足夠復雜時,也許寫寫代碼更容易解決問題,畢竟底層通用能力有的話,已經(jīng)可以極大的提高研發(fā)效率了。
中臺建設本質(zhì)是復用能力的建設,能力系統(tǒng)的建設應當聚焦某一領域,切實的去解決眾多前臺業(yè)務的某一類復雜性子問題,并封裝出簡潔的接口提供給前臺業(yè)務開發(fā)使用。
萬能工廠的做法不可取,這種方法的本質(zhì)是簡單問題復雜化,分布式前臺業(yè)務的集中式抽象,若是前臺業(yè)務邏輯本身就相似,那么不用系統(tǒng)工廠也能做的很通用;若是差異很大的前臺業(yè)務,用了系統(tǒng)工廠可能更難如期交付。
舉個例子,一個稍經(jīng)通用設計的商品中心,從日用百貨,到飛機大炮,再到房產(chǎn)基金都可以賣!
何必去搞一個萬能電商工廠,根據(jù)所賣的貨物不同而生成一套新的電商系統(tǒng)呢?
如果擔心很多定制化個性化的邏輯無處表達,那就做好基礎能力建設,然后一個小團隊就可以基于這些通用能力去快速構(gòu)建出新的電商系統(tǒng)了。
筆者有信心,這種方式比搞一個萬能電商工廠來的更加現(xiàn)實和經(jīng)濟。
以下是筆者眼中的合理中臺架構(gòu):
不同的前臺可以有自己的產(chǎn)品工廠,比如金融業(yè)務可以有自己的貸款產(chǎn)品工廠、電商業(yè)務可以有自己的商品中心等。
在寫該部分的時候,由于內(nèi)容很抽象,筆者在極力尋找生活中的例子來幫助讀者理解筆者的意圖。
關(guān)于這個部分,可以這樣來比擬:
- 如果您某天特別想吃川菜,可以選擇自己買菜來做。
- 如果你想能定時吃到按照自己口味做的菜又不想自己做,你可以開個該菜系的小飯館,請個川菜廚師。
- 如果你還想吃湖南菜,那么你可以嘗試招聘一個又會川菜又會湖南菜的廚師(類似業(yè)務線是存在抽象復用的可能性的)。
- 如果你心血來潮,想著自己還喜歡看書,就想著開一個超級工廠,可以生產(chǎn)你想要的任何東西(食物、書和其他),很可能您會落到一個舍本逐末、爛尾收場的境地。
因為本來成立這個工廠就是為了節(jié)省成本,而建設它的投入已經(jīng)遠大于分別去搭建按現(xiàn)有需求所需的小生產(chǎn)線了。
即便萬幸你的超級工廠建成了,你也會發(fā)現(xiàn)它的內(nèi)部很可能也是一條條小生產(chǎn)線組成的,寫書和炒菜畢竟差的太遠了。
這個例子告訴我們以下幾點:
- 盡早識別出截然不同的業(yè)務線,不要企圖去構(gòu)建同時支撐他們的中臺。
- 保守的做法是,優(yōu)先為很容易就被識別的同類業(yè)務線去搭建復用中臺。
- 不要激進的去框定一個萬能中臺的目標,落到實處,為前臺老百姓們切切實實的解決一些實在的問題。
- 中臺的設計討論可以從上至下的去分析,但是實施路徑一定要從底至上,先從最基礎的通用能力開始,慢慢往上建設,不用強求高度復用性,因為很可能那是業(yè)務差異決定的。即便是有解的,高度復用性設計也是在從底至上的建設過程中逐漸形成的。
各大互聯(lián)網(wǎng)中臺實施現(xiàn)狀
具體內(nèi)容參考文獻[8]。筆者看完的感受是:廣觀各大互聯(lián)網(wǎng)中臺建設,都是打著中臺的幌子在進行復用性設計戰(zhàn)略實施,而且他們的戰(zhàn)略實施都有個規(guī)律,都是從穩(wěn)固底部做起,從下至上。
似乎只有大阿廠是錨定了一個理想化終態(tài)從上至下的大搞特搞的。
從騰訊中臺定義來看就知道阿廠中臺大而泛了,騰訊都是建設了具體的內(nèi)容中臺、用戶中臺等,而阿廠上來就是業(yè)務中臺、數(shù)據(jù)中臺和技術(shù)中臺。
不過隨著 2019 年組織結(jié)構(gòu)調(diào)整,“大中臺、小前臺”戰(zhàn)略已經(jīng)無人提及了,提出中臺的阿里正在像行業(yè)理解的中臺前進!
這就好比老師跟學生說了某個知識,結(jié)果學生理解到了精髓,而老師卻曲解了知識本意。
互聯(lián)網(wǎng)業(yè)務參差不齊、細節(jié)差異大,很難像超級細胞那樣搞個超級中臺工廠,業(yè)務隨便來配置一下就可以生成一個新的業(yè)務前臺了。
不如從基礎能力復用性做起,建設好通用基礎業(yè)務領域能力,其他的個性化前臺業(yè)務還是需要各自的研發(fā)團隊負責。
從本質(zhì)上看,全局中臺沒有意義,但能想的很清楚的領域能力一定要提供出來,比如用戶、物流、支付、營銷、數(shù)據(jù)管理等,能減輕多少上層的負擔是多少,不必逞強。
另外,前臺業(yè)務的研發(fā)團隊是需要保留的,他們需要基于全局的通用基礎能力去構(gòu)建屬于自己業(yè)務的“小”中臺。
中臺由中臺能力組成,具體表現(xiàn)為一個個領域系統(tǒng),叫不叫中臺不重要,重要的是這個領域的服務能力是復用的。
總結(jié)
火極一時的阿里“大中臺、小前臺”戰(zhàn)略折射出的是高層管理者在初嘗復用技術(shù)的甜頭后引發(fā)的一系列創(chuàng)造性思考,表明企業(yè)的管理者正開始思考自身研發(fā)體系的科學性和可持續(xù)性。
中臺的提出是粗獷研發(fā)轉(zhuǎn)向精益研發(fā)的重要里程碑,就像冷兵器時代早期打仗靠堆人,后面慢慢的演化出高效用兵的兵法。
很難想象如果沒有中臺思想的提出,還有多少公司要陷入研發(fā)滾雪球、豎煙囪的狀態(tài)并且管理層還認為就應該是這樣,業(yè)務催著要交付產(chǎn)品,研發(fā)毫無機會去思考復用性,大家都為著短期的利益做著極端的取舍:前臺業(yè)務需求第一,不管合不合理,先懟上去,煙囪先豎起來。
中臺戰(zhàn)略,就像是一場革命,革掉了“唯短期利益主義”,當然我們也要避免走入另外一個極端:唯遠期利益,這種情況下可能死的更快,對應了過度設計。
適合企業(yè)的優(yōu)秀研發(fā)架構(gòu)的實現(xiàn)沒有一條黃金定律,架構(gòu)師和技術(shù) TL 需要擔起這個識別復用點的責任。
最后引用一段超級細胞一位開發(fā)同學在受采訪時說的話:
I feel like when you’re chasing short-term goals, you can end up stepping on your own toes —— Seth Allison。
翻譯為:我認為當你追尋短期利益時,你最終會踩到自己的腳趾。文中寓意為超級細胞認為每一款游戲都會運營個 20-30 年,每次更新變更的內(nèi)容都會經(jīng)過充分的討論。
筆者相信,這樣的團隊在打造自己的游戲研發(fā)平臺時,注定也會去追求了一個中長期的目標,圍繞這個目標小步快跑。
參考文獻:
- [1] 阿里、騰訊等巨頭追捧的“中臺”,到底有多重要?
https://www.sohu.com/a/316496280_115035
- [2] 阿里要拆分馬云提出的“大中臺,小前臺”模式?官方回應:假的。
https://xw.qq.com/cmsid/20190502A051I3/20190502A051I300
- [3] 第一性原理:從埃隆·馬斯克談獨立思考的力量(深度好文)。
https://baijiahao.baidu.com/s?id=1621647480822229180&wfr=spider&for=pc
- [4] 游久網(wǎng)。
http://www.uuu9.com/
- [5] 那些年,他們用過的《魔獸爭霸3》地圖編輯器。
https://zhuanlan.zhihu.com/p/32057966
- [6] 超級細胞官網(wǎng)企業(yè)介紹。
https://supercell.com/en/our-story/
- [7] 阿里研究員玄難:如何做電商業(yè)務中臺。
https://developer.aliyun.com/article/30340
- [8] 企業(yè)IT架構(gòu)轉(zhuǎn)型之道-阿里巴巴中臺戰(zhàn)略思想和架構(gòu)實踐,第一章。鐘華著。
- [8] 一次性講透阿里中臺架構(gòu)。
http://www.uml.org.cn/zjjs/201911134.asp
- [9] 看2019阿里集團最新組織架構(gòu),回顧阿里戰(zhàn)略變遷(附阿里組織架構(gòu)戰(zhàn)略變遷PDF下載)。
https://www.jianshu.com/p/d51ce6db6d8c
- [10] 2017雙11交易系統(tǒng)TMF2.0技術(shù)揭秘,實現(xiàn)全鏈路管理。
https://segmentfault.com/a/1190000012541958
- [11] TMF2.0 是只是一個業(yè)務框架嗎?
https://www.zhihu.com/question/371738242
- [12] 互聯(lián)網(wǎng)各大廠的中臺建設怎么樣了?騰訊/百度/頭條/滴滴/小米。
https://www.sohu.com/a/342952046_692515
- [13] Success and sustainability at Supercell.
https://www.gamesindustry.biz/articles/2019-01-15-success-and-sustainability-at-supercell
作者:湯波/甘盤
簡介:技術(shù)總監(jiān),工齡 7 年,碼齡 12 年,畢業(yè)于南京信息工程大學,在校獲獎頗多,包含省級、國家級獎項。曾先后供職于攜程、大眾點評、阿里巴巴、螞蟻金服等公司擔任研發(fā)和架構(gòu)設計工作。
編輯:陶家龍
出處:https://tbwork.org/2020/08/02/what-is-mid-platform/