主頁 > 軟體設計 > 理解中臺

理解中臺

2020-09-13 08:40:46 軟體設計

前段時間參加了IAS2019(互聯網架構峰會),本次峰會以中臺為主題,所以又稱中臺戰略大會,據說是全國首屆關于中臺戰略的會議,會議上有許多優秀的企業架構師帶來了他們各自在實踐中臺程序中的心得,本文就筆者對自己參與的會場的情況做一些分享,同時也寫寫自己參會以及查閱相關資料后關于中臺這一概念的理解和體會,

什么是中臺?

中臺不是一個新名詞,然而你如果想找到它的源頭,可能真不太好找,有人說來自銀行的”前臺-中臺-后臺“的組織結構,有人說來自阿里提出的“大中臺,小前臺”概念,

而”中臺“這個詞真正火起來,還是在2017-2018年,這個時間段里,阿里出版的《企業IT架構轉型之道:阿里巴巴中臺戰略思想和架構實戰》詳細闡述了他們認為的中臺是什么,而隨后,滴滴、京東等一大批互聯網企業開始分享自己在中臺探索的成果,

那么你可能要問,究竟中臺是什么?王健老師在《當我們談中臺時,我們在談些什么| 白話中臺戰略》一文中提到:

在有些人眼里:中臺就是技術平臺,像微服務開發框架、Devops平臺、PaaS平臺,容器云之類的,人們都叫它“技術中臺”,

在有些人眼里:中臺就是微服務業務平臺,像最常見的什么用戶中心,訂單中心,各種微服務集散地,人們都叫它“業務中臺”,

在有些人眼里:中臺應該是組織的事情,在釋放潛能:類似于企業內部資源調度中心和內部創新范訓組織,人們叫它“組織中臺”,

可見目前對中臺其實大家仍然處于一種都有感覺,但是仍然看不清的狀態,甚至會讓人覺得每種理解都說的通,但是一旦拿來和自己面對的情況相比,又總是缺了些什么,

其實這也正常,看不清才是中臺真正的模樣,就像我們看到一個抽象類,它的定義是模糊的,雖然我們能看到這個類很多的實作,但是如果我們自己要用的時候,可能還是要重新做一套適合我們的實作,因此我比較偏向關于中臺的另一種定義,就是”中臺是一種思維方式“,無論是阿里說的前臺-中臺-后臺,還是技術平臺,或共享組織,都是面對復雜問題時采用的策略,而其本質思想用兩句話可以概括:“多維拆解?復雜系統,全域設計可復?架構”,這里的系統和架構都可以跳出軟體的范疇來理解,

什么時候需要中臺?

我們討論了如何定義中臺,現在來看看怎么就需要中臺了,首先,讓我們設想一個二維矩陣,每一行表示一個分布式專案,每個分布式專案由前臺和后臺兩部分組成:

[

前臺,后臺,

前臺,后臺,

前臺,后臺,

...

]

我們先給出前臺和后臺的定義:

  • 前臺 由各類前臺系統組成的前端平臺,例如用戶直接使用的網站,手機App,微信公眾號等,
  • 后臺 由后臺系統組成的后端平臺,每個后臺系統一般管理了企業的一類核心資源(資料+計算),例如財務系統,產品系統,客戶管理系統,倉庫物流管理系統等,這類系統構成了企業的后臺,基礎設施和計算平臺作為企業的核心計算資源,也屬于后臺的一部分,

從縱向的維度來說,如果系統之間有重復建設的部分,無論是前臺還是后臺,將重復的部分提煉出來單獨構建,然后在各系統之間共享就是一種中臺思維的運用,比如阿里的淘寶、天貓還有1688等,最初都是煙囪式架構,彼此獨立,但是后來發現這樣重復建設的內容挺多的,成本太高了,所以就將重復的部分,比如用戶、訂單、物流等提煉出來單獨考慮,如此這般阿里的業務中臺也就慢慢建立起來了;

從橫向的維度來說,無論是什么系統,前臺都更貼近用戶,更可能產生變化,更需要快速回應變化的能力,而后臺更多的是偏向資訊化管理方面,無論是技識訓是業務需求都更加固化,需求的是穩定,但問題是不能滿足前臺日趨多變的需求,此時的前臺和后臺就好比兩個不同轉速的齒輪,強行配合終將導致兩者都難以維護,而在前臺和后臺之間加入一個變速齒輪(那些比前臺穩定,比后臺靈活的機制),使得二者的速率能合理的匹配也是一種中臺思維的運用,比如如果你要在某個城市搭建一個公共服務專案,為市民提供水電氣、社保、公積金、共享單車等公共服務,你設計的直接面向市民用戶的前端一定是需求多變的,而水電氣、社保、公積金這些單位的系統都是長期以往穩定運行的,要想解決二者之間的矛盾,比起每次前臺有變化都深入這些系統內部進行分別改造,更好的方式當然是建立一套中間系統去進行適配,這樣中臺也就會慢慢建立起來了,

