今年9月份我參加了云棲大會(huì)缘揪,親臨現(xiàn)場(chǎng)體會(huì)了中臺(tái)發(fā)展的現(xiàn)狀和趨勢(shì)耍群,和業(yè)界同行進(jìn)行了深入的交流义桂,為此寫了我第一篇關(guān)于中臺(tái)的文章《向左還是向右?聊聊中臺(tái)建設(shè)中的那些糾結(jié)事》蹈垢。這篇文章發(fā)表到infoq上慷吊,也得到了多家媒體的轉(zhuǎn)載,反響還是很不錯(cuò)的曹抬。如果說第一篇中臺(tái)的文章是一種思考溉瓶,一種選擇,那么今天的這篇文章谤民,我想介紹一下我們的中臺(tái)實(shí)踐堰酿,以及過程中的思考邏輯和實(shí)施內(nèi)容。
我為什么決定做中臺(tái)张足?
2019年触创,我被老板調(diào)去做整個(gè)公司的研發(fā)總監(jiān),負(fù)責(zé)公司各產(chǎn)品線的研發(fā)工作为牍。這對(duì)我其實(shí)是一個(gè)很大的挑戰(zhàn)哼绑,其一過去幾年我一直負(fù)責(zé)其中一條產(chǎn)品線,從產(chǎn)品碉咆,技術(shù)到運(yùn)營抖韩、銷售,什么都要做疫铜,并非純粹的技術(shù)工作或者研發(fā)工作茂浮;其二是公司的研發(fā)體系比較分散,想統(tǒng)一整合難度很大壳咕,對(duì)于已經(jīng)離開研發(fā)一線的我席揽,的確前景未知。但既然被安排在這個(gè)位置上谓厘,就要履行自己的職責(zé)驹尼,盡力把工作做好。
上任伊始庞呕,整個(gè)公司不少于五個(gè)事業(yè)部,每個(gè)事業(yè)部都不止一條產(chǎn)品線程帕,一下子把各產(chǎn)品線研發(fā)統(tǒng)一住练,對(duì)我初來乍到的人來說,的確是非常頭疼的事情愁拭。我對(duì)各產(chǎn)品線進(jìn)行了初步的調(diào)研讲逛,發(fā)現(xiàn)各個(gè)產(chǎn)品線所涉及的領(lǐng)域都非常的重復(fù),其實(shí)這也不足為怪岭埠,畢竟所有產(chǎn)品線都是圍繞醫(yī)療盏混、醫(yī)藥領(lǐng)域蔚鸥,雖然應(yīng)用場(chǎng)景各有不同,但是很多基礎(chǔ)的服務(wù)卻是一樣的许赃。
在之前的中臺(tái)文章中我也分析了止喷,符合以下情形的企業(yè)是適合實(shí)施中臺(tái)的:
- 大型復(fù)雜的生態(tài)系統(tǒng)
- 業(yè)務(wù)形態(tài)具備不確定性
- 存在重復(fù)建設(shè)
- 存在數(shù)據(jù)互聯(lián)互通的問題
從我們的產(chǎn)品線現(xiàn)狀看,除了第一條目前并不特別匹配外混聊,其他三項(xiàng)都符合當(dāng)前團(tuán)隊(duì)的狀況弹谁,而最后兩項(xiàng)尤其突出。2019年是中臺(tái)架構(gòu)最為火熱的一年句喜,云棲大會(huì)的主題也基本都以中臺(tái)為核心预愤,帶著老板交給的進(jìn)行研發(fā)統(tǒng)一整合的任務(wù),萌生了基于中臺(tái)架構(gòu)來實(shí)施的想法咳胃。
做中臺(tái)之前我做了哪些準(zhǔn)備植康?
翻開阿里中臺(tái)建設(shè)的歷程,其道路并不是一帆風(fēng)順的展懈,甚至是步履維艱销睁,障礙重重。人們通常認(rèn)為中臺(tái)戰(zhàn)略是老板工程标沪,沒有自上而下的推動(dòng)要想做成幾乎是不可能的榄攀。但是中臺(tái)作為一個(gè)全新的概念,讓老板認(rèn)清中臺(tái)金句,讓同事接受中臺(tái)也不是一蹴而就的事情檩赢。
建立共享研發(fā)團(tuán)隊(duì)
實(shí)施中臺(tái)架構(gòu)的一個(gè)重要原因是存在大量的重復(fù)性的建設(shè),其根本原因之一就是過去我們只重視產(chǎn)品線發(fā)展而不重視能力線的建設(shè)违寞,沒有一個(gè)團(tuán)隊(duì)對(duì)公共的部分進(jìn)行負(fù)責(zé)贞瞒,所以首先我們要建立共享研發(fā)的團(tuán)隊(duì)來承擔(dān)對(duì)公共基礎(chǔ)服務(wù)的建設(shè)。
將產(chǎn)品線上的部分人員抽調(diào)出來組成共享研發(fā)團(tuán)隊(duì)成員趁曼,這樣產(chǎn)品開發(fā)團(tuán)隊(duì)的資源減少了军浆,從而加大了各產(chǎn)品團(tuán)隊(duì)重復(fù)制造輪子的難度;其次挡闰,建立了項(xiàng)目評(píng)審和技術(shù)評(píng)審的機(jī)制乒融,讓共享研發(fā)團(tuán)隊(duì)參與到各產(chǎn)品開發(fā)團(tuán)隊(duì)的業(yè)務(wù)之中,從而將公共部分從產(chǎn)品開發(fā)團(tuán)隊(duì)提煉到共享研發(fā)團(tuán)隊(duì)摄悯;最后赞季,通過考核體系,加強(qiáng)制度的執(zhí)行奢驯。
統(tǒng)一公司技術(shù)路線
對(duì)于我們中小規(guī)模的團(tuán)隊(duì)申钩,居然存在Java,.NET瘪阁,PHP三條技術(shù)棧撒遣,可見過去我們對(duì)于技術(shù)管理是如何的輕視邮偎,任由各個(gè)團(tuán)隊(duì)自我發(fā)揮。太過分散的技術(shù)棧導(dǎo)致團(tuán)隊(duì)之間無法有效的協(xié)同义黎,人員之間不能很好的補(bǔ)位禾进,也非常不利于團(tuán)隊(duì)技術(shù)的深度積累。
確立Java技術(shù)路線為主路線
在這三個(gè)技術(shù)棧之中轩缤,Java的團(tuán)隊(duì)人數(shù)命迈,團(tuán)隊(duì)質(zhì)量,以及技術(shù)應(yīng)用程度都是最高的火的,并且在青島這個(gè)城市壶愤,Java的人才也是最好招到的,所以確立以Java作為公司內(nèi)長期發(fā)展的技術(shù)路線馏鹤,其他技術(shù)路線收縮或者向Java靠攏征椒。
推行微服務(wù)開發(fā)模式
因?yàn)橘Y源問題,不可能一下子統(tǒng)一到一條技術(shù)路線上來湃累,三條技術(shù)路線將會(huì)持續(xù)很長一段時(shí)間勃救,所以公共組件的重用無法在代碼級(jí)別進(jìn)行,而只能采取服務(wù)的方式提供治力,而微服務(wù)的架構(gòu)非常符合當(dāng)前的現(xiàn)狀蒙秒,而三個(gè)Java主線的技術(shù)團(tuán)隊(duì)有兩個(gè)已經(jīng)開始實(shí)施微服務(wù)的開發(fā)模式,微服務(wù)的開發(fā)模式以及SpringCloud的體系也就順理成章的被確立下來宵统。
統(tǒng)一前端開發(fā)框架
對(duì)于web應(yīng)用開發(fā)晕讲,其實(shí)前端開發(fā)占用了很大的精力,為了更好的組件重用和團(tuán)隊(duì)間協(xié)同马澈,最好要統(tǒng)一前端開發(fā)的框架瓢省,讓大家在同一個(gè)前端技術(shù)體系下協(xié)同和積累,根據(jù)各團(tuán)隊(duì)使用的普及度痊班,最終選擇以VUE.JS作為團(tuán)隊(duì)統(tǒng)一的前端開發(fā)框架勤婚,共享研發(fā)團(tuán)隊(duì)提供的組件全部以VUE開發(fā)的前端對(duì)其他團(tuán)隊(duì)提供。
中臺(tái)建設(shè)的第一步如何邁出涤伐?
一切變革都會(huì)從組織和人開始馒胆,實(shí)施中臺(tái)戰(zhàn)略也不例外,這也是它之所以被認(rèn)為是“老板工程”的原因之一凝果。很多公司想做中臺(tái)国章,但都以失敗告終或者就遲遲邁不開第一步的原因就是不敢調(diào)整架構(gòu),不敢動(dòng)組織豆村,沒有不破不立的膽略。《中臺(tái)禁區(qū):為什么最關(guān)鍵的組織架構(gòu)卻鮮少人談骂删?》
在我有了中臺(tái)建設(shè)的想法后掌动,老板支持我創(chuàng)建了專門的中臺(tái)的團(tuán)隊(duì)四啰,團(tuán)隊(duì)雖然不大,但讓中臺(tái)的建設(shè)有了載體粗恢。不管我和老板在中臺(tái)的定義和目標(biāo)的理解是否完全一致柑晒,但我們邁出了最重要的一步,感謝老板的支持眷射,這件事如果能夠有成績匙赞,首先得益于自上而下的推動(dòng)。
至此妖碉,整個(gè)共享研發(fā)的體系已經(jīng)初見成效涌庭,為中臺(tái)戰(zhàn)略的順利執(zhí)行奠定了堅(jiān)實(shí)的基礎(chǔ)。
為什么要從技術(shù)中臺(tái)開始欧宜?
在阿里的中臺(tái)體系中坐榆,是業(yè)務(wù)中臺(tái)和數(shù)據(jù)中臺(tái)雙核驅(qū)動(dòng),這也是大部分企業(yè)建設(shè)中臺(tái)的參考模式冗茸。但對(duì)于我們以研發(fā)為核心的公司席镀,不存在復(fù)雜的生態(tài)系統(tǒng),而且在初創(chuàng)期并沒有大量的數(shù)據(jù)夏漱,所以業(yè)務(wù)中臺(tái)和數(shù)據(jù)中臺(tái)在我們這里驅(qū)動(dòng)力不夠豪诲,更何況構(gòu)建業(yè)務(wù)中臺(tái)對(duì)于我們以研發(fā)為主的團(tuán)隊(duì)來說,也缺少業(yè)務(wù)抽象和架構(gòu)的人員挂绰,一上來碰壁的可能性會(huì)比較大屎篱。
任何一個(gè)變革要想成功,都要找到最容易的突破口扮授,迅速建立效果芳室,建立自信。而技術(shù)中臺(tái)因?yàn)楦踊A(chǔ)刹勃,復(fù)用程度會(huì)更大一些堪侯;而且因?yàn)椴痪邆錁I(yè)務(wù)特性,所以更加的容易被抽象荔仁。中臺(tái)的定義就是企業(yè)級(jí)能力復(fù)用的平臺(tái)伍宦,所以通過構(gòu)建技術(shù)中臺(tái)從而快速實(shí)現(xiàn)復(fù)用,從而讓中臺(tái)建設(shè)快速取得效果乏梁,讓團(tuán)隊(duì)建立自信次洼,是我們深入中臺(tái)的基礎(chǔ)。
這半年的時(shí)間遇骑,我們?cè)诩夹g(shù)中臺(tái)方面快速的構(gòu)建了我們產(chǎn)品和項(xiàng)目經(jīng)常被用到的一些基礎(chǔ)組件卖毁,比如聚合支付、IM、人臉識(shí)別亥啦、呼叫中心等等炭剪。
如何選擇業(yè)務(wù)中臺(tái)的切入點(diǎn)?
在技術(shù)中臺(tái)的建設(shè)過程中翔脱,我們讓前臺(tái)盡早的體會(huì)到和中臺(tái)協(xié)同的益處奴拦,也驗(yàn)證了中臺(tái)的確能為我們各前臺(tái)應(yīng)用帶來價(jià)值,是時(shí)候來構(gòu)建業(yè)務(wù)中臺(tái)了届吁。我們雖然重復(fù)制造了一些輪子错妖,但是由于業(yè)務(wù)場(chǎng)景的差異,這些輪子其實(shí)也是神似形不同疚沐,如何做到合適的抽象暂氯,這也是業(yè)務(wù)中臺(tái)構(gòu)建的難點(diǎn)。新的架構(gòu)在開始一旦做不好濒旦,往往不能解決前臺(tái)問題株旷,反而會(huì)制造各種障礙,為了推進(jìn)更加順利尔邓,如何選擇業(yè)務(wù)中臺(tái)的切入點(diǎn)呢晾剖?
價(jià)值考慮
- 尋找復(fù)用度高的業(yè)務(wù),通過更多的復(fù)用降低整體的投入成本
- 需要持續(xù)運(yùn)營的業(yè)務(wù)梯嗽,持續(xù)的運(yùn)營意味著長期的投入齿尽,不適合重復(fù)建設(shè)
可控考慮
- 從新的業(yè)務(wù)開始
- 成熟業(yè)務(wù)沉淀共享
基于以上考慮的出發(fā)點(diǎn)梳理自身業(yè)務(wù),從而確立了業(yè)務(wù)中臺(tái)前期建設(shè)內(nèi)容:
- 隨訪中臺(tái)--新的業(yè)務(wù)灯节,且多個(gè)產(chǎn)品線涉及
- 內(nèi)容中臺(tái)--已存在成熟業(yè)務(wù)循头,應(yīng)用范圍很廣,且需要持續(xù)運(yùn)營
- 藥品中臺(tái)--應(yīng)用范圍很廣炎疆,且需要持續(xù)運(yùn)營
半年的時(shí)間卡骂,在項(xiàng)目繁多、資源緊張的情況下形入,我們小心翼翼的推進(jìn)中臺(tái)的發(fā)展全跨,雖然進(jìn)展緩慢,但中臺(tái)和前臺(tái)已經(jīng)開始緊密協(xié)同亿遂,逐步打消我剛開始推進(jìn)中臺(tái)的擔(dān)憂浓若,也讓團(tuán)隊(duì)越來越有信心,依然是一個(gè)不錯(cuò)的成果蛇数。
過去我們開發(fā)了一個(gè)個(gè)的單體應(yīng)用挪钓,重復(fù)制造了各種輪子,數(shù)據(jù)也不統(tǒng)一耳舅,但架構(gòu)永遠(yuǎn)都不是一蹴而就的碌上,都是在不斷演化的,對(duì)于中臺(tái)架構(gòu)更是如此,我們要有清晰的規(guī)劃馏予,同時(shí)要穩(wěn)步的改造蔓纠,不要冒進(jìn)。
為什么PaaS成為我們的重點(diǎn)吗蚌?
中臺(tái)建設(shè)就是把可復(fù)用的能力沉淀下來,但這些可復(fù)用的能力如何被管理纯出?如何快速的復(fù)用蚯妇?很多人形容中臺(tái)的架構(gòu)模式就像搭積木的方式一樣構(gòu)建應(yīng)用系統(tǒng),怎么幫助開發(fā)人員快速的拼裝積木呢暂筝?需要在構(gòu)建在中臺(tái)之上的PaaS平臺(tái)來完成箩言。
其實(shí)著急建設(shè)PaaS層,更源于我們業(yè)務(wù)的變化和現(xiàn)存的問題焕襟。去年下半年公司的業(yè)務(wù)再調(diào)整陨收,產(chǎn)品線在聚焦收縮,我們定位也在轉(zhuǎn)成以面向TO B應(yīng)用的產(chǎn)品研發(fā)為主鸵赖,醫(yī)療行業(yè)的產(chǎn)品以本地化部署居多务漩,互聯(lián)網(wǎng)業(yè)務(wù)在減少,中臺(tái)服務(wù)的迫切性已經(jīng)不那么高了它褪。而作為我們前臺(tái)的各個(gè)產(chǎn)品都存在標(biāo)準(zhǔn)化不足饵骨,擴(kuò)展性不夠的問題,造成了項(xiàng)目的交付需要大量的定制化的開發(fā)茫打,極大影響了交付的成本和速度居触,通過構(gòu)建低代碼開發(fā)的PaaS平臺(tái)來解決這些問題成為當(dāng)前更重點(diǎn)的事情。
代號(hào)OECP的PaaS平臺(tái)1.0beta版推出后老赤,快速的應(yīng)用在幾個(gè)項(xiàng)目上轮洋,讓項(xiàng)目的開發(fā)效率提升了數(shù)倍以上,去年頂著項(xiàng)目壓力研發(fā)的這個(gè)平臺(tái)初見成效抬旺,內(nèi)心的焦慮也適當(dāng)?shù)牡玫搅司徑狻?/p>
從長遠(yuǎn)看弊予,中臺(tái)+OECP的建設(shè)不僅解決我們自身研發(fā)的成本和效率問題,在這個(gè)體系指導(dǎo)下我們還可以擴(kuò)大到整個(gè)集團(tuán)范圍嚷狞,幫助集團(tuán)數(shù)字化轉(zhuǎn)型块促,而我們構(gòu)建的醫(yī)療服務(wù)中臺(tái),也將成為我們產(chǎn)品的優(yōu)勢(shì)和亮點(diǎn)床未,幫助客戶做數(shù)字化轉(zhuǎn)型竭翠,搭建新型的智慧醫(yī)院的服務(wù)體系。
為什么很多中臺(tái)項(xiàng)目都失敗了薇搁?
前段時(shí)間斋扰,一篇《中臺(tái),我信了你的邪》的文章,給風(fēng)風(fēng)火火的中臺(tái)潑了一盆臘月的冰水传货,也引起了行業(yè)的大討論屎鳍。茅臺(tái)的中臺(tái)項(xiàng)目到底如何,因?yàn)槠鋵?shí)施方云徙科技的辟謠而更撲朔迷離问裕。前段時(shí)間逮壁,我看到了另外一家醫(yī)藥企業(yè)的中臺(tái)項(xiàng)目的招標(biāo)書,也是深吸一口涼氣粮宛,估計(jì)結(jié)局也可能和茅臺(tái)一樣窥淆。為什么會(huì)失敗,為什么推行不下去巍杈,我感覺有以下原因:
- 中臺(tái)之風(fēng)太熱忧饭,導(dǎo)致企業(yè)對(duì)于中臺(tái)的期望過高!中臺(tái)不是包治百病的萬能神藥筷畦,它只是企業(yè)架構(gòu)演化的一個(gè)階段或一種方式词裤,它只能解決企業(yè)數(shù)字化轉(zhuǎn)型的部分問題而不是全部。
- 太注重形式鳖宾,一切向大廠看齊吼砂!阿里的中臺(tái)是一蹴而就的嗎?阿里的中臺(tái)適合所有的企業(yè)嗎攘滩?每家企業(yè)的發(fā)展過程不一樣帅刊,每家企業(yè)的問題也有所不同,盲目的照搬不僅問題沒解決漂问,還消耗了大量資源赖瞒。
中臺(tái)是企業(yè)級(jí)能力復(fù)用的平臺(tái),我們要把握中臺(tái)之神韻:以復(fù)用為核心蚤假,以企業(yè)級(jí)為視角栏饮、以各種能力為復(fù)用范圍。而不要被互聯(lián)網(wǎng)大廠的各種中臺(tái)之形而掣肘磷仰,因?yàn)橹信_(tái)對(duì)數(shù)字化轉(zhuǎn)型的傳統(tǒng)企業(yè)袍嬉,對(duì)于像我們這樣的研發(fā)型的企業(yè),都有不同的應(yīng)用動(dòng)機(jī)和場(chǎng)景灶平。
所以伺通,落地中臺(tái),貴在其神逢享,活用其形罐监!