BaaS后端即服務(wù) - 中臺篇

前面BaaS的文章鋪墊了BaaS的體系,架構(gòu),和實踐。 在本篇我們將關(guān)注如果在阿里的技術(shù)體系構(gòu)建BaaS平臺,如果把BaaS作為中臺的實現(xiàn)架構(gòu)之一, 并探討什么樣的中臺系統(tǒng)可以滿足我們的設(shè)計目標(biāo)。

中臺是以BaaS架構(gòu)的能力超市

大中臺戰(zhàn)略形象的說就是要把內(nèi)部的能力以類似現(xiàn)代化超市的方式管理起來。通過合理布局,統(tǒng)一管理,給客戶(業(yè)務(wù))最好的體驗,對商品(能力)的采購能競爭和監(jiān)控,對商品(能力)的消費實時計算監(jiān)控統(tǒng)計分析。

按照這個思路,我們可以逐步構(gòu)思大中臺的所需要的規(guī)劃。

梳理內(nèi)部的能力布局,做好能力管理(布局)

為能力的管理統(tǒng)一標(biāo)準(zhǔn)

這些技術(shù)體系和能力需要有個方法學(xué)指導(dǎo)來梳理,使我們對自己目前的能力清晰可控,在此基礎(chǔ)上我們在去規(guī)劃重構(gòu),構(gòu)建大中臺,從而為這些能力的高效實用提供基礎(chǔ)。

我們可以依賴領(lǐng)域?qū)ο笤O(shè)計和云計算架構(gòu)兩個維度來做梳理。領(lǐng)域?qū)ο笤O(shè)計用來梳理業(yè)務(wù)維度, 云計算架構(gòu)用來梳理部署維度。

領(lǐng)域?qū)ο笞钪匾囊稽c是對象包含屬性和行為,將自身的狀態(tài)和導(dǎo)致狀態(tài)改變的行為都封裝在該對象內(nèi)。所以我們說領(lǐng)域?qū)ο髸r候,除了說這個對象實體本身外,還代表他的行為,也就是常說的"能力”。

后續(xù)我們說能力的時候,其實也代表這個領(lǐng)域?qū)ο?,能力是有對象自有的?/p>

首先梳理所屬業(yè)務(wù)系統(tǒng)的整理工作,我們能夠?qū)?nèi)部系統(tǒng)所具有的能力按照清晰的層次維度劃分出來。在此也提出自己覺得比較簡單清晰的方法:

我們在設(shè)計一個系統(tǒng)的時候,會根據(jù)系統(tǒng)功能的層次,劃分為基礎(chǔ)平臺,領(lǐng)域平臺和業(yè)務(wù)平臺。

基礎(chǔ)平臺會提供一些純技術(shù)底層的功能,比如搜索,消息,數(shù)據(jù)存儲等。
領(lǐng)域平臺會提供某個行業(yè)領(lǐng)域的領(lǐng)域模型,比如電商的交易領(lǐng)域模型,社交的社交領(lǐng)域模型。
業(yè)務(wù)平臺這是利用領(lǐng)域模型提供的能力,具體實現(xiàn)業(yè)務(wù)的平臺。比如全球購是使用電商交易領(lǐng)域模型實現(xiàn)的一個電商業(yè)務(wù)平臺。

為了更進(jìn)一步方便理解, 我想用大學(xué)的學(xué)科設(shè)置來進(jìn)行類比:
比如在大學(xué)里,

我們有一些基礎(chǔ)學(xué)科:如數(shù)學(xué)系,物理系,化學(xué)系等,基本其他的所有學(xué)科都離不開這些基礎(chǔ)學(xué)科提供的知識。這些系在一些綜合性大學(xué)里會屬于一個基礎(chǔ)學(xué)院如“理學(xué)院”,培養(yǎng)一些基礎(chǔ)研究人員。

在這些基礎(chǔ)學(xué)院之外,各個工業(yè)科學(xué)領(lǐng)域都會有響應(yīng)的學(xué)院設(shè)置,比如航空航天學(xué)院,包含航空航天領(lǐng)域的學(xué)科設(shè)置。電子工程學(xué)院,會包含電子行業(yè)領(lǐng)域的學(xué)科設(shè)計,醫(yī)學(xué)院,代表醫(yī)療領(lǐng)域的學(xué)院。這些其實就是領(lǐng)域?qū)W院,代表某個行業(yè)領(lǐng)域的學(xué)科設(shè)置。 大家都知道,這種學(xué)院一般都講授該行業(yè)領(lǐng)域的基礎(chǔ)知識,培養(yǎng)行業(yè)領(lǐng)域?qū)<摇?/p>

