經(jīng)高人推薦,所以買(mǎi)了一本學(xué)習(xí)下,爭(zhēng)取兩周讀完,這一周讀了一半左右。不過(guò)我讀書(shū)慢,寫(xiě)讀書(shū)筆記更慢,不知道要花多少時(shí)間能寫(xiě)完。
這本書(shū)是講阿里巴巴中臺(tái)戰(zhàn)略和架構(gòu)的書(shū),看起來(lái)似乎和敏捷轉(zhuǎn)型關(guān)系不太緊密,其實(shí)不然。之前讀《大規(guī)模敏捷開(kāi)發(fā)實(shí)踐》這本書(shū),感覺(jué)書(shū)中講的關(guān)鍵的一點(diǎn)也是架構(gòu)。對(duì)于復(fù)雜產(chǎn)品的大規(guī)模敏捷,一個(gè)良好設(shè)計(jì)的架構(gòu)其實(shí)還是必須的,不然應(yīng)對(duì)變化時(shí)很難快起來(lái)。不過(guò)公司里部分同事對(duì)敏捷宣稱(chēng)的“演進(jìn)式架構(gòu)”是有疑問(wèn)的,認(rèn)為產(chǎn)品的架構(gòu)還是需要先深思熟慮的設(shè)計(jì)好,打好地基之后才能向大廈中添磚加瓦。想起《代碼大全2》中對(duì)軟件開(kāi)發(fā)的多種隱喻,生長(zhǎng)的隱喻主要是針對(duì)敏捷開(kāi)發(fā)方法說(shuō)的,建筑的隱喻主要是面向大型軟件的,但是最后的總結(jié)部分也提到,其實(shí)多種隱喻之間并不是矛盾的,可以同時(shí)應(yīng)用多種隱喻。

