在前幾天,我專(zhuān)門(mén)寫(xiě)了一篇文章談企業(yè)數(shù)字化技術(shù)發(fā)展趨勢(shì)分析,整個(gè)分析比較宏觀。今天主要還是想聚焦回IT和信息化部門(mén),探討下數(shù)字化轉(zhuǎn)型下的IT架構(gòu)和能力重構(gòu)。
在談這個(gè)這個(gè)話題前,首先還是對(duì)去年我在華南CIO大會(huì)上演講時(shí)候談到的企業(yè)IT從SOA和云計(jì)算發(fā)展到當(dāng)前云原生下的一個(gè)演進(jìn)趨勢(shì)做下總結(jié)。
具體的文章可以參考:
傳統(tǒng)IT架構(gòu)轉(zhuǎn)型-從SOA和微服務(wù)到云原生解決方案實(shí)踐
這篇文章可以看做是在平臺(tái)+應(yīng)用,從內(nèi)部集成到開(kāi)放互聯(lián)下,我對(duì)整個(gè)企業(yè)內(nèi)部IT平臺(tái)化思路的一些總結(jié)。但是這篇總結(jié)里面少了對(duì)于企業(yè)整體IT架構(gòu),業(yè)務(wù)和IT組織架構(gòu)優(yōu)化方面的一些思考。因此今天再寫(xiě)這篇文章進(jìn)一步說(shuō)明。
從SOA和云計(jì)算到云原生技術(shù)架構(gòu)
對(duì)于SOA面向服務(wù)架構(gòu),其核心是一種架構(gòu)思想。這個(gè)思想簡(jiǎn)單來(lái)說(shuō)就是希望實(shí)現(xiàn)業(yè)務(wù)和IT的解耦,即業(yè)務(wù)流程或業(yè)務(wù)流程的實(shí)現(xiàn)最好是能夠靈活地組裝或復(fù)用已有的業(yè)務(wù)服務(wù)能力。
因此你可以看到為了實(shí)現(xiàn)這個(gè)思想你需要做兩件事情:
其一是構(gòu)建一個(gè)可復(fù)用的服務(wù)能力庫(kù)
其二是對(duì)服務(wù)組裝和編排,形成業(yè)務(wù)流程
因此SOA的重點(diǎn)是應(yīng)用構(gòu)建的模式發(fā)生了變化,從傳統(tǒng)縱向煙囪式的構(gòu)建,轉(zhuǎn)變?yōu)榱藱M向分層按原子服務(wù)-組合服務(wù)-流程服務(wù)的分層構(gòu)建模式。在這個(gè)構(gòu)建模式中本身又通過(guò)服務(wù)來(lái)實(shí)現(xiàn)了關(guān)鍵的業(yè)務(wù)和技術(shù)的解耦。
再次強(qiáng)調(diào)下SOA是一種思想,并不是特指SOA集成平臺(tái)或ESB總線。不論信息技術(shù)如何發(fā)展演進(jìn),可以看到SOA這種通過(guò)服務(wù)分層解耦的思想始終存在,并不斷發(fā)揮作用。
最近幾年,每當(dāng)我跟別人討論SOA的時(shí)候,都會(huì)收到SOA思想過(guò)時(shí),現(xiàn)在流行中臺(tái)或微服務(wù)的聲音,也希望這些人真正能夠沉下心來(lái)好好理解下架構(gòu)思想。
當(dāng)討論清楚SOA,再來(lái)看下云計(jì)算。簡(jiǎn)單來(lái)講云計(jì)算的核心思想就是共性能力集中化建設(shè),建設(shè)完成后再以服務(wù)的方式提供給你使用。
IT即服務(wù)
這個(gè)服務(wù)最初的形態(tài)僅僅是IaaS層的資源能力作為服務(wù),而發(fā)展演進(jìn)過(guò)程可以看到整個(gè)服務(wù)能力的提供不斷在上移。從資源層能力到提供平臺(tái)層能力,從平臺(tái)層能力到直接提供SaaS應(yīng)用服務(wù)等。
但是不論是哪一層,云計(jì)算核心思想始終都在于原來(lái)在終端或邊緣端的能力全部遷移到云端進(jìn)行統(tǒng)一提供和服務(wù)。SOA在強(qiáng)調(diào)已有能力集成,而云計(jì)算強(qiáng)調(diào)的是廢棄已有能力,重新構(gòu)建新能力再以服務(wù)的方式進(jìn)行開(kāi)放。
我們舉個(gè)例子來(lái)理解下,比如企業(yè)內(nèi)部IT,原來(lái)構(gòu)建了OA系統(tǒng),OA系統(tǒng)工作流引擎能力很強(qiáng)大,因此后續(xù)構(gòu)建的其它應(yīng)用都在集成或復(fù)用OA系統(tǒng)的流程引擎能力。這個(gè)即典型的SOA思想。如果我們將OA系統(tǒng)中的流程引擎剝離出來(lái),充分考慮多租戶(hù),安全,管控需求統(tǒng)一構(gòu)建一個(gè)公共流程平臺(tái),再對(duì)外提供服務(wù),那么即云計(jì)算的思想。
在把前面的基礎(chǔ)概念講清楚后,我們?cè)賮?lái)回顧下企業(yè)IT架構(gòu)演進(jìn)過(guò)程。
即最初可能只是實(shí)現(xiàn)了IaaS虛擬化資源池,但是業(yè)務(wù)系統(tǒng)仍然是縱向獨(dú)立構(gòu)建。到了第二階段開(kāi)始規(guī)劃PaaS平臺(tái),實(shí)現(xiàn)中間件資源池,一些類(lèi)似4A,流程等共性技術(shù)服務(wù)能力的下沉。但是業(yè)務(wù)系統(tǒng)本身各個(gè)業(yè)務(wù)模塊仍然緊耦合,同時(shí)業(yè)務(wù)系統(tǒng)里面還是存在一個(gè)私有的技術(shù)平臺(tái)層。
而到了第三個(gè)階段,目標(biāo)就是業(yè)務(wù)系統(tǒng)里面的技術(shù)平臺(tái)層全部移出到PaaS平臺(tái),這樣業(yè)務(wù)系統(tǒng)可以徹底組件化大拆小,采用微服務(wù)架構(gòu)進(jìn)行設(shè)計(jì),開(kāi)發(fā)和集成。由于業(yè)務(wù)系統(tǒng)微服務(wù)化,顆粒度更小,因此PaaS平臺(tái)本身也演進(jìn)到更加輕量高效的容器云平臺(tái)。
在微服務(wù)模塊應(yīng)用開(kāi)發(fā)和容器云平臺(tái)之間,我們需要一個(gè)銜接的平臺(tái),即我們常說(shuō)的覆蓋軟件需求,設(shè)計(jì),開(kāi)發(fā),測(cè)試,部署,交付完整生命周期的支撐平臺(tái)。
所以從上圖里面我們也可以清楚地看到,最底層對(duì)應(yīng)到容器云,中間是DevOps,最上層是微服務(wù),而這三點(diǎn)也就是我們當(dāng)前說(shuō)的云原生解決方案最核心的內(nèi)容。
數(shù)字化轉(zhuǎn)型下的IT架構(gòu)演進(jìn)
數(shù)字化轉(zhuǎn)型,數(shù)字化很重要,但是轉(zhuǎn)型兩個(gè)字更加重要。
轉(zhuǎn)型時(shí)刻都在告訴你你不是從0到1,而是你已有業(yè)務(wù)運(yùn)作,已有IT系統(tǒng)和能力。你需要思考的是在新數(shù)字化趨勢(shì)下如何去轉(zhuǎn)變和重構(gòu),而不是全新建設(shè)。
數(shù)字化轉(zhuǎn)型一定不要按全新建設(shè)方式來(lái)討論,否則沒(méi)有意義,或者簡(jiǎn)單來(lái)講即使做了大而全的規(guī)劃也服務(wù)真正落地實(shí)施。如何基于企業(yè)當(dāng)前已有的業(yè)務(wù)和IT情況,在滿足業(yè)務(wù)場(chǎng)景和目標(biāo)情況下,對(duì)已有內(nèi)容進(jìn)行重構(gòu),并最大化保留當(dāng)前遺留的IT資產(chǎn)才是重點(diǎn)。
在數(shù)字化轉(zhuǎn)型中,企業(yè)傳統(tǒng)IT架構(gòu)演進(jìn)的變化趨勢(shì)如上圖所示。
傳統(tǒng)的IT架構(gòu),集成為主要訴求
傳統(tǒng)企業(yè)IT一般IaaS層虛擬化的事情都做了,那么企業(yè)內(nèi)部IT有無(wú)構(gòu)建技術(shù)平臺(tái)?實(shí)際上稍微信息化有發(fā)展基礎(chǔ)的企業(yè)一般都構(gòu)建了自己的技術(shù)平臺(tái),比如構(gòu)建了統(tǒng)一的流程平臺(tái),也實(shí)施了ESB服務(wù)總線等。
這些技術(shù)平臺(tái)統(tǒng)一規(guī)劃建設(shè),和業(yè)務(wù)無(wú)關(guān),因此有效了避免了核心底層技術(shù)能力重復(fù)建設(shè)的問(wèn)題,這個(gè)思路已經(jīng)是云計(jì)算下構(gòu)建PaaS平臺(tái)的思路。
雖然核心技術(shù)能力統(tǒng)一建設(shè),但是企業(yè)內(nèi)部業(yè)務(wù)系統(tǒng)基本仍然是按照煙囪式的方式縱向獨(dú)立建設(shè),建設(shè)完成的業(yè)務(wù)系統(tǒng)再通過(guò)類(lèi)似ESB總線進(jìn)行接口集成。也就是說(shuō)在這個(gè)階段,ESB更多解決的是接口集成問(wèn)題,而不是服務(wù)共享問(wèn)題。
新架構(gòu)下的演進(jìn)-從SOA到云
在新架構(gòu)下實(shí)際上出現(xiàn)了一些顯著的變化。
對(duì)于平臺(tái)層可以看到隨著微服務(wù),容器云,DevOps等各種云原生技術(shù)的推進(jìn)。我們將技術(shù)平臺(tái)層演進(jìn)到云原生技術(shù)平臺(tái)。
在這個(gè)階段不僅僅是簡(jiǎn)單的4A或流程引擎,更加重要的是輕量的容器云PaaS平臺(tái),類(lèi)似數(shù)據(jù)庫(kù),緩存,消息等各種技術(shù)服務(wù)能力提供。同時(shí)應(yīng)用在微服務(wù)化后,提供一套服務(wù)完整的應(yīng)用從需求到開(kāi)發(fā),從測(cè)試,集成到交付全生命周期的DevOps支撐能力平臺(tái)。
也就是說(shuō)我們提供的技術(shù)底座能力首先要加強(qiáng)。
在底層技術(shù)底座思考清楚后再回到IT應(yīng)用這層。對(duì)于IT系統(tǒng)這層一個(gè)指導(dǎo)思想就是不應(yīng)該是全部廢棄掉,而是如何重構(gòu)。基于上圖,實(shí)際上已經(jīng)表達(dá)出來(lái)IT重構(gòu)的一個(gè)關(guān)鍵思想,簡(jiǎn)單總結(jié)就是:
企業(yè)已有的圍繞ERP核心系統(tǒng)的應(yīng)用群下沉為核心的中臺(tái)層能力,同時(shí)進(jìn)一步梳理和識(shí)別可復(fù)用的能力接口,通過(guò)能力開(kāi)放平臺(tái)暴露給前端應(yīng)用使用。新構(gòu)建的應(yīng)用不是簡(jiǎn)單的使用微服務(wù),云原生技術(shù),而是應(yīng)該最大化的使用底層已有的業(yè)務(wù)服務(wù)和數(shù)據(jù)服務(wù)能力來(lái)構(gòu)建。
說(shuō)來(lái)說(shuō)去,還是SOA和云計(jì)算的思想。
可以看到企業(yè)原有IT能力下沉,共性能力提取是重點(diǎn)。其次就是從以集成為目標(biāo)的ESB總線演進(jìn)發(fā)展為提供共性服務(wù)接口的能力開(kāi)放平臺(tái)。同時(shí)可以看到,新思路的重點(diǎn)是新應(yīng)用構(gòu)建獨(dú)立化,通過(guò)微服務(wù)方式快速構(gòu)建和交付。
比如我們需要面對(duì)特定的B端客戶(hù),提供一個(gè)銷(xiāo)售類(lèi)APP應(yīng)用。那么這個(gè)時(shí)候我們不是在傳統(tǒng)的CRM系統(tǒng)上擴(kuò)展模塊,而是獨(dú)立構(gòu)建一個(gè)微服務(wù)應(yīng)用。這個(gè)應(yīng)用本身也會(huì)生成訂單,但是訂單屬于底層核心數(shù)據(jù),訂單本身屬于后臺(tái)CRM系統(tǒng)統(tǒng)一管理。那么后端就應(yīng)該圍繞訂單提供完整的API接口能力開(kāi)放給前端應(yīng)用。
后端提供的能力足夠穩(wěn)定和可復(fù)用,那么前端應(yīng)用構(gòu)建速度就可以足夠快和敏捷。再次理解下就是后端能力不用基于多變的業(yè)務(wù)場(chǎng)景去進(jìn)行變更了,而是提供穩(wěn)定的后端共性能力,基于業(yè)務(wù)需求和場(chǎng)景的變化交給前端應(yīng)用來(lái)做。
前端應(yīng)用需要的就是短平快,但是前提是后端給力。
數(shù)字化轉(zhuǎn)型下的IT組織演進(jìn)
對(duì)于很多企業(yè)來(lái)說(shuō)一般以業(yè)務(wù)核心價(jià)值鏈為導(dǎo)向,企業(yè)內(nèi)部的IT部門(mén)往往是成本中心,一般也沒(méi)有太多的話語(yǔ)權(quán)。IT部門(mén)更多的是提供IT服務(wù)能力,快速地響應(yīng)業(yè)務(wù)部門(mén)的業(yè)務(wù)需求,并通過(guò)IT應(yīng)用或系統(tǒng)去實(shí)現(xiàn)。
而在新的數(shù)字化轉(zhuǎn)型趨勢(shì)下,IT組織架構(gòu)本身也需要進(jìn)行調(diào)整,即將傳統(tǒng)的基于ERP為核心的應(yīng)用系統(tǒng)下沉為企業(yè)底層后臺(tái)能力中心。而圍繞具體的市場(chǎng)需求和業(yè)務(wù)場(chǎng)景來(lái)構(gòu)建上層的多個(gè)業(yè)務(wù)人員+IT人員+運(yùn)營(yíng)整合的高度垂直化的細(xì)分團(tuán)隊(duì)。
簡(jiǎn)單來(lái)說(shuō)你可以看到,原來(lái)IT部門(mén)的人進(jìn)行了拆分。
對(duì)于原來(lái)本身做的IT系統(tǒng)就比較偏穩(wěn)定的后臺(tái)類(lèi)功能的人員就保留在IT部門(mén),下沉到IT后端能力提供中心中。而對(duì)于另外一部分需要業(yè)務(wù)敏捷響應(yīng),需要快速地開(kāi)發(fā)定制應(yīng)用的IT人員則單獨(dú)劃分出來(lái),歸并到上層的業(yè)務(wù)團(tuán)隊(duì)里面。
簡(jiǎn)單來(lái)說(shuō)就是基于市場(chǎng)和業(yè)務(wù)場(chǎng)景的需求,我們構(gòu)建一個(gè)個(gè)獨(dú)立的能夠快速響應(yīng)市場(chǎng)和客戶(hù)需求的敏捷業(yè)務(wù)單元。這個(gè)敏捷業(yè)務(wù)單元本身就是業(yè)務(wù)人員,技術(shù)人員和運(yùn)營(yíng)人員就是強(qiáng)綁定在一起的,形成敏捷鐵三角。
這個(gè)敏捷業(yè)務(wù)單元實(shí)際和當(dāng)前很多做互聯(lián)網(wǎng)SaaS應(yīng)用的小組織完全類(lèi)似。
也就是說(shuō)在企業(yè)內(nèi)部,為了應(yīng)對(duì)數(shù)字化轉(zhuǎn)型,擴(kuò)展自己的連接范圍,擴(kuò)展對(duì)客戶(hù)的觸達(dá)或?qū)φ麄€(gè)上下游供應(yīng)鏈的觸達(dá)能力,快速的基于業(yè)務(wù)需求來(lái)構(gòu)建新的商業(yè)模式。企業(yè)內(nèi)部在孵化類(lèi)似互聯(lián)網(wǎng)這種小的互聯(lián)網(wǎng)SaaS團(tuán)隊(duì)。
這種SaaS小團(tuán)隊(duì)足夠敏捷,直接面對(duì)市場(chǎng),但是本身又依托企業(yè)原有IT系統(tǒng)建設(shè)沉淀下的后端IT服務(wù)能力。還是拿前面的例子進(jìn)一步說(shuō)明。
當(dāng)我們經(jīng)過(guò)市場(chǎng)調(diào)用分析,決策做了一個(gè)數(shù)字化營(yíng)銷(xiāo)新應(yīng)用拓展B端客戶(hù)和市場(chǎng)。這個(gè)時(shí)候我們快速組建了一個(gè)團(tuán)隊(duì)或小組織,這個(gè)團(tuán)隊(duì)里面業(yè)務(wù)人員,IT技術(shù)人員和運(yùn)營(yíng)人員全部打包在一起,商量業(yè)務(wù)模式,運(yùn)營(yíng)方法和需要提供的IT應(yīng)用。而企業(yè)原來(lái)的后端IT系統(tǒng)能力僅僅提供可復(fù)用的開(kāi)放能力接口給這個(gè)敏捷團(tuán)隊(duì)使用。
當(dāng)把這個(gè)點(diǎn)想通了,整個(gè)傳統(tǒng)企業(yè)IT架構(gòu)如何配合數(shù)字化轉(zhuǎn)型,如何在整個(gè)數(shù)字化轉(zhuǎn)型實(shí)施過(guò)程中,在既要保證足夠的業(yè)務(wù)敏捷性需求并開(kāi)放互聯(lián),同時(shí)又要保證企業(yè)遺留IT資產(chǎn)的重復(fù)利用這兩件事間才能夠真正找到一個(gè)關(guān)鍵的平衡點(diǎn)。