BaaS後端即服務 - 中臺篇

weixin_34234823發表於2017-03-27

前面BaaS的文章鋪墊了BaaS的體系,架構,和實踐。 在本篇我們將關注如果在阿里的技術體系構建BaaS平臺,如果把BaaS作為中颱的實現架構之一, 並探討什麼樣的中臺系統可以滿足我們的設計目標。

中臺是以BaaS架構的能力超市

大中臺戰略形象的說就是要把內部的能力以類似現代化超市的方式管理起來。通過合理佈局,統一管理,給客戶(業務)最好的體驗,對商品(能力)的採購能競爭和監控,對商品(能力)的消費實時計算監控統計分析。

按照這個思路,我們可以逐步構思大中臺的所需要的規劃。

梳理內部的能力佈局,做好能力管理(佈局)

為能力的管理統一標準

這些技術體系和能力需要有個方法學指導來梳理,使我們對自己目前的能力清晰可控,在此基礎上我們在去規劃重構,構建大中臺,從而為這些能力的高效實用提供基礎。

我們可以依賴領域物件設計和雲端計算架構兩個維度來做梳理。領域物件設計用來梳理業務維度, 雲端計算架構用來梳理部署維度。

領域物件最重要的一點是物件包含屬性和行為,將自身的狀態和導致狀態改變的行為都封裝在該物件內。所以我們說領域物件時候,除了說這個物件實體本身外,還代表他的行為,也就是常說的"能力”。

後續我們說能力的時候,其實也代表這個領域物件,能力是有物件自有的。

首先梳理所屬業務系統的整理工作,我們能夠將內部系統所具有的能力按照清晰的層次維度劃分出來。在此也提出自己覺得比較簡單清晰的方法:

我們在設計一個系統的時候,會根據系統功能的層次,劃分為基礎平臺,領域平臺和業務平臺。

基礎平臺會提供一些純技術底層的功能,比如搜尋,訊息,資料儲存等。
領域平臺會提供某個行業領域的領域模型,比如電商的交易領域模型,社交的社交領域模型。
業務平臺這是利用領域模型提供的能力,具體實現業務的平臺。比如全球購是使用電商交易領域模型實現的一個電商業務平臺。

為了更進一步方便理解, 我想用大學的學科設定來進行類比:
比如在大學裡,

我們有一些基礎學科:如數學系,物理系,化學系等,基本其他的所有學科都離不開這些基礎學科提供的知識。這些系在一些綜合性大學裡會屬於一個基礎學院如“理學院”,培養一些基礎研究人員。

在這些基礎學院之外,各個工業科學領域都會有響應的學院設定,比如航空航天學院,包含航空航天領域的學科設定。電子工程學院,會包含電子行業領域的學科設計,醫學院,代表醫療領域的學院。這些其實就是領域學院,代表某個行業領域的學科設定。 大家都知道,這種學院一般都講授該行業領域的基礎知識,培養行業領域專家。

在往上分層,有些學科會非常貼近就業市場,會有些和具體行業業務相關學科設定,比如一些專科院校常有的物流管理,旅遊管理,航空管理等專業,培養具體業務人才。

這樣類比可能會對大家理解業務系統分層有幫助,當你想不清楚時,就想想你該讀什麼院系。

能力大學

那麼我們就假設我們需要對這座大學的院系學科進行劃分,首先我們這個大學會有3個學院,
基礎能力學院,領域能力學院,業務能力學院。

基礎能力學院

5169851-232ccc5b1f8cb654
baas_43

在這個學院裡,我們會根據能力種類的不同,設定不同的能力系,比如資料系,專門培養資料相關的基礎能力。NPL系,培養演算法相關的基礎能力,規則系,培養規則相關的基礎能力。

領域能力學院

5169851-dd8b9ab53a476025
baas_44

在這個學院,主要按照行業領域來劃分,比如電子商務行業,醫療健康行業,這些特定的行業裡有自己特殊的領域物件。 在電商行業裡,我們會有會員,店鋪,商品,訂單等領域物件,利用這些物件具有的能力來構建交易領域平臺。利用招商活動等領域物件來構建招商平臺。在旅遊行業,我們會定義機票,度假,門票,火車票等領域物件,用來構建旅遊領域平臺功能。

