胡 敏
(江西省計(jì)算技術(shù)研究所,江西南昌 330003)
近年來(lái),隨著移動(dòng)互聯(lián)網(wǎng)和萬(wàn)物物聯(lián)〔1〕的發(fā)展,企業(yè)的數(shù)據(jù)積累呈爆炸性增長(zhǎng),并促使新的應(yīng)用形態(tài)產(chǎn)生。企業(yè)面向的業(yè)務(wù)需求越來(lái)越新奇多變,數(shù)據(jù)來(lái)源越來(lái)越復(fù)雜多元。大部分IT企業(yè)已經(jīng)開(kāi)始對(duì)數(shù)據(jù)資產(chǎn)有了認(rèn)識(shí),但傳統(tǒng)煙囪式系統(tǒng)架構(gòu)導(dǎo)致的數(shù)據(jù)孤島問(wèn)題成了企業(yè)實(shí)現(xiàn)數(shù)字化的掣肘。因此,打造企業(yè)中臺(tái)架構(gòu)成為當(dāng)下企業(yè)向數(shù)字化轉(zhuǎn)型的最佳出路。
IT企業(yè)在傳統(tǒng)軟件系統(tǒng)建設(shè)中的開(kāi)發(fā)路徑基本可以歸類(lèi)為:
1)需求提出:企業(yè)業(yè)務(wù)部門(mén)針對(duì)當(dāng)前業(yè)務(wù)發(fā)展或者問(wèn)題向企業(yè)IT部門(mén)提出IT系統(tǒng)建設(shè)需求。
2)需求調(diào)研:企業(yè)IT部門(mén)配合業(yè)務(wù)部門(mén)進(jìn)行需求調(diào)研工作,初步確定相關(guān)需求說(shuō)明。
3)組建IT實(shí)施團(tuán)隊(duì):通過(guò)招投標(biāo)的方式招募合適的IT解決方案提供商或者企業(yè)IT部門(mén)依靠自身的開(kāi)發(fā)團(tuán)隊(duì)為該項(xiàng)目組建實(shí)施團(tuán)隊(duì)。
4)系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)及測(cè)試:項(xiàng)目團(tuán)隊(duì)基于軟件項(xiàng)目實(shí)施流程進(jìn)行概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開(kāi)發(fā)、測(cè)試等相關(guān)工作。
5)系統(tǒng)上線運(yùn)維:系統(tǒng)順利上線后即進(jìn)入運(yùn)維狀態(tài),對(duì)存在的問(wèn)題進(jìn)行修復(fù)、升級(jí)或者進(jìn)行第二期的項(xiàng)目規(guī)劃。
新系統(tǒng)的建設(shè)沒(méi)有實(shí)現(xiàn)對(duì)企業(yè)原有IT資源的共享利用,像“煙囪”一樣矗立而成。特別是規(guī)模較大的IT企業(yè),內(nèi)部煙囪林立。“煙囪式”系統(tǒng)建設(shè)存在以下弊端:
1)數(shù)據(jù)模型、業(yè)務(wù)模塊的開(kāi)發(fā)和維護(hù)存在重復(fù)性,給企業(yè)帶來(lái)的成本以及IT團(tuán)隊(duì)資源浪費(fèi)。
2)業(yè)務(wù)發(fā)展必然要求打通“煙囪”之間的壁壘,實(shí)現(xiàn)內(nèi)部系統(tǒng)間互通互聯(lián)所帶來(lái)的協(xié)作和開(kāi)發(fā)成本較大。
3)本末倒置的“SOA”體系導(dǎo)致業(yè)務(wù)無(wú)法真正沉淀,核心業(yè)務(wù)“服役”期滿后推倒重建的現(xiàn)象頻頻出現(xiàn),導(dǎo)致多年來(lái)融入到該系統(tǒng)中的企業(yè)個(gè)性化、創(chuàng)新的業(yè)務(wù)邏輯和數(shù)據(jù)因?yàn)橄到y(tǒng)重構(gòu)而受損嚴(yán)重。
4)數(shù)據(jù)統(tǒng)一性不足:各個(gè)系統(tǒng)數(shù)據(jù)標(biāo)準(zhǔn)各異,數(shù)據(jù)報(bào)表準(zhǔn)確性很難保障。
5)數(shù)據(jù)實(shí)時(shí)性不足:各系統(tǒng)中數(shù)據(jù)冗余多,數(shù)據(jù)同步復(fù)制繁雜,很難發(fā)揮數(shù)據(jù)驅(qū)動(dòng)和優(yōu)化業(yè)務(wù)的價(jià)值。
這樣的軟件系統(tǒng)建設(shè)剛性有余,韌性不足:過(guò)度強(qiáng)調(diào)大規(guī)劃、大建設(shè)、大發(fā)展;注重標(biāo)準(zhǔn)化體系建設(shè),不考慮個(gè)性化應(yīng)用的體驗(yàn);用大系統(tǒng)替代分散系統(tǒng)實(shí)現(xiàn)整合;優(yōu)先支撐業(yè)務(wù)運(yùn)營(yíng)層面,過(guò)于強(qiáng)調(diào)數(shù)據(jù)應(yīng)用的完整和全面。
隨著互聯(lián)網(wǎng)的發(fā)展,各類(lèi)應(yīng)用軟件已經(jīng)進(jìn)入了VUCA時(shí)代,〔2〕其特點(diǎn)表現(xiàn)為易變性(Volatility)、不確定性(Uncertainty)、復(fù)雜性(Complexity)、模糊性(Ambiguity)。而要在VUCA時(shí)代處變不驚,關(guān)鍵在于能敏銳地感知環(huán)境、靈活地調(diào)整方向、積極地?fù)肀ё兓?/p>
從傳統(tǒng)IT建設(shè)方式的特點(diǎn)進(jìn)行探究,可以對(duì)新的軟件系統(tǒng)建設(shè)思路有所啟發(fā):確定總體規(guī)劃以快速應(yīng)用,快速迭代為目標(biāo);保證數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一,提高復(fù)用率;具備強(qiáng)大的服務(wù)能力,前端輕量化部署;實(shí)施大平臺(tái),輕部署;提供可擴(kuò)展的接入入口等。
企業(yè)中臺(tái)是由業(yè)務(wù)中臺(tái)和數(shù)據(jù)中臺(tái)構(gòu)建起數(shù)據(jù)閉環(huán)的運(yùn)營(yíng)體系,實(shí)現(xiàn)以數(shù)字化資產(chǎn)的形態(tài)構(gòu)建企業(yè)核心差異化競(jìng)爭(zhēng)力。業(yè)務(wù)中臺(tái)與數(shù)據(jù)中臺(tái)在企業(yè)中臺(tái)中的應(yīng)用如圖1所示。
圖1 企業(yè)中臺(tái)下數(shù)據(jù)中臺(tái)與業(yè)務(wù)中臺(tái)的應(yīng)用
數(shù)據(jù)中臺(tái)的概念由阿里巴巴首次提出,其內(nèi)涵是指為了提升業(yè)務(wù)高峰下應(yīng)對(duì)大規(guī)模數(shù)據(jù)量的可擴(kuò)展性,解決業(yè)務(wù)系統(tǒng)過(guò)于復(fù)雜的耦合問(wèn)題而進(jìn)行的組織機(jī)構(gòu)、技術(shù)應(yīng)用方面的改革創(chuàng)新?!?〕數(shù)據(jù)中臺(tái)本質(zhì)上還是一個(gè)平臺(tái),阿里稱之為“共享服務(wù)平臺(tái)(Shared Platform as Service,SPAS)”。為提升系統(tǒng)的擴(kuò)展性,SPAS采用的是基于面向服務(wù)SOA架構(gòu)的“去中心化”的分布式服務(wù)體系,所有的服務(wù)都是以“點(diǎn)對(duì)點(diǎn)”的方式進(jìn)行交互。
業(yè)務(wù)中臺(tái)是在充分結(jié)合行業(yè)特征的情況下,基于數(shù)據(jù)與技術(shù)積累適用于行業(yè)應(yīng)用的模型與產(chǎn)品,提供可復(fù)用的流程類(lèi)、交易類(lèi)服務(wù),促使業(yè)務(wù)交易同口徑、前端接入統(tǒng)一規(guī)范,提升迭代速度、開(kāi)發(fā)效率。
數(shù)據(jù)中臺(tái)與業(yè)務(wù)中臺(tái)相輔相成〔4〕:業(yè)務(wù)中臺(tái)維護(hù)業(yè)務(wù)處理類(lèi)(OLTP)數(shù)據(jù),并將共享數(shù)據(jù)同步至數(shù)據(jù)中臺(tái)。數(shù)據(jù)中臺(tái)存儲(chǔ)在線分析類(lèi)(OLAP)數(shù)據(jù),分析結(jié)果返回至業(yè)務(wù)中臺(tái);業(yè)務(wù)中臺(tái)、數(shù)據(jù)中臺(tái)通過(guò)統(tǒng)一的微服務(wù)網(wǎng)關(guān)對(duì)前端應(yīng)用提供微服務(wù)調(diào)用。
業(yè)務(wù)中臺(tái)將業(yè)務(wù)處理的規(guī)則、流程、邏輯等與前端應(yīng)用分離,并將后端的處理規(guī)則整合封裝成可復(fù)用的微服務(wù)、微組件,打造對(duì)前端友好的開(kāi)放共享能力,〔5〕賦予企業(yè)在業(yè)務(wù)增長(zhǎng)快、需求多變的環(huán)境下快速迭代、試錯(cuò)與創(chuàng)新的能力。業(yè)務(wù)中臺(tái)實(shí)現(xiàn)一切業(yè)務(wù)的數(shù)據(jù)化,承擔(dān)了企業(yè)所有的共性業(yè)務(wù)。業(yè)務(wù)中臺(tái)需根據(jù)整體業(yè)務(wù)內(nèi)容,合理提煉出一系列的微服務(wù)。每一個(gè)微服務(wù)即是一項(xiàng)業(yè)務(wù)能力,以微服務(wù)為單位展開(kāi)升級(jí)迭代可以達(dá)到更高的響應(yīng)速度和靈活性(見(jiàn)圖2)。
圖2 業(yè)務(wù)中臺(tái)的能力圖
圖3 數(shù)據(jù)中臺(tái)架構(gòu)圖
數(shù)據(jù)中臺(tái)從業(yè)務(wù)中臺(tái)等途徑接入數(shù)據(jù),通過(guò)搭建數(shù)據(jù)模型對(duì)數(shù)據(jù)進(jìn)行清洗、治理、組織、分析、統(tǒng)計(jì)、分發(fā)和應(yīng)用,再通過(guò)標(biāo)準(zhǔn)化管控流程使數(shù)據(jù)在結(jié)構(gòu)、分層、命名等方面形成統(tǒng)一的數(shù)據(jù)語(yǔ)言,然后制定分類(lèi)科學(xué)、標(biāo)準(zhǔn)統(tǒng)一、流程規(guī)范的數(shù)據(jù)組織方案,提高數(shù)據(jù)與數(shù)據(jù)之間的關(guān)聯(lián)度、數(shù)據(jù)與業(yè)務(wù)之間的緊密度,形成以實(shí)體為基礎(chǔ)、面向應(yīng)用的數(shù)據(jù)資源。數(shù)據(jù)中臺(tái)實(shí)現(xiàn)一切數(shù)據(jù)的業(yè)務(wù)化,打破數(shù)據(jù)溝通壁壘,為前端業(yè)務(wù)部門(mén)提供支撐,助其實(shí)現(xiàn)決策快速響應(yīng)以及精細(xì)化運(yùn)營(yíng)和應(yīng)用,更好地驅(qū)動(dòng)業(yè)務(wù)發(fā)展與創(chuàng)新。數(shù)據(jù)中臺(tái)是一套完善的數(shù)據(jù)運(yùn)營(yíng)機(jī)制,包含數(shù)據(jù)倉(cāng)庫(kù)體系、數(shù)據(jù)服務(wù)集等,加速數(shù)據(jù)向數(shù)據(jù)資產(chǎn)的價(jià)值轉(zhuǎn)變,通過(guò)數(shù)據(jù)智能使決策模式由“經(jīng)驗(yàn)驅(qū)動(dòng)”向“分析驅(qū)動(dòng)”轉(zhuǎn)變(見(jiàn)圖3)。
在數(shù)據(jù)中臺(tái)的概念興起之前,很多企業(yè)的大數(shù)據(jù)平臺(tái)早已隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的發(fā)展落地生根。為何要花費(fèi)不菲的代價(jià)構(gòu)建數(shù)據(jù)中臺(tái)?原因在于:大數(shù)據(jù)缺乏實(shí)際的應(yīng)用場(chǎng)景,在有應(yīng)用需求的情況下因要定制開(kāi)發(fā)而無(wú)法實(shí)現(xiàn)快速調(diào)用,無(wú)法實(shí)現(xiàn)業(yè)務(wù)的快速響應(yīng)。數(shù)據(jù)中臺(tái)的實(shí)施將助力大數(shù)據(jù)在行業(yè)應(yīng)用中發(fā)揮價(jià)值,以“數(shù)據(jù)驅(qū)動(dòng)”賦能業(yè)務(wù)發(fā)展并服務(wù)于企業(yè)。目前,有不少?gòu)S商已著手研究依托AI技術(shù)推動(dòng)數(shù)據(jù)中臺(tái)向智能化發(fā)展,這必將加速數(shù)據(jù)智能在各行各業(yè)的實(shí)際應(yīng)用。
企業(yè)中臺(tái)不只是一個(gè)技術(shù)上的概念,更可以說(shuō)是一把手工程,中臺(tái)的建設(shè)必須要結(jié)合組織機(jī)構(gòu)的優(yōu)化。中臺(tái)不僅專注于自身的業(yè)務(wù)能力,更關(guān)注業(yè)務(wù)流程的共享機(jī)制,因此中臺(tái)的建設(shè)要求業(yè)務(wù)流程的同步升級(jí)。中臺(tái)以共享為理念,涵蓋了三個(gè)方面的意義:1)面對(duì)需求變化作出快速響應(yīng)的管理理念與機(jī)制;2)基于服務(wù)流程調(diào)整崗位、組織機(jī)構(gòu)、部門(mén)職能的設(shè)計(jì);3)以共享服務(wù)中心的模式逐步沉淀共性業(yè)務(wù)和數(shù)據(jù)服務(wù)能力,實(shí)現(xiàn)數(shù)據(jù)、業(yè)務(wù)、服務(wù)“三位一體”的支撐功能。
企業(yè)中臺(tái)的建設(shè)以快速響應(yīng)業(yè)務(wù)變化為目的,通過(guò)以共享服務(wù)的方式為前端業(yè)務(wù)提供支撐,由統(tǒng)一的路由適配轉(zhuǎn)發(fā)服務(wù)接入請(qǐng)求。這就要求企業(yè)中臺(tái)在技術(shù)構(gòu)架上實(shí)現(xiàn)可拓展性、敏捷性、輕量化,通過(guò)服務(wù)編排實(shí)現(xiàn)前端的靈活調(diào)用。應(yīng)用分布式、微服務(wù)、容器云、DevOps、大數(shù)據(jù)等技術(shù),構(gòu)建高可用、高性能、高并發(fā)的架構(gòu),并遵循“高內(nèi)聚、松耦合”設(shè)計(jì)原則,可助力打造先進(jìn)實(shí)用的企業(yè)中臺(tái)架構(gòu)。構(gòu)建企業(yè)中臺(tái)所需要的技術(shù)支撐如圖4所示。容器云提供開(kāi)發(fā)、測(cè)試、運(yùn)行的統(tǒng)一環(huán)境,可實(shí)現(xiàn)服務(wù)的快速部署,并提供運(yùn)行時(shí)的服務(wù)管理、調(diào)度管理和統(tǒng)一接入,屏蔽基礎(chǔ)層的復(fù)雜性。DevOps提供開(kāi)發(fā)運(yùn)維一體化管理,解決業(yè)務(wù)敏捷響應(yīng)、產(chǎn)品快速迭代的問(wèn)題,支持微服務(wù)下的架構(gòu)監(jiān)控、自動(dòng)化和運(yùn)維管理。微服務(wù)治理提供微服務(wù)架構(gòu)編程模型和最佳實(shí)踐,并提供服務(wù)日志的全鏈條監(jiān)控、統(tǒng)計(jì)和分析。
圖4 中臺(tái)架構(gòu)技術(shù)支持
企業(yè)中臺(tái)利用SOA服務(wù)架構(gòu)實(shí)現(xiàn)服務(wù)的共享、復(fù)用,賦予企業(yè)快速響應(yīng)和試錯(cuò)創(chuàng)新的業(yè)務(wù)能力?!?〕SOA的本質(zhì)是開(kāi)放系統(tǒng)專屬功能,以公共服務(wù)的形式供其它應(yīng)用調(diào)用。企業(yè)中臺(tái)通過(guò)對(duì)平臺(tái)數(shù)字能力進(jìn)行再分工再沉淀,以統(tǒng)一管理的方式為前臺(tái)快速提供支撐資源,為企業(yè)快速響應(yīng)市場(chǎng)變化提供保障。業(yè)務(wù)中臺(tái)的建設(shè)對(duì)企業(yè)已有的業(yè)務(wù)流程具有一定的破壞性,流程再造的過(guò)程需要消耗一定的構(gòu)建成本。
企業(yè)中臺(tái)建設(shè)有以下三種方案:
1)保留原有系統(tǒng),在建設(shè)新系統(tǒng)的過(guò)程中搭建中臺(tái)架構(gòu),逐步沉淀企業(yè)獨(dú)有的核心業(yè)務(wù)能力,在時(shí)機(jī)恰當(dāng)?shù)臅r(shí)候逐漸改造原有系統(tǒng),并將改造后的系統(tǒng)逐步遷移至中臺(tái)架構(gòu)。采用該建設(shè)方案的典型代表有中國(guó)石化、廣東國(guó)稅等。
2)在保證現(xiàn)有系統(tǒng)正常運(yùn)營(yíng)的同時(shí),分批分次地構(gòu)建中臺(tái)共享服務(wù)中心,逐步完善中臺(tái)架構(gòu)的建設(shè)以及系統(tǒng)的升級(jí)改造。采用該建設(shè)方案的典型代表有淘寶、波司登等。
3)直接以中臺(tái)架構(gòu)的模式建設(shè)新的系統(tǒng),并替換掉落伍的老系統(tǒng),用該建設(shè)方案的典型代表有特步、顧家家居等。
IT企業(yè)的中臺(tái)架構(gòu)設(shè)計(jì)方案如圖5所示:
圖5 中臺(tái)架構(gòu)設(shè)計(jì)方案
中臺(tái)架構(gòu)涵蓋了多方面的技術(shù)應(yīng)用,運(yùn)用技術(shù)服務(wù)專業(yè)化的理念,可充分利用市場(chǎng)上已有的成熟技術(shù)方案與產(chǎn)品來(lái)實(shí)現(xiàn)中臺(tái)架構(gòu)的建設(shè)。在網(wǎng)絡(luò)層,需要考慮和IT基礎(chǔ)設(shè)施平臺(tái)的對(duì)接,可以采用Overlay疊加虛擬化技術(shù),在既有的物理網(wǎng)絡(luò)之上構(gòu)建一個(gè)虛擬網(wǎng)絡(luò),避免對(duì)基礎(chǔ)網(wǎng)絡(luò)架構(gòu)的大規(guī)模修改;在存儲(chǔ)層,計(jì)算存儲(chǔ)分離支持非等比擴(kuò)展可更好地滿足大規(guī)模和集約化的需求,能夠增強(qiáng)大數(shù)據(jù)的數(shù)據(jù)處理和容災(zāi)的能力,建議選擇計(jì)算存儲(chǔ)分離部署路線;在計(jì)算層,Docker已經(jīng)成為容器的事實(shí)標(biāo)準(zhǔn);在基礎(chǔ)設(shè)施即服務(wù)(IaaS)平臺(tái)層,OpenStack云計(jì)算平臺(tái)提供了IaaS的解決方案,每個(gè)服務(wù)以API接口進(jìn)行集成,兼容性好;在大數(shù)據(jù)處理方面,強(qiáng)大的Hadoop生態(tài),已成為大數(shù)據(jù)應(yīng)用開(kāi)發(fā)廠商的首選平臺(tái);在應(yīng)用編排與調(diào)度方面,Kubernetes已成為應(yīng)用編排與調(diào)度領(lǐng)域事實(shí)標(biāo)準(zhǔn),是應(yīng)用開(kāi)發(fā)商首選平臺(tái)。
九江職業(yè)技術(shù)學(xué)院學(xué)報(bào)2020年3期