序言
本書(shū)講述了阿里巴巴的技術(shù)發(fā)展史,同時(shí)也是一部互聯(lián)網(wǎng)技術(shù)架構(gòu)的實(shí)踐與發(fā)展史。
序言中的第一句其實(shí)也已經(jīng)說(shuō)明了,架構(gòu)不是預(yù)先設(shè)計(jì)出來(lái)的,而是根據(jù)實(shí)際情況不斷演化出來(lái)的。
不同于搜索、社交之類(lèi)的應(yīng)用系統(tǒng),電子商務(wù)、支付的業(yè)務(wù)特性決定了其必須有很高的穩(wěn)定性與可靠性。用戶在使用搜索引擎的時(shí)候,哪怕丟失了一半的搜索結(jié)果,用戶可能都沒(méi)有覺(jué)察。但在電子商務(wù)應(yīng)用中,每一筆訂單、每一個(gè)狀態(tài)、每一次支付都不能有絲毫查錯(cuò)。與此同時(shí),像雙十一這種業(yè)務(wù)高峰時(shí)刻,每秒鐘就需要處理十萬(wàn)筆以上的訂單。高可用、海量、復(fù)雜的業(yè)務(wù)邏輯交織在一起,是阿里巴巴系統(tǒng)的主要挑戰(zhàn)。
其實(shí)我們的電信運(yùn)營(yíng)支撐系統(tǒng)也是涉及到錢(qián)的,一旦出現(xiàn)費(fèi)用計(jì)算類(lèi)的錯(cuò)誤就是大故障。我們的業(yè)務(wù)邏輯也足夠復(fù)雜,TW的技術(shù)教練在幫我們重構(gòu)業(yè)務(wù)代碼時(shí)認(rèn)為系統(tǒng)的業(yè)務(wù)邏輯比他之前接觸過(guò)的系統(tǒng)要復(fù)雜很多,積累的歷史遺留代碼量也很大,重構(gòu)的難度和工作量都要大。讀到這段時(shí)心里不禁在想,我們系統(tǒng)的業(yè)務(wù)邏輯有沒(méi)有可能比阿里的還要復(fù)雜?
架構(gòu)解決的是創(chuàng)新效率的問(wèn)題,舉個(gè)例子,要做個(gè)新業(yè)務(wù),如果需要100人年的成本,可能投資人會(huì)猶豫;如果是100人月的成本,就果斷決定投了。從這個(gè)角度說(shuō),一個(gè)優(yōu)秀的架構(gòu)已經(jīng)超出了效率本身的范疇,而是決定企業(yè)成敗的關(guān)鍵因素。所以說(shuō)卓越的IT績(jī)效已經(jīng)成為企業(yè)的競(jìng)爭(zhēng)優(yōu)勢(shì),將來(lái)可能所有的企業(yè)都會(huì)變成軟件企業(yè)。
最大的浪費(fèi)不是重復(fù)建設(shè),而是不斷重復(fù)建設(shè)。
公司的新產(chǎn)品版本不停的迭代演進(jìn),經(jīng)常在做顛覆性的架構(gòu)變化,也是遵循從單體應(yīng)用到分布式,最后到云化的微服務(wù)架構(gòu)的路線。上層的業(yè)務(wù)特性確實(shí)是在不斷重復(fù)研發(fā),存在這樣的浪費(fèi)。不過(guò)記得之前肖大師說(shuō)過(guò),V9基于云的微服務(wù)架構(gòu)將是終極架構(gòu),不會(huì)再推倒重來(lái)了(Serverless會(huì)有影響嗎?)。感覺(jué)這本書(shū)中說(shuō)到最后,講的就是阿里如何把自己的架構(gòu)演進(jìn)到微服務(wù)模式的,而亞馬遜是從2002年就開(kāi)始了這個(gè)演進(jìn),貝佐斯其實(shí)是個(gè)天才的架構(gòu)師,不過(guò)他對(duì)架構(gòu)的要求把工程師們折磨得半死,十年的磨煉成就了AWS。到現(xiàn)在微服務(wù)基本上成為事實(shí)上的架構(gòu)標(biāo)準(zhǔn)了(5G已經(jīng)把微服務(wù)架構(gòu)作為標(biāo)準(zhǔn)),DDD也隨之流行起來(lái)。
軟件研發(fā)方法、范式的演進(jìn),其實(shí)一直都在考慮和解決的就是重用的問(wèn)題,宏、函數(shù)/方法、類(lèi)、包;面向過(guò)程、面向?qū)ο?、面向切面、泛型、函?shù)式?,F(xiàn)在到架構(gòu),就是重用程度越來(lái)越高,粒度越來(lái)越大的過(guò)程。
談到最大的浪費(fèi),不記得這幾天在哪里看到的,認(rèn)為精益思想中提到的最大的浪費(fèi)其實(shí)是未能人盡其才,把公司中每個(gè)人的潛能都發(fā)揮出來(lái)。其實(shí)消除這種浪費(fèi)也是公司推行敏捷轉(zhuǎn)型的主要原因之一,即便每個(gè)人的潛能只是多發(fā)揮10%,公司也會(huì)變得很不一樣。有點(diǎn)跑題了,還是說(shuō)這本書(shū)。
第1章 阿里巴巴集團(tuán)中臺(tái)戰(zhàn)略引發(fā)的思考
阿里的中臺(tái)戰(zhàn)略是2015年底開(kāi)啟的,開(kāi)篇先講為什么,看來(lái)做什么事情都要遵循黃金圓環(huán)理論,從why開(kāi)始。
2015年年中,馬云帶著阿里高管拜訪了芬蘭的游戲公司Supercell,被震驚了。這個(gè)公司是典型的小團(tuán)隊(duì)運(yùn)作方式,每個(gè)獨(dú)立團(tuán)隊(duì)不超過(guò)7人(典型的Scrum團(tuán)隊(duì)規(guī)模),稱(chēng)之為Cell(細(xì)胞)。團(tuán)隊(duì)自己決定做什么樣的產(chǎn)品(自組織的團(tuán)隊(duì)),以最快的速度開(kāi)發(fā)出公測(cè)版,獲取用戶反饋(精益創(chuàng)業(yè)的模式),如果用戶不歡迎,迅速放棄這個(gè)產(chǎn)品(fail fast, fail cheap)。團(tuán)隊(duì)失敗時(shí)沒(méi)有懲罰和悲傷,反而會(huì)慶祝從失敗中學(xué)到了東西(容忍失敗的文化很重要)。這個(gè)模式使得Supercell成為年稅前利潤(rùn)15億美元的游戲公司(游戲產(chǎn)業(yè)真的好大)。這個(gè)公司有多少人呢?不超過(guò)200人。這個(gè)公司開(kāi)發(fā)過(guò)哪些游戲?有《部落戰(zhàn)爭(zhēng)》《海島奇兵》《卡通農(nóng)場(chǎng)》等(前兩個(gè)游戲我見(jiàn)過(guò)廣告,不過(guò)已經(jīng)過(guò)了玩游戲的年紀(jì),沒(méi)有玩過(guò))
這種強(qiáng)大的業(yè)務(wù)試錯(cuò)能力是Supercell相比于其他游戲公司最大的差別,也是最核心的競(jìng)爭(zhēng)力。
為什么Supercell能按這種模式運(yùn)作?是因?yàn)樗鼧?gòu)建的“中臺(tái)”能力,包括多年積累的非常科學(xué)的研發(fā)方法和體系(研發(fā)流程和方法也是核心競(jìng)爭(zhēng)力之一)。所以阿里后續(xù)確定了“厚平臺(tái),薄應(yīng)用”的中臺(tái)戰(zhàn)略。
其實(shí)大家都是在向美軍學(xué)習(xí)吧,通過(guò)加強(qiáng)后端支撐平臺(tái)的能力,向前方戰(zhàn)斗團(tuán)隊(duì)賦能,讓前方團(tuán)隊(duì)自行決策,以提高應(yīng)對(duì)復(fù)雜狀況的能力??吹椒墙衲晖扑]的第一本書(shū)就是美軍一位四星上將寫(xiě)的《賦能 打造應(yīng)對(duì)不確定性的敏捷團(tuán)隊(duì)》,后面也要讀讀這本書(shū)。