這些領域平臺可以作為內部業務的領域能力,同時也可以開發給外部的業務方。 比如我們可以把物流領域能力除了給菜鳥提供領域能力外,還可以給外部的物流企業如順豐等快速開發物流相關的業務。

業務能力學院

5169851-f67b015ff1cbd6fe
baas_45

在這個學院,面向的是具體的業務領域,培養特定的業務能力。比如我們會有個旅行系,利用旅行領域提供的機票能力,開發旅行的機票業務。菜鳥系,會利用物流領域提供的物流相關領域物件,開發菜鳥的物流業務。

另外一個維度,我們可以考慮雲端計算架構分層,並和領域物件分層對應起來,可以跟方便大家理解,清晰劃分。


5169851-6241d03851cae6c5
baas_cloud

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

  • IaaS提供系統的物理部署能力
  • PaaS層主要提供基礎平臺的能力
  • BaaS層主要提供領域平臺的能力
  • SaaS層也主要提供領域平臺的能力,相對於BaaS提供更完整的領域能力,將整個領域的解決方案作為軟體提供給業務方。

業務方應用這是寄主在BaaS或者PaaS的業務應用。BaaS和SaaS也會提供對業務應用的管理,保證多租戶,資料隔離等。

按照這兩種思路我們就可以更好的理解系統和定位,比如招商系統,他是依賴電商領域BaaS能力構建的SaaS方案,他應該屬於領域能力學院的電商系,按照SaaS方式構建。

在業務能力學院的淘寶系,就可以在這個SaaS基礎上建立淘寶招商業務系統,天貓系可以構建天貓招商業務系統。

為能力在系統中的實現建立標準封裝載體(系統)

為能力的實現統一標準。

在上一節佈局中,我們有了方法學指導我們規劃,可以從巨集觀上佈局集團的能力。現在我們要回到各個系統,為能力的承載實現提供指導辦法。

中臺的一個主要能力,需要對阿里的各個系統能力進行監控運維,比如我們需要把某個能力下線,從線上系統到程式碼,這就需要我們能有某種標準,這個能力是以某種約定形式封裝,就像Eclipse的plugin&feature功能一樣。

plugin是能力部件,用來封裝具體能力的實現。

feature是功能部件,它裡面沒有實際的執行的庫,它只是eclipse用來管理plugins的一種
途徑. 比如你裝潢了電燈,總要有開關控制把,比如大堂的燈有一個開關控制, 臥室的燈
也有一個開關控制, 它們分別用來控制燈的亮與滅.
同樣,功能部件就是用來控制外掛的啟動與否. eclipse的update透檢視可以設定各個功
能部件的啟用或禁用狀態, 所以你可以通過禁用功能部件,來禁止外掛的啟動.

而plugin和feature的實現需要定義標準。

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

開發架構由PaaS昇華到BaaS架構,保證能力以BaaS的方式輸出(架構)

為能力的輸出統一標準

上一節中系統實現了某種能力,當這種能力如何對外輸出,需要一個統一的標準。 BaaS在這方便很好的解決的這個標註,以服務的方式對外輸出能力。

建立能力之間的協作和資料共享標準(整合)###

為能力的協作統一標準

我們都知道複雜業務是需要協調多個功能一起工作,需要完成一些列流程,走過一系列的功能點。如果讓這些系統可以很好的協同工作,也需要一個標準,在這個標準下,這些能力就像filter
chain一樣被簡單實用。 目前我們可以看到阿里的系統能力基本不可能簡單呼叫,我們需要這這個系統用HSF呼叫另一個系統。這在架構上可以說是醜陋和高侵入的。

大家不妨想想比如Toc超時系統,按設計就應該處理超時相關的功能,可我們卻必須在超時系統中呼叫IC,UIC等等。

在這方便,傳統金融行業和企業中介軟體軟體公司發展的EIP企業整合模式,可以很好的解決系統之間的協作問題。我們可以參考借鑑。

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

中臺是自運營的, 他是所有系統的portal系統,業務人員,開發人員,運維人員等不同角色都圍繞中臺行駛自己的職責。

中臺是自監控的,業務系統通過中臺輸出執行狀態,實時監控業務資料。

最後用一句話總結:

中臺是我們走向雲開發時代的起點###

相關文章