架構師們,怎麼走着走着就變“煙囪”了呢?

雲棲號資訊:【點擊查看更多行業資訊
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

這兩年,隨着中臺概念的興起,一種IT過去的常態,現在的明星反面教材——“煙囪式架構”被反覆提及併爲大家所熟知。作爲中颱的對立面,煙囪式架構不幸地成爲了業界合力吐槽的“倒黴孩子”,那些對比中臺理念審視過自身IT系統的傳統企業都不禁心虛地喃喃自語道:“嗯,我有病,得治!”

開個玩笑,其實我們並不打算在這篇文章裏對煙囪架構進行批判,“家家有本難唸的經”,企業形成今天的煙囪式架構是由很多現實問題導致的,並不是什麼管理或決策上的疏失,如果說煙囪式架構就是一種“病”,那麼可以說“雪崩來的時候,沒有一片雪花是無辜的”。

本文我們真正想做的是帶着讀者從一個生動而現實的案例中觀察並思考煙囪式架構的產生背景,演化過程以及它所造就的IT生態給企業帶來的影響。所謂“知己知彼,百戰不殆”,不管企業要不要上中臺,探究形成企業現有IT格局的真正動因,透徹理解煙囪生態的現實處境,對企業領導者和IT團隊都是非常重要的,這可以避免一些企業在中臺熱潮中盲目跟風,或者幫助決策者清晰地認識到在中臺化進程中它們真正需要解決的生態頑疾到底是什麼。本文引用的案例源於作者所著的《大數據平臺架構與原型實現:數據中臺建設實戰》一書,全書對數據中臺的理念、架構和具體實現做了詳細論述。

那接下來,就讓我們開始一趟名爲“會員管理”的一日遊吧,這是本文選取的一個極具代表性的案例,可能並非所有企業都經歷過案例中的全部階段,但我相信一定會有很多企業能從這個案例中找到自己的一些影子,這個案例可以讓大家清晰地看到煙囪式生態系統是如何形成並蔓延的。

對於生產和銷售面向C端產品的企業來說,如何建立並維持企業與終端消費者(也包括潛在消費者)之間的關係非常重要的,爲此,企業都會建立自己的客戶關係管理系統,即CRM系統來管理自己的消費者,構建會員體系,提高客戶滿意度和用戶粘性。過去,線下零售是C端產品的主要銷售渠道,因此POS系統就成爲了會員註冊的主要入口,很多POS系統都有會員管理功能,銷售人員可以在POS機上爲消費者完成會員註冊、積分查詢與兌禮等操作,這些功能一般放置在POS的“會員管理”模塊:

image


圖1 階段一:初期基於POS系統的會員管理

後來企業引入了CRM系統專門進行消費者信息的管理和會員體系的建設,POS的會員管理功能將讓位於更加專業和強大的CRM系統,因此,在CRM的建設過程中,POS系統團隊需要深度參與,配合CRM系統制定會員管理相關的數據交互協議與格式,由於項目只牽涉POS與CRM兩個系統,接口方案很快可以就敲定並付諸實施,改造完成之後就形成了第二階段的會員生態:

image


圖2 階段二:引入CRM系統後的會員系統生態

再後來,企業又引入了客服系統,消費者除了可以在門店查詢和行使會員權益,還可以通過電話向客服中心查詢和修改個人信息,但是客服系統圍繞會員相關的功能需求與POS系統會有所不同,例如客服系統需要記錄用戶對產品的反饋以及收集消費者調查問卷,這些需求在之前設計POS與CRM對接時是不可能考慮到的,如果現在要實現客服系統與CRM的對接就需要對CRM系統的會員接口做出調整,爲了避免改造對POS系統造成影響,CRM團隊決定面向客服系統單獨開發一套API,於是第三階段的會員生態就是下面的樣子:

image


圖3 階段三:引入客服系統後的會員系統生態

在這張圖中,我們使用了梯形接口來特別表示這是有別於原來面向POS的另外一套API。

很多企業早期的會員生態大多如此,從中我們已看到了一些“煙囪”的端倪,如果放在早期的傳統銷售模式下看,這一生態並沒有大問題,但是後來隨着電子商務和移動互聯網的興起,商品的銷售渠道變得越來越多,越來越複雜,這些新興的銷售渠道包括:

官方電商平臺

第三方電子商務平臺(天貓/淘寶/京東等)

品牌自有的移動端APP

微信小程序

門店導購系統

這些系統都直接與終端消費者進行交互,是會員招募的重要入口,理所當然地要提供會員註冊、信息查詢、權益行使等會員服務。當第一個線上系統——官方電商平臺準備上線時,企業就遇到了很多困難,這些困難大多與周邊系統集成有關,繼續以“會員管理”這個模塊爲例,由於早期CRM的會員服務/API是面向傳統線下業務場景開發的,當面對電子商務和新零售業務時它們已經不能服務於這些新業務了,於是導致新的業務系統無法融入老的會員體系:

image


圖4 階段四:引入官方電商平臺時由於接口的複雜性和兼容性導致集成出現問題

在這個階段,企業有兩個選擇:

對CRM系統進行大幅度地改造,使之能同時支撐線上和線下的會員管理,但是建設週期長,風險大,CRM團隊無力也不願意承擔這個風險