想到個(gè)小問(wèn)題,游戲和阿里的業(yè)務(wù)都是2C的,快速獲取用戶反饋相對(duì)容易,而2B的難度就大很多,涉及到客戶關(guān)系等復(fù)雜問(wèn)題(參考《Lean B2B》),所以是不是也不完全適用?公司里推行敏捷時(shí)也有類(lèi)似的聲音:“客戶并不需要我們持續(xù)交付,只要能按計(jì)劃交付就可以了”。對(duì)這個(gè)問(wèn)題,我自己的想法是修屋頂應(yīng)該在晴天,等到雨天就來(lái)不及了。不過(guò),陰天的時(shí)候是修還是不修呢?
1.1 阿里巴巴共享業(yè)務(wù)事業(yè)部的發(fā)展史
這部分講述了共享業(yè)務(wù)事業(yè)部的發(fā)展歷程。剛開(kāi)始成立這個(gè)部門(mén)時(shí)淘寶和天貓都不買(mǎi)賬,業(yè)務(wù)單位顯然話語(yǔ)權(quán)更大,下面這幅圖很形象:

然后聚劃算業(yè)務(wù)爆發(fā),阿里集團(tuán)出臺(tái)強(qiáng)制規(guī)定:
這時(shí)就出現(xiàn)了對(duì)于共享業(yè)務(wù)事業(yè)部歷史轉(zhuǎn)折點(diǎn)的一個(gè)舉措,集團(tuán)要求三大電商平臺(tái)如果要與聚劃算平臺(tái)進(jìn)行業(yè)務(wù)對(duì)接,必須通過(guò)共享業(yè)務(wù)事業(yè)部!
這個(gè)規(guī)則出現(xiàn)之后才真正把前端業(yè)務(wù)中公共、通用的業(yè)務(wù)沉淀到了事業(yè)部,真正形成“厚平臺(tái)”,如下圖:
image.png
架構(gòu)明細(xì)如下圖:
image.png
我猜測(cè)這個(gè)過(guò)程肯定不是一帆風(fēng)順的,會(huì)有很多博弈和扯皮的過(guò)程,因?yàn)槎嗔艘粚娱g接,共享業(yè)務(wù)事業(yè)部的人員并不是最貼近一線最了解業(yè)務(wù)的,那么一線的淘寶和天貓這樣的業(yè)務(wù)單位開(kāi)展新業(yè)務(wù)的速度應(yīng)該會(huì)比之前略慢,肯定會(huì)有不少抱怨的聲音。但是如果不是強(qiáng)制出臺(tái)規(guī)則做這個(gè)事情,各個(gè)業(yè)務(wù)單位的人力一定會(huì)不斷膨脹,重復(fù)開(kāi)發(fā)的浪費(fèi)會(huì)越來(lái)越大。集團(tuán)高層考慮的是整體優(yōu)化,各個(gè)業(yè)務(wù)單位考慮的是局部?jī)?yōu)化,兩者之間必然存在沖突。并且作為共享支撐單位,不可避免會(huì)面臨產(chǎn)能無(wú)法滿足所有業(yè)務(wù)單位要求的問(wèn)題,會(huì)不斷面臨質(zhì)疑,需要集團(tuán)領(lǐng)導(dǎo)有足夠堅(jiān)決的意志力堅(jiān)持這個(gè)決策才能推行下去。即便現(xiàn)在共享業(yè)務(wù)事業(yè)部已經(jīng)形成規(guī)模,應(yīng)該也還是會(huì)有這個(gè)問(wèn)題。所有的變更都需要自上而下的強(qiáng)力支持和推動(dòng)才能成功。
1.2 企業(yè)信息中心發(fā)展的癥結(jié)
經(jīng)過(guò)阿里巴巴多年打磨和驗(yàn)證過(guò)的這套共享服務(wù)體系可能是讓非互聯(lián)網(wǎng)行業(yè)的企業(yè)擺脫困境的最好出路。
我想這句話隱含的意思是阿里要把自己的這種能力對(duì)外輸出,確實(shí)如我所料,書(shū)中第三部分就是阿里的能力輸出與案例,有點(diǎn)類(lèi)似IBM以前向華為輸出IPD的感覺(jué),區(qū)別在于IPD是純方法論,中臺(tái)是有實(shí)際的軟件產(chǎn)品的。

