關注我,緊跟本系列專欄文章,我們們下篇再續!
作者簡介:魔都技術專家兼架構,多家大廠後端一線研發經驗,各大技術社群頭部專家博主,程式設計嚴選網創始人。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。
負責:
- 中央/分銷預訂系統效能最佳化
- 活動&優惠券等營銷中臺建設
交易平臺及資料中臺等架構和開發設計
目前主攻降低軟體複雜性設計、構建高可用系統方向。
參考:
0 前言
公司發展面臨商業環境變化,如流量模式、競爭格局和公共衛生事件。採購系統作為供給端核心系統之一,做好頂層設計並持續進行系統演進,才能適應劇烈的業務變化,服務好終端使用者。本文從定義宏觀、設計藍圖、落地系統、持續演進展開整個採購系統架構過程,看業務系統架構設計過程。
1 定義宏觀
不斷聚焦,推演採購系統的底層架構關鍵點。
1.1 最大的變化和不變
商業定位,確定架構底層邏輯:
- 變化:企業面臨商業環境變化及自身發展訴求。企業商業定位面臨調整,業務範圍可能擴張或收縮,業務模式可能微調或顛覆。架構重心發生極大變化,需提前規劃調整,不然系統和業務發展間隙越大
- 不變:商業定位決定公司長期走向,商業定位一旦確立有長期穩定性,以一個明確定位來佔領使用者心智,同時業務都圍繞定位展開
如定位平臺模式和品牌模式的電商公司,業務特點和架構特點匹配如下:
業務特點 | 架構特點 | |
---|---|---|
平臺模式(如:天貓) | 撮合大量商家和消費者,關注交易量,關注GMV。入駐品牌多,品類廣,更關注商品交易屬性,基本不關注生產製造 | 起量快,得確保系統設計易擴充套件,無論表拆分、機器擴容。營銷玩法多變,為快速響應業務,需靈活前臺設計和堅實中後臺 |
品牌模式(如:嚴選) | 關注忠誠使用者,關注利潤率,以品為核,從設計製造環節抓起,到商品交付給使用者,乃至售後都兼顧。但品類數量增長慢,資產重 | 需向多渠道鋪貨,業務前端要匹配各平臺玩法。業務後端從商品企劃到設計、生產、製造、運輸、倉儲的鏈條極長,流程聯動,資料準確性保障都要考慮。為匹配業務前端,往往要做渠道庫存、渠道訂單這樣的抽象設計 |
1.2 全鏈路視角:深度協同 &雙向驅動
- 商業鏈條極長,選品,採購溯源,計劃下單,合同簽署,備料協同,生產製造,品質管控,物流運輸,倉儲管理,退供翻新,金融結算等環環相扣
- 協同角色極多,從商品開發,採購,計劃,品控,關務,財務等密切合作
- 層次錯綜複雜,從傳統的供應鏈三流:實物流、資訊流、資金流和商流,縱橫交錯
<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/773008fa5dd89f0f1bf266ffa8fe890f.webp" style="zoom: 67%;" />
供應鏈業務和技術是互咬齒輪:
- 前期業務驅動,大量場景需線上化,完成初期流程閉環和資料積累
- 發展一定階段,大量技術驅動場景,展現數智化特徵,如服務供需平衡的銷量預測、智慧補貨,服務庫存平衡的採購分倉、倉間調撥
整體供應鏈採購發展是技術和業務雙驅。架構設計過程,要認清當前系統和業務的發展階段,平衡好當前訴求和未來發展,做好業務支撐同時,挖掘數智化機會,為變化留有餘地同時拒絕過渡設計。
1.3 找準系統演進關鍵特徵
以準確性、可用性為基:
<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/1ee0e2ee7cf59c60f9a0fe82e2d9ccee.png" alt="img" style="zoom: 67%;" />
理清業務特點後,需圈出採購系統關注的技術特徵及這些關鍵特徵的演進目標:
- 可用性。作為履約核心鏈路,多角色日常工作需頻繁操作線上系統,能全天候完整為使用者提供服務能力是基礎和關鍵
- 準確性。業務鏈路長(從計劃下單到採購請款結算中間要經多個關鍵流程),業務完結週期長(短則幾天,長則一年多),資料準確有很大挑戰。又因採購是關鍵的成本結算鏈路,所以對資料準確性有很高要求
需進一步量化這些架構特徵,用以觀察和保證系統是向目標方向拉動。如關注服務可用性,可用線上率、故障率倆指標。指標構建落地要結合公司技術,若有SLA/SLO/SLI相關服務質量平臺,可直接借力,把指標納入架構觀察大盤,而非重複構建。類似也可借力自動化測試平臺,構建一些效能、安全性的架構特徵的量化觀察指標。
2 設計藍圖
確定階段性目標架構。理清關鍵底層邏輯後,可開始確定階段性目標架構藍圖。如RUP 4+1檢視,本文談如下視角
2.1 限界上下圖
分治之基、扯皮之盾:
分治,大系統小做。採購系統包含跨境採購、採購執行、退供/翻新等大量業務,同時要和大量外部系統如商品中心、供應商、財務等互動,這種業務場景多,和外部聯動多的系統,只有界定好內外部邊界,才能將系統和人員職責拆分到位。
系統的服務化粒度可直接對映參考內部子域劃分。如系統大小合適,系統負責人和系統之間一對一配比最好。
2.2 業務架構圖
業務場景和系統能力平滑匹配:
業務架構圖要將業務、系統思考清,圖要明確橫向和縱向的意圖。
① 橫向:表達業務流程
- 利益相關者:可透過使用者利益關注點不同做使用者群體劃分,可透過角色來抽象劃分後的使用者
- 橫向業務閉環:業務最終必定服務使用者,所有利益相關者的關注點應該在每個橫向層次上得到承載和體現
② 縱向:表達能力分層
- 縱向關注拆解,從“業務願景”不斷拆解到一個個細小的‘業務能力’載體
- 分層,對拆解過程進行抽象,歸納,提煉 4 層表達結構:場景層、產品功能層、系統能力層、業務模型層
場景分析是關鍵。業務架構產出靠不靠譜,其中一個因素就是業務域下的作為輸入場景是否考慮清晰,是否覆蓋全面,即‘場景分析’是否到位。該層是基礎,至於分層業務架構產出,如L0,L1,L2層可在該基礎做抽象和結構化。
3 落地系統
有層次,有節奏的構建系統:
3.1 一層:橫向擴張
以域為核心,打造系統版圖:
搭建業務和系統大的框架結構,做業務域級別的覆蓋和服務系統級別的落地。供應鏈採購作為相對成熟的業務,可參考業務側整體版圖來預判系統形態。
然後結合當前系統和業務現狀,規劃系統發展路徑。若新需求不在當前子域,可考慮將新的系統直接構建出來,承接這塊業務需求,以滿足未來發展。若有板塊內的關鍵子域落入其他板塊,可邊界治理,劃回業務和系統能力,劃出不屬於採購系統的,以保證規劃整體性和系統內聚。
3.2 二層:垂直深挖
精細化場景覆蓋:
<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/image-20240215201024705.png" style="zoom: 33%;" />
多角度驗證場景完整性,做場景級業務覆蓋和系統能力級別的補全。業務域初步搭建成型後,在支撐基本業務流程基礎上,不斷挖掘使用者在成本控制、提效、體驗的深度訴求,迭代細分場景以豐富系統。如審批域:
- 可提供專門服務緊急場景的緊急審批能力,除了幾個關鍵節點審批,其他日常審批節點都繞過,極速完成審批
- 也可根據便攜化審批訴求,提供移動審批
3.3 三層:自動化 &數智化
當前的終極階段,需長期思考探索。在精細化做了段時間後,系統有一定成熟度基礎,團隊也對業務有深入理解,可挖掘自動化&數智化機會。
如探索個性化流程場景:為不同業務方個體搭建個性化採購流程。關鍵思路,採購是重流程系統,而有些流程節點的設計是在風險控制和效率間博弈,如某些審批節點。而每個業務人員個體靠譜度不同,若能為某些靠譜業務人員跳過某些主要基於風險控制考量的節點,極大提升流程效率。
4 持續演進:動態平衡
<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/942b46ec935ddecf9682d743735e5c84.webp" alt="img" style="zoom: 67%;" />
目標架構,只是某時間對架構的理想狀態的判斷,當一些關鍵因素變化,目標架構需及時調整,而變化是持續的,所以目標架構其實也是連續變化的。當目標架構變化後,會開啟新一輪定義、設計和落地,所以系統能力和需求的匹配一直處於一個動態平衡中。如雙十一說明市場環境變化導致業務變化,而業務變化後系統側需要做出調整:
- 市場變化:本年雙十一銷售高峰除當天,還有‘11.1-11.3’,形成 2 個銷售波峰,波峰之間有 7 天緩衝
業務變化:對採購側業務方,這市場變化,多‘一次覆盤,一次補貨’
- 一次覆盤:‘11.1-11.3’大促後,可快速覆盤下當前採購量和目標偏差,調整關鍵資料如大促係數(大促期間對比平銷期採購量倍數)
- 一次補貨:覆盤後發現一些採購量偏差、一些爆品缺貨風險
- 系統變化:一波大促變兩波,對流量、系統容量需重新評估設計。可提供一些資料輔助決策工具幫助業務快速‘11.1-11.3’覆盤,和‘11.11’採購量重新預測。最後提供緊急補貨工具,縮短採購履約時間,完成偏差採購量補貨
5 總結
供應鏈這種B端系統門檻高,對架構師業務深度、技術深度提出雙向要求,埋頭做系統可不行。將業務敏感度和架構方法論結合,用發展動態眼光看,才能發現真正技術價值和業務價值。
本文由部落格一文多發平臺 OpenWrite 釋出!