讓官方電商平臺獨立開發自己的會員管理模塊,首先滿足自己的會員管理需求,然後與CRM系統對接,同步會員數據,但不使用CRM的會員服務

很多企業都曾經走到過類似的岔路口,可能業務背景各不相同,但都是企業IT生態演化路徑上的關鍵節點,大多數的企業爲了讓新業務儘快上線,規避風險,都無可奈何地選擇了後者,於是會員生態進入到了第五個階段:

image


圖5 階段五:經過妥協之後形成的會員系統生態

這一階段的演變非常值得思考,從架構上講,這是出現我們所說的“壞味道”的開始,相信讀者會有對這一階段產生很多疑問:

疑問一:爲什麼沒有向着SOA的方向進化,或許在SOA架構下這個問題會不會比較容易處理?

首先,我們可以看到很多企業並沒有經歷當年的SOA浪潮,或者曾經嘗試過,但最後失敗了。其次,某種程度上這是一個僞命題,因爲即使企業實施了SOA改造,但是在面對新業務對會員管理提出的要求時,依然要冒方案一的風險,因爲對於會員服務的提煉和改造歸根結底是要由CRM系統負責的,與SOA架構無關,SOA架構成功的前提就是服務本身的設計要足夠好並且能不斷地迭代和演化以適應新的需求,所以問題不在於系統間如何集成,而是CRM作爲一個獨立的系統,現在要求它承載的卻是企業全部業務線上的會員管理,回到前面給出的解釋,CRM團隊的首要任務是保證系統的穩定運行,無力應對這種格局對CRM的衝擊。

疑問二:即使沒有引入SOA,也不至於退化成基於文件的交互方式,是否是技術管理上的疏失?

首先,文件傳輸是批量的,比API實時交互實現起來要簡單的多,但更重要的原因在於通過文件傳輸數據時,關聯數據一般會被“壓平”(即將join後的結果集作爲輸出格式),以非常粗的粒度送出,這實際上相當於通過一個粗粒度的API傳輸類似寬表的數據,但是實際的API是不可能被設計爲這麼粗的粒度的,這樣的API是不能支持實時交互的。說到底,通過文件傳輸扁平的粗粒度數據是最容易實現的方案,相應的實現的風險也是最小的,所以在權衡利弊之後,很多系統間的集成最後都選擇了這一方案。

一旦企業度過了第五階段,後續所有的系統都會效仿這一模式集成到IT生態裏,形成如下的狀態:

image


圖6 最終成形的會員系統生態

可以說此時的IT生態已經徹底降級了,這種降級是伴隨着不斷增加的系統集成複雜度與無法提供足夠有效的接口兩者之間的矛盾而導致的,降級之後的IT生態將不可避免的存在這樣一些問題:

會員數據將不可避免的分佈於多套系統中,需要頻繁和複雜的數據同步

由於數據同步方式是批量的,會導致在某些時間段內用戶在不同渠道查詢到的個人數據(例如積分)是不一致的,這會影響用戶體驗,更嚴重的是積分數據的不一致可以讓“羊毛黨”多次重複兌換積分,給企業帶來經濟損失

多個業務系統中開發了會員管理模塊,雖然部分功能有所不同,但核心功能是一致的,這是嚴重的重複建設

現在我們來重新梳理一下這個案例中“會員管理生態”的演化歷程:

早期通過POS系統實現會員管理

後來引入了專業的CRM系統,關閉POS系統的會員管理,轉而與CRM對接,完全通過CRM來管理會員

出現了第二個需要獲取和修改會員信息的系統:客服系統,但原有面向POS設計的API並不能很好的滿足客服系統的需求,於是又協調CRM團隊修改或開發了部分的API,形成了面向客服系統的會員API

再後來,隨着電子商務的興起,官方的電商平臺上線,也需要與CRM對接實現會員註冊,積分查詢和管理等功能,作爲新的線上渠道,會員信息、會員交易行爲與線下渠道會有明顯的差別,對會員積分、等級的計算規則也產生了直接的影響,這些因素導致CRM團隊無力在保持現有業務不變的情況下再開發兼用電商平臺的API接口了,折中的方案就是:在官方的電商平臺上開發本地的會員管理模塊,在本地實現會員註冊、信息維護、積分計算等功能,然後週期性的和CRM系統進行數據同步

之後,更多的新系統都仿照了這一模式,各自在本地系統實現會員管理,然後與CRM進行數據同步,以便從其他渠道註冊的會員同樣可在該渠道上行使會員權利

在這個演變的過程中有一個重要的節點:第4步,這是整個生態系統演變的一個轉折點,在這個轉折點之前,整個IT生態還比較簡單的,點對點式的對接完全可以解決問題,當IT生態變複雜時,麻煩就會逐漸突顯出來了:早期面向單一業務場景設計的服務/接口無法滿足來後來新生業務系統的需求,導致外圍系統不得不在本地自建相關模塊,爲了確保全局數據一致,再通過文件進行數據同步。

【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live

立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK

原文發佈時間:2020-07-23
本文作者:耿立超
本文來自:“CSDN雲計算”,瞭解相關信息可以關注“CSDN雲計算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章