今年參加了云棲大會内舟,作為中臺的踐行者冯遂,我也更關(guān)注中臺架構(gòu)實施的行業(yè)狀況,學習了其他公司中臺的思想和經(jīng)驗谒获。云棲大會上蛤肌,我和做中臺實踐的同學,以及在阿里做中臺的朋友進行了深入的交流和探討批狱,對做中臺過程中遇到的比較糾結(jié)的問題進行了思考和總結(jié)裸准。
在探討中臺哪些讓人糾結(jié)不定煩心事之前,我們依然要談談我們?yōu)槭裁匆鲋信_(注:本文中臺局限于企業(yè)IT架構(gòu)的中臺赔硫,非廣義上的中臺)炒俱,做中臺到底給我?guī)砟男┖锰帲氩磺宄@些就去深入到中臺的細節(jié)里也無意義。
中臺概念這幾年特別火权悟,就像90年代不做ERP是等死一樣砸王,現(xiàn)在做不做中臺也好像能定企業(yè)生死一樣,弄得大家都在搞中臺峦阁。但是不是所有的企業(yè)都適合做中臺谦铃,只有符合以下條件的企業(yè),才有實施中臺的必要榔昔,切莫亂搞驹闰。
所以,如果您是創(chuàng)業(yè)團隊撒会,或者業(yè)務線比較單一嘹朗,建議不要盲目嘗試中臺架構(gòu),否則將拖累你業(yè)務發(fā)展的速度诵肛。另外屹培,我們也要清晰的知道實施中臺的目的,以及中臺會給企業(yè)帶來的價值怔檩,沒有實際利益的推動中臺就很難落地惫谤,或者有形而無神。
明確了中臺的應用場景和價值體現(xiàn)珠洗,我們開始實施中臺架構(gòu)的落地。我從今年上半年開始推動中臺這件事差不多有幾個月的時間若专,在這個過程中也是摸著石頭過河许蓖,雖然有很多中臺的理論知識可以學習,但是實際的過程中發(fā)現(xiàn)调衰,中臺的落地是一件非常難得事情膊爪,它沒有標準,認識也不統(tǒng)一嚎莉,在一些關(guān)鍵環(huán)節(jié)存在不少分歧米酬。正好此次在云棲大會約了幾個實踐中臺的朋友進行了深入的探討,把討論的內(nèi)容進行總結(jié)趋箩,希望中臺的建設(shè)少一些糾結(jié)赃额,多一分信心。
中臺定義:思想 VS 工具
什么是中臺叫确?每個人可能有不同的理解跳芳,行業(yè)里也沒有嚴格的定義,但我更認同其中一個說法就是:中臺是企業(yè)級能力復用的平臺竹勉。如何來解釋這句話呢飞盆?
既然核心是能力復用,業(yè)務流派認為中臺其實是一套思想,只要能夠?qū)崿F(xiàn)能力的復用吓歇,滿足降本增效的企業(yè)目標孽水,采取的所有的措施,和一切可復用的能力都是中臺的范疇城看,所以中臺一種組織方式女气。而技術(shù)流派的人則認為,既然是能力復用的平臺析命,就一定要有支撐復用的工具主卫,就必須定義一套技術(shù)規(guī)范來支持復用,中臺一定要有基礎(chǔ)平臺來支撐的鹃愤。
中臺首先要統(tǒng)一思想簇搅,圍繞能力的復用進行組織管理,將能力組件化软吐,如下圖最底層部分瘩将;同時,中臺之上我們要構(gòu)建能快速落地的技術(shù)平臺(如圖中OECP部分)凹耙,通過Low code的平臺能力氮昧,實現(xiàn)組件的組裝和流程的設(shè)計防症,快速的構(gòu)建應用。技術(shù)平臺是業(yè)務無關(guān)性的,但業(yè)務中臺一定是業(yè)務相關(guān)性的专筷,只要把業(yè)務和技術(shù)有機的組合起來,把企業(yè)的能力沉淀并復用起來浴栽,這就有了中臺的基礎(chǔ)肚吏。
復用粒度:粗粒度 VS 細粒度
復用是中臺建設(shè)的核心,是一切的基礎(chǔ)荤崇,沒有復用的意識導向拌屏,中臺就變成了自娛自樂的游戲。也許很多人會說术荤,沒有中臺之前復用無處不在啊倚喂,我們寫程序復用代碼,做方案復用案例瓣戚,為什么一定要建設(shè)中臺呢端圈?首先,再次重申下中臺的復用范圍是“企業(yè)級”子库,它既不局限于技術(shù)同學內(nèi)的程序復用枫笛,也不不局限于一個團隊內(nèi)部的復用,而是站在企業(yè)最高的視角刚照,作用于整個企業(yè)甚至更高角度的IT架構(gòu)刑巧;其次是“能力的復用”喧兄,能力的范圍更加的寬泛。和阿里的朋友談到復用時啊楚,我們也提到了復用的級別吠冤,像阿里云其實就是在基礎(chǔ)設(shè)施這個級別上的復用。我自己把復用的級別抽象成下圖所示的5層恭理。
級別越低拯辙,粒度越小,復用的范圍越廣颜价,但價值體現(xiàn)較低涯保;級別越高,粒度越大周伦,復用的價值越高夕春,但復用范圍也比較局限。所以站在業(yè)務和價值角度上专挪,都是先從最高的層次上去復用及志。只有上層無法實現(xiàn)復用,我們才會逐步向下層去尋找寨腔。但是有時候站在技術(shù)角度速侈,我們習慣在低層次上去復用,因為這里最接近自己的工作迫卢,粒度越小倚搬,技術(shù)上越可控。但不論怎樣只要我們能把這些能力很好的組織管理起來并實現(xiàn)復用乾蛤,就是中臺的思維每界。
具體到中臺落地的IT架構(gòu),微服務基礎(chǔ)架構(gòu)是目前最流行的方式幻捏,因為單純程序代碼的復用價值有限,而傳統(tǒng)單體應用的復用又極其的不靈活命咐,而基于微服務架構(gòu)的業(yè)務組件的復用則處在中間層級篡九,靈活性和復用度比較平衡。組件復用的核心思想是領(lǐng)域驅(qū)動設(shè)計(DDD)醋奠,而我認為DDD最大難點是粒度的控制榛臼,粒度太粗不靈活復用性差,粒度太細雖然復用性好窜司,但耦合較大沛善,運維成本較高。
Gartner在研究報告里提出了宏服務塞祈、小服務和微服務的粒度劃分:
宏服務——一種傳統(tǒng)的 Web 服務金刁,支持將功能封裝于單體應用內(nèi)。宏服務不支持獨立部署或擴展, 它們只能部署為單體應用的一部分尤蛮,而且它們不需要微服務基礎(chǔ)架構(gòu)媳友。
小服務——就服務粒度范圍而言,小服務是一種粗粒度产捞、松散耦合醇锚、支持獨立部署的應用組 件。小服務需要微服務基礎(chǔ)架構(gòu)坯临。
微服務——微服務處于粒度范圍的遠端焊唬,是一種可獨立部署的組件,能夠支持單個應用功能的實施看靠。 微服務可直接部署到微服務運行時環(huán)境中赶促,也往往具備專用數(shù)據(jù)存儲區(qū)。微服務需要微服務基礎(chǔ)架構(gòu)衷笋。
我本人非常喜歡Gartner的劃分方式芳杏,基于這三種服務的粒度,我也談談我對粒度把握的一些思路辟宗。
如果我們想對已存在系統(tǒng)的能力進行復用爵赵,可以采用宏服務模式進行,宏服務的模式適合做系統(tǒng)的集成和治理泊脐。我們對于新的業(yè)務和項目空幻,剛開始建議采用小服務的方式進行業(yè)務領(lǐng)域的拆分,不建議拆分的過細容客,這個小服務能滿足該需求的基本抽象即可秕铛。從適中的粒度開始,服務的粒度一定是業(yè)務推進的過程中不斷演化的缩挑,創(chuàng)新業(yè)務推動服務的粒度向更細的粒度裂變但两,而業(yè)務成熟穩(wěn)定后,又推動服務向粗粒度方向聚合供置。
擴展方式:服務編排 VS SOP
實踐證明谨湘,業(yè)務能力輸出的內(nèi)容主要是核心業(yè)務數(shù)據(jù)和業(yè)務流程。而在我上面定義的復用級別上芥丧,業(yè)務流程的復用處在LV4紧阔,也是比較高階的復用能力。
云棲大會的朋友聚會上续担,我一個實踐中臺的同學談到中臺服務如何更加靈活的支撐前臺時談到服務的編排擅耽。他們的做法是給前臺同事提供了一套服務編排的工具,然后發(fā)布一系列的原子性的服務物遇,由各前臺團隊按照自己流程去編排適合自己的邏輯流程乖仇。
我不反對服務編排憾儒,而且在SOA和微服務的架構(gòu)下,服務編排是必不可少的能力这敬。但是我不認可給前臺提供編排工具航夺,而中臺只提供原子性服務。因為我們在中臺的建設(shè)中崔涂,一直提及的是中臺一定是業(yè)務相關(guān)性的阳掐,中臺輸出的不僅僅是工具,更要深入到具體的業(yè)務場景中冷蚂,提供業(yè)務流程的最佳實踐缭保。
阿里的朋友在討論這個問題是提到了SOP(Standard Operation Procedure)的概念,他認為最好的做法是提供一套標準化的流程+預留可動態(tài)注入的擴展點的方式來對前臺提供蝙茶。比如淘寶和天貓在業(yè)務上可以共享一套SOP艺骂,在這套SOP的擴展點上各自注入自己不同的規(guī)則,從而滿足自己的需求隆夯。從中臺的復用范圍來看钳恕,我特別認同這種方式,因為中臺只有提供SOP蹄衷,才是真正的實現(xiàn)業(yè)務流程這種高階的復用(就像國外ERP宣揚的那樣忧额,你購買的不只是一套系統(tǒng),還有企業(yè)管理到最佳實踐)愧口,當然如果要做到SOP的定義睦番,中臺團隊必須有既精通業(yè)務又熟悉技術(shù)的人,我們俗稱“業(yè)務架構(gòu)師”耍属,不過水平高的人實在可遇不可求啊托嚣。從這點我也理解把工具開放給前臺自己做服務編排的同學了。
雖然我一直在強調(diào)中臺要深入業(yè)務厚骗,要提煉SOP示启,但中臺又不能過度參與業(yè)務,不能因為中臺掣肘了業(yè)務的敏捷性领舰。中臺提供的能力要具有靈活性和可定制性夫嗓,便于業(yè)務方根據(jù)規(guī)范自主完成,減少溝通成本提揍,提升效率啤月。所以服務編排作為工具還是需要提供煮仇,前期通過工具快速嘗試探索合適的業(yè)務流程劳跃,后期通過業(yè)務的最佳實踐形成SOP。
先后順序:先業(yè)務中臺 VS 先數(shù)據(jù)中臺
雖然各種中臺很多刨仑,但是真正和業(yè)務保持密切協(xié)同的是業(yè)務中臺和數(shù)據(jù)中臺郑诺,阿里巴巴的中臺核心也是這雙中臺驅(qū)動的,這里面體現(xiàn)的核心就是一切業(yè)務數(shù)據(jù)化杉武,一切數(shù)據(jù)業(yè)務化辙诞,業(yè)務產(chǎn)生數(shù)據(jù),數(shù)據(jù)又賦能業(yè)務轻抱。
在和Gartner分析師交流的時候飞涂,他的觀點是先有業(yè)務中臺,再有數(shù)據(jù)中臺祈搜。雖然我們也是從業(yè)務中臺開始较店,但我個人并不是特別認可這個觀點的,我更認可的是先業(yè)務后數(shù)據(jù)容燕,但是對于哪個中臺先開始梁呈,完全要看各企業(yè)的自身情況。
如果企業(yè)當前最迫切的訴求是避免重復造輪子蘸秘,提升IT生產(chǎn)力官卡,數(shù)據(jù)基礎(chǔ)相對較好或者數(shù)據(jù)量級不夠,建議業(yè)務中臺先行醋虏。
如果企業(yè)當前最迫切的訴求是系統(tǒng)繁多但孤島嚴重急需要打通寻咒,企業(yè)已經(jīng)存在大量的數(shù)據(jù)急需要在業(yè)務上發(fā)揮價值,建議數(shù)據(jù)中臺先行灰粮。
具有自主技術(shù)研發(fā)團隊特點的科技企業(yè)更適合先業(yè)務中臺仔涩,而自主開發(fā)能力較弱,應用系統(tǒng)更多依賴第三方外采的偏傳統(tǒng)企業(yè)粘舟,可能更適合數(shù)據(jù)中臺先行熔脂。
中臺團隊:委員會 VS 許愿池
中臺的建設(shè)是一把手工程,沒有自上而下的推動柑肴,中臺是很難落地的霞揉。所以中臺變革的第一步就是組織架構(gòu)的調(diào)整,需要建立一個中臺團隊來負責組織晰骑、協(xié)調(diào)和建設(shè)适秩。
如何對中臺團隊定位其實也是一個難題,在我所見所經(jīng)歷的中臺組織中硕舆,經(jīng)常出現(xiàn)兩種形態(tài):
第一種是委員會秽荞。中臺團隊是由各業(yè)務線選派的同事組成的虛擬組織,其中大部分都是領(lǐng)導抚官,更多的承擔組織扬跋、協(xié)調(diào)和協(xié)同的角色,具體的業(yè)務共享單元分散在原有的各個部門里凌节,這種可稱為委員會似的中臺钦听。中臺因為有各個部門的領(lǐng)導們組成洒试,相互之間加強了信息共享,也逐步有了復用的意識朴上,但在企業(yè)IT建設(shè)這個環(huán)節(jié)垒棋,因為沒有具體的專注于共享業(yè)務的執(zhí)行團隊,協(xié)作成本會增高痪宰、實際產(chǎn)出更務虛叼架,看著熱鬧,其實很難體現(xiàn)復用的價值衣撬。
第二種是許愿池碉碉。前臺直接把需求丟到這個許愿池里,然后期盼著中臺提供一個現(xiàn)成的組件淮韭、服務垢粮,中臺成了為前臺打工的了,累不用說還不討好靠粪,阿里早期的共享業(yè)務事業(yè)部估計就是這種窘境蜡吧,沒有業(yè)務話語權(quán)。
中臺團隊既不應該是委員會也不完全是許愿池占键,中臺不僅能組織昔善、能引領(lǐng),又必須要有實際的產(chǎn)出畔乙。中臺需要前臺滋養(yǎng)君仆,前臺更需要中臺賦能,中臺團隊只有成為具有核心話語權(quán)的實體團隊牲距,企業(yè)能力的復用才能最大化的發(fā)揮出來返咱。所以阿里巴巴讓其CTO行癲張建峰掛帥推進中臺戰(zhàn)略,可見其中臺戰(zhàn)略的力度牍鞠,也見證了阿里中臺在國內(nèi)的影響力咖摹。
其實中臺建設(shè)過程中碰到的問題遠不止這些,需要我們在實踐中去探索正確的解題方法难述。最后引用《中臺戰(zhàn)略》書中的內(nèi)容結(jié)束本文萤晴,希望踐行中臺的同仁都能馬到成功。
參考資料:
《中臺戰(zhàn)略:中臺建設(shè)及數(shù)字商業(yè)》 陳新宇等? 機械工業(yè)出版社
《MASA架構(gòu)》 Gartner分析報告
本文原創(chuàng)首發(fā)于最專業(yè)的技術(shù)社區(qū)InfoQ,感謝InfoQ平臺對本文的認可胁后。
以下是InfoQ上的原文地址:https://www.infoq.cn/article/5PE1xqMf7acQORp2cD8Z