在往上分層,有些學(xué)科會非常貼近就業(yè)市場,會有些和具體行業(yè)業(yè)務(wù)相關(guān)學(xué)科設(shè)置,比如一些??圃盒3S械奈锪鞴芾?,旅游管理,航空管理等專業(yè),培養(yǎng)具體業(yè)務(wù)人才。

這樣類比可能會對大家理解業(yè)務(wù)系統(tǒng)分層有幫助,當(dāng)你想不清楚時,就想想你該讀什么院系。

能力大學(xué)

那么我們就假設(shè)我們需要對這座大學(xué)的院系學(xué)科進(jìn)行劃分,首先我們這個大學(xué)會有3個學(xué)院,
基礎(chǔ)能力學(xué)院,領(lǐng)域能力學(xué)院,業(yè)務(wù)能力學(xué)院。

基礎(chǔ)能力學(xué)院

baas_43

在這個學(xué)院里,我們會根據(jù)能力種類的不同,設(shè)置不同的能力系,比如數(shù)據(jù)系,專門培養(yǎng)數(shù)據(jù)相關(guān)的基礎(chǔ)能力。NPL系,培養(yǎng)算法相關(guān)的基礎(chǔ)能力,規(guī)則系,培養(yǎng)規(guī)則相關(guān)的基礎(chǔ)能力。

領(lǐng)域能力學(xué)院

baas_44

在這個學(xué)院,主要按照行業(yè)領(lǐng)域來劃分,比如電子商務(wù)行業(yè),醫(yī)療健康行業(yè),這些特定的行業(yè)里有自己特殊的領(lǐng)域?qū)ο蟆?在電商行業(yè)里,我們會有會員,店鋪,商品,訂單等領(lǐng)域?qū)ο?,利用這些對象具有的能力來構(gòu)建交易領(lǐng)域平臺。利用招商活動等領(lǐng)域?qū)ο髞順?gòu)建招商平臺。在旅游行業(yè),我們會定義機(jī)票,度假,門票,火車票等領(lǐng)域?qū)ο螅脕順?gòu)建旅游領(lǐng)域平臺功能。

這些領(lǐng)域平臺可以作為內(nèi)部業(yè)務(wù)的領(lǐng)域能力,同時也可以開發(fā)給外部的業(yè)務(wù)方。 比如我們可以把物流領(lǐng)域能力除了給菜鳥提供領(lǐng)域能力外,還可以給外部的物流企業(yè)如順豐等快速開發(fā)物流相關(guān)的業(yè)務(wù)。

業(yè)務(wù)能力學(xué)院

baas_45

在這個學(xué)院,面向的是具體的業(yè)務(wù)領(lǐng)域,培養(yǎng)特定的業(yè)務(wù)能力。比如我們會有個旅行系,利用旅行領(lǐng)域提供的機(jī)票能力,開發(fā)旅行的機(jī)票業(yè)務(wù)。菜鳥系,會利用物流領(lǐng)域提供的物流相關(guān)領(lǐng)域?qū)ο?,開發(fā)菜鳥的物流業(yè)務(wù)。

另外一個維度,我們可以考慮云計算架構(gòu)分層,并和領(lǐng)域?qū)ο蠓謱訉?yīng)起來,可以跟方便大家理解,清晰劃分。


baas_cloud

按照IAAS-> PAAS -> BAAS -> SAAS分層:

  • IaaS提供系統(tǒng)的物理部署能力
  • PaaS層主要提供基礎(chǔ)平臺的能力
  • BaaS層主要提供領(lǐng)域平臺的能力
  • SaaS層也主要提供領(lǐng)域平臺的能力,相對于BaaS提供更完整的領(lǐng)域能力,將整個領(lǐng)域的解決方案作為軟件提供給業(yè)務(wù)方。

業(yè)務(wù)方應(yīng)用這是寄主在BaaS或者PaaS的業(yè)務(wù)應(yīng)用。BaaS和SaaS也會提供對業(yè)務(wù)應(yīng)用的管理,保證多租戶,數(shù)據(jù)隔離等。

按照這兩種思路我們就可以更好的理解系統(tǒng)和定位,比如招商系統(tǒng),他是依賴電商領(lǐng)域BaaS能力構(gòu)建的SaaS方案,他應(yīng)該屬于領(lǐng)域能力學(xué)院的電商系,按照SaaS方式構(gòu)建。