中臺的實踐案例

《醫院后勤生態模式下的企業級中臺建設》

  • 講師是南京天溯的侯逸文 天溯是一家聚焦于醫院智慧后勤運維服務領域,采用“生態平臺+應用中心+管家團隊”的平臺運營模式,為醫院提供智慧后勤線上與線下相結合的全線、全產業鏈運維服務的企業,
  • 侯老師從中臺的解決方案、技術方案、應用和案例三個方面介紹了他們在醫院后勤運維領域的實踐心得,
  • 醫院后勤管理范疇涵蓋的內容很多,包括30多個種類和100多個服務,比如房間空間管理,總務服務,膳食服務,安全保衛等,醫院本身基于這些服務構建了一批龐雜的系統,這些系統各自為政,資料不共享,標準不統一,變更非常困難,為此迫切需要一種方式能夠解決這些問題,中臺自然當仁不讓,
  • 然而,侯老師認為,如果僅把中臺看成是一套IT系統就有些局限了,侯老師認為,toB類的企業級中臺,需要關注3個方面: 【技術賦能】 中臺除了提供通用的IT基礎硬能力,更要能提供合規的業務規范、標準的運行流程和統一的考核體系這些軟能力, 【管理賦能】 中臺不僅是線上系統的事情,更要能打通線上線下,有一個精干的線下團隊來有效使用中臺,落地執行中臺包含的規范、流程和標準, 【生態賦能】 中臺不僅是本企業的事情,更要能以開放的精神服務整個行業中的所有合作伙伴,實作互惠共贏,構建行業命運共同體,
  • 我們來看一下侯老師提供的他們為醫院做的功能架構: 架構分為三層:基礎服務層、業務接入層、應用生態層、互動展示層,可以看到中臺分布在業務接入層和基礎服務層,包括:資料分析中臺、基礎能力中臺、IoT中臺,
  • 再來看下部署方式: 上圖中的生態平臺涵蓋了3個大中臺:資料分析中臺、基礎能力中臺、IoT中臺,可以看到有兩種不同的部署方式,基于云端的和基于本地的,
  • 在應用案例中,侯老師介紹了能力中臺、資料中臺、IoT中臺帶來的實際價值, 【利用能力中臺中的作業流引擎服務,他們更快的的上線了新的業務】 【利用資料中臺對資料的聚合和分析能力,他們有效的發現了醫院相關設備在空間上的能耗問題】 【利用IoT中臺對資料的采集、監測、告警的能力,配合BIM,具備了從空間上監測設備并能夠快速定位故障點的能力】
  • 最后侯老師做了一下總結: 在醫院后勤運維業務場景中,中臺的職責是為人和應用生態賦能統一的技術和規約,這三者之間的關系如下:
  • 小結: 侯老師的匯報很干貨,結合醫院后勤這個實際的應用場景闡述了中臺在專案功能架構中的位置,如何發揮作用,以及帶來的具體好處,很有借鑒意義,

《阿里巴巴業務中臺實踐與思考》

  • 講師是阿里巴巴智能資深技術專家謝純良 謝老師從阿里20年技術演進的關鍵節點入手,介紹阿里巴巴的中臺是如何成型的,
  • 2003年,1688和淘寶出世,后者是阿里巴巴花了2000美金從一個美國人那里買了一個網站系統,然后改造出來的,所以和1688系統在技術上相互隔離,無法復用1688的技術,也就是說創立之初,阿里研發的系統,也是煙囪式建設的,
  • 2008年,在王堅博士的帶領下,阿里開始核心系統去IOE的作業,并開始建立淘寶技術體系,做為集團統一標準,淘寶、天貓、1688實作了技術統一,
  • 2013年,阿里技術上持續統一,并成立共享事業部,業務上確定淘寶、天貓、一淘并駕齊驅,業務中臺初見雛形,
  • 2016年,阿里巴巴旗下的業務越來越多,包括聚劃算、天貓、河馬、1688,餓了么等,所有歸于阿里的系統,其技術堆疊會被統一成阿里的技術堆疊,基于技術上的統一,阿里成立了穩定的中臺,穩定的中臺幫助阿里加快了創新,更好的拓展了線下的業務, 在演進的程序中,阿里以用戶體系做為切入點,統一了各獨立系統的用戶資料,并通過不斷的總結提煉,得出了一套中臺構建方法論,沉淀出了很多成熟的技術產品,積累了豐富多樣的業務能力,也正是憑借這三點,阿里的中臺得以成功演進,