在業(yè)務(wù)能力學(xué)院的淘寶系,就可以在這個SaaS基礎(chǔ)上創(chuàng)建淘寶招商業(yè)務(wù)系統(tǒng),天貓系可以構(gòu)建天貓招商業(yè)務(wù)系統(tǒng)。

為能力在系統(tǒng)中的實現(xiàn)建立標(biāo)準(zhǔn)封裝載體(系統(tǒng))

為能力的實現(xiàn)統(tǒng)一標(biāo)準(zhǔn)。

在上一節(jié)布局中,我們有了方法學(xué)指導(dǎo)我們規(guī)劃,可以從宏觀上布局集團(tuán)的能力。現(xiàn)在我們要回到各個系統(tǒng),為能力的承載實現(xiàn)提供指導(dǎo)辦法。

中臺的一個主要能力,需要對阿里的各個系統(tǒng)能力進(jìn)行監(jiān)控運維,比如我們需要把某個能力下線,從線上系統(tǒng)到代碼,這就需要我們能有某種標(biāo)準(zhǔn),這個能力是以某種約定形式封裝,就像Eclipse的plugin&feature功能一樣。

plugin是能力部件,用來封裝具體能力的實現(xiàn)。

feature是功能部件,它里面沒有實際的運行的庫,它只是eclipse用來管理plugins的一種
途徑. 比如你家裝了電燈,總要有開關(guān)控制把,比如大堂的燈有一個開關(guān)控制, 臥室的燈
也有一個開關(guān)控制, 它們分別用來控制燈的亮與滅.
同樣,功能部件就是用來控制插件的啟動與否. eclipse的update透視圖可以設(shè)定各個功
能部件的啟用或禁用狀態(tài), 所以你可以通過禁用功能部件,來禁止插件的啟動.

而plugin和feature的實現(xiàn)需要定義標(biāo)準(zhǔn)。

這樣我們就有可能做到中臺對系統(tǒng)平臺的控制。

開發(fā)架構(gòu)由PaaS升華到BaaS架構(gòu),保證能力以BaaS的方式輸出(架構(gòu))

為能力的輸出統(tǒng)一標(biāo)準(zhǔn)

上一節(jié)中系統(tǒng)實現(xiàn)了某種能力,當(dāng)這種能力如何對外輸出,需要一個統(tǒng)一的標(biāo)準(zhǔn)。 BaaS在這方便很好的解決的這個標(biāo)注,以服務(wù)的方式對外輸出能力。

建立能力之間的協(xié)作和數(shù)據(jù)共享標(biāo)準(zhǔn)(集成)###

為能力的協(xié)作統(tǒng)一標(biāo)準(zhǔn)

我們都知道復(fù)雜業(yè)務(wù)是需要協(xié)調(diào)多個功能一起工作,需要完成一些列流程,走過一系列的功能點。如果讓這些系統(tǒng)可以很好的協(xié)同工作,也需要一個標(biāo)準(zhǔn),在這個標(biāo)準(zhǔn)下,這些能力就像filter
chain一樣被簡單實用。 目前我們可以看到阿里的系統(tǒng)能力基本不可能簡單調(diào)用,我們需要這這個系統(tǒng)用HSF調(diào)用另一個系統(tǒng)。這在架構(gòu)上可以說是丑陋和高侵入的。

大家不妨想想比如Toc超時系統(tǒng),按設(shè)計就應(yīng)該處理超時相關(guān)的功能,可我們卻必須在超時系統(tǒng)中調(diào)用IC,UIC等等。

在這方便,傳統(tǒng)金融行業(yè)和企業(yè)中間件軟件公司發(fā)展的EIP企業(yè)集成模式,可以很好的解決系統(tǒng)之間的協(xié)作問題。我們可以參考借鑒。

中臺其他的一些特性###

中臺是自運營的, 他是所有系統(tǒng)的portal系統(tǒng),業(yè)務(wù)人員,開發(fā)人員,運維人員等不同角色都圍繞中臺行駛自己的職責(zé)。

中臺是自監(jiān)控的,業(yè)務(wù)系統(tǒng)通過中臺輸出運行狀態(tài),實時監(jiān)控業(yè)務(wù)數(shù)據(jù)。

最后用一句話總結(jié):

中臺是我們走向云開發(fā)時代的起點###

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容