小結:

阿里的強大中臺也是一步一步演化出來的,憑借其強大的抽象和提煉能力,中臺的構建方法論,沉淀的相關技術,打造的業務生態,還可以助力其他企業快速構建自己的中臺和前臺,只能嘆服了,

《孩子王新零售中臺架構演進之路》

  • 講師是孩子王中臺研發負責人王海龍,負責孩子王新零售中臺從0到1的搭建,以及后續各階段的完善,
  • 孩子王起初是沒有線上渠道的,只有pos和內部的ERP系統,每個門店的ERP和總部的ERP對接,
  • 隨著移動時代的到來,孩子王意識到要增加線上渠道,于是建設了app、微商城等線上渠道,至此孩子王線上、線下全渠道覆寫完成,
  • 然而,各系統先后上線,彼此獨立,導致多套用戶,多種標準的出現,不僅未能發揮線上優勢,反而帶來了用戶線上線下,甚至線上不同渠道會有不同履約、用戶資訊不一致等問題,
  • 為了解決如上問題,王海龍老師從統一線上用戶入手,然后到統一全渠道的會員資料,最后實作會員體系的統一,
  • 一旦統一了全渠道的會員體系,可以做的事情就多了,比如收費會員、積分兌換、全渠道券等等運營策略都可以玩了,可以說是進入了一個完全不同的萬物生長的階段,
  • 隨后,商品、訂單、庫存、促銷等業務開始從線下的ERP系統轉移至線上,與統一會員體系相互協同起來
  • 至此,孩子王的中臺已見雛形,
  • 有了中臺的雛形,就有了替換線下ERP系統的可能,ERP系統本身存在很多痛點,比如商品促銷策略、新商品上線等都無法準實時的推出,但是很多時候,如果無法及時更新營效策略,將失去市場先機,所以王海龍他們其實早就想替換這個老舊的ERP系統,但是由于諸多業務都在上面運行,為了保險平滑的過度,他們選擇由中臺構建入手,逐步架空ERP系統,直至替換,最后孩子王的中臺演進成了下面的架構: 更詳細的架構如下:

小結:

孩子王和阿里一樣,在面對日趨增加,復雜多變的業務,傳統的煙囪建設模型捉襟見肘時,從統一用戶體系入手,開始構建自己的中臺,通過不斷提煉通用的業務或技術上的能力,讓中臺逐漸成長,各業務系統逐漸瘦身,隨著中臺地位的上升,便可以順勢建立統一的標準,之后的新系統便只需專注于自身的業務,其建設效率自然不言而喻了,

中臺的啟發

這次參加中臺戰略大會,讓我回想起自己2年前在做作業流業務解決方案的時候做的一次設計理念匯報,匯報的大致內容是說如今作業流引擎更多的是嵌入到業務系統中,而未來作業流引擎將做為一種服務,在業務系統中共享,并且除了作業流引擎是這樣,其他的很多業務或技術都會這樣,

當時其實只是基于可復用和組件化的理念在構思,現在看來這也是中臺思維的一種運用,無論是阿里還是孩子王這樣的互聯網公司,還是天溯這樣的傳統軟體公司在構建中臺的道路上,都是從統一用戶體系入手,《OAuth2.0概念以及實作思路簡介》這篇文章中我們介紹了oauth2,以及用它打造單點登錄體系的思路,未來還可以考慮基于統一用戶中心打造一個分布式平臺,提供統一的技術堆疊,技術標準供業務系統使用,逐漸形成我們各業務領域的中臺架構,當然這條路不容易走,因為會涉及業務、技術甚至是組織架構上的變化,

總結

我們一開始對中臺做了一個定義,認為中臺是一種思維方式,接著從2個不同的維度討論了什么情況下需要中臺,然后通過一系列應用案例展示了中臺的構建程序,并談了我個人的一些啟發,希望這些內容能夠對你理解中臺有所幫助,并能建立起自己的中臺思維,

最后,讓我們再回顧一下中臺思維的本質——

“多維拆解?復雜系統,全域設計可復?架構,”

參考資料

IAS2019中臺戰略大會:

《什么樣的企業需要數字化中臺》——ThoughtWorks 和堅

《醫院后勤生態模式下的企業級中臺建設》—— 侯逸文

《阿里巴巴業務中臺實踐與思考》—— 謝純良

《孩子王新零售中臺架構演進之路》—— 王海龍

 

ok,本篇就這么多內容啦~,感謝閱讀O(∩_∩)O,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/22671.html

標籤:架構設計

上一篇:微服務到底改變了什么,你知道嗎?

下一篇:詳解定時任務中的 cron 運算式

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more