
“既然未來已來,不如直接進入那個未來!”
核心系統轉型,相當於給正在跳動的心臟,做一場不停擺的換心手術。
不少核心系統採用的傳統集中式架構,已經不止是一種技術架構模式,而成為一種根深蒂固的思維習慣和設計理念。當它成為潛規則而影響了創新時,我們往往身在此山中而不為所知。
在阿里巴巴集團副總裁、阿里雲新金融&網際網路事業部總經理劉偉光看來,不少機構在做核心系統轉型時,極易陷入窘境:
-
選擇應用平遷、不做架構大變化,最簡單和快捷。有的銀行正因如此,開發力量80%以上的時間是在做程式碼的效能最佳化,難以承接新功能、新業務的開發。 -
先從簡單系統著手進行架構轉型,再推導到核心轉型。結果非核心領域的轉型實踐對於核心領域的參考借鑑意義有限。 -
核心系統按照功能模組切分,再眾包給不同的開發商來完成,避免被一家繫結。 -
選擇各個領域的最佳“供應商”,完成各自擅長的工作任務(諮詢建模、架構、設計、應用、基礎軟硬體),大家只熟悉自己這部分的“最佳實踐”。 -
追求技術架構完成解耦,碎片化供應商。實際上專案實施過程中IaaS/PaaS層適配雖然功能大體能夠適配,但在非功能性領域的磨合總出現莫名其妙的問題,產生大量溝通與適配成本。 -
業務應用是業務應用開發商的事情,技術平臺是技術平臺供應商的事情,兩者沒有關係。 -
……
這次,劉偉光將全面探討金融行業,尤其是銀行業,在進行核心系統轉型、升級過程中遇到的方方面面的問題與挑戰。本文從醞釀到成文歷經四年,期間他與團隊拜訪過近千家金融機構,沉澱出3.5萬字長文。
當中包括:目前核心領域分散式架構轉型、金融級雲原生分散式轉型的21個困惑與解答,新業態對舊核心的挑戰,雙核心並行與線上遷移的大致方案,以及第三代核心的標準與定義等。
“核”聚變 1
序言 4
引言 6
1. 金融核心分散式轉型的行業變革 7
1.1金融核心從業者的困惑 7
1.2核心轉型成功的標誌 8
1.3面對誤區的破局思維 10
1.4新思路新出路 12
2. 金融業務新方向呼喚技術的“供給側改革” 14
2.1開放金融體系需要可標準化的構件式核心 14
2.1.1不能變成新“豎井”的場景金融 14
2.1.2必須實現生態化的產業金融 15
2.2普惠金融體系需要可靈活組裝的核心繫統 16
2.3綠色金融體系需要可泛化設計的核心繫統 17
3. 金融核心轉型的能力要求與建設體系 17
3.1 何為“金融級雲原生” 18
3.2銀行核心系統轉型能力需求 19
3.3 支撐核心轉型的五層十二大能力體系 22
3.3.1業務領域建模 22
3.3.2應用架構整合 24
3.3.3應用系統建設 26
3.3.4基礎軟體設施 29
3.3.5基礎資源設施 36
3.4基於能力體系打造的金融級雲原生工場 38
4. 實施路徑與建設模式 39
4.1四階段五層模式 40
4.2多種實施路徑 40
4.2.1重構模式 40
4.2.1.1業務重構 41
4.2.1.2技術重構 43
4.2.2平行遷移模式 45
4.2.3 SaaS化批次模式 46
4.3 線上遷移與雙核心並行 46
4.3.1 面臨的並行挑戰 46
4.3.2 雲原生分散式核心推薦遷移策略 47
4.3.3遷移平臺能力建設 47
5.核心雲原生分散式轉型的價值與經驗教訓總結 48
5.1 第三代雲原生分散式核心的價值體現 48
5.2 第三代雲原生分散式核心的關鍵標準 50
5.3 核心相關係統建設的經驗教訓總結 51
創作這篇文章的想法已經醞釀了有四年多時間,時光如白駒過隙,我們仍初心不改,在這期間我和我的團隊跨越大江南北,拜訪了近千家金融機構,見證了數字金融這幾年在中國的高速躍遷,在擁抱移動網際網路和金融科技新技術的大潮中,中國金融的服務能力有了大幅度提升和客戶體驗的飛躍,開啟了技術驅動數字金融的新時代。
回顧技術在金融行業的發展,金融科技的變革與時代共舞,國外的基礎技術平臺和最佳實踐支撐了過去幾十年的金融行業的發展,直到今天我們也必須承認,這些國外的基礎技術平臺在很多單項技術能力方面仍然是具備非常強的競爭力。但是今天我們面臨的時代,是一個高速發展,具備一定的業務發展不確定性和網際網路特徵,並且需要與移動網際網路和音影片能力的高度結合,同時讓資料變成以資產方式無處不在的數智時代。不是過去的技術不先進,而是它們限制了我們對未來全面數字化金融的想象力,我們需要的是一套新的技術體系以實現金融機構真正的業務和技術的轉型。
以銀行為例,核心系統就是IT建設中皇冠上的明珠,是一家銀行的心臟,在我們與諸多銀行溝通交流的過程中,從那些無數次碰撞的火花中,腦海中關於未來核心系統建設的影子已經從一個模糊的亮光逐漸清晰。它不再是銀行科技部門按部就班按照週期建設的系統,它不再是一個固化的標準存貸匯功能堆積的能力集合,它不應該是不斷修修補補加外掛的平臺,它不再是和資料平臺和資料服務能力割裂的系統,它不再是一個牽一髮動全身的架構體系。首先它必須是銀行數字化轉型中最重要的一把手工程,是一個能夠讓內部員工和外部客戶都能感受到數字化能力無處不在的平臺;它是一個能夠快速生成新流程,快速建立和釋出新業務新產品,能力單元高度複用的平臺;它是一個能夠具備移動化資料化智慧化特徵的平臺;它是一個分散式基礎架構技術支撐的平臺,能夠以彈效能力應對網際網路類業務的峰值;它是一個融合雲計算中的先進技術能力去應對開放銀行和生態銀行時代所有業務的一棧式平臺,這就是我們腦海中那個未來的樣子。今天我們已經看到有些銀行已經在這個路上去積極的探索,這些探索的背後我相信就是未來引領行業,全新的最佳實踐。
我們在內部和外部不斷的探索與實踐中,逐漸提煉和總結了一些系統性的思考,也就是如何構造具備核心競爭力的核心繫統,打造真正“硬核的核心”,逐漸最佳化和改變目前建設的工程化體系,同時在基礎技術平臺和應用系統的耦合度上深入的進行研究探索,對於系統物理和邏輯部署形態上做了創新的實踐,同時融合了雲計算體系當中最先進的雲原生技術理念。
希望此文能夠給從業者帶來一些新的思考,從更大的視角去構建智慧化核心能力無處不在的新平臺,重塑數字金融時代的商業價值。
此刻我和團隊就在某銀行資料中心現場參與主機應用遷移到分散式雲原生架構平臺的過程,能親身見證這些推動金融行業發展變革的歷程,是我們這一代從業者的榮耀,也是我們的責任!
本書分為五個章節,比較完整的涵蓋了金融行業,尤其是銀行行業的核心領域在進行轉型、升級過程中遇到的方方面面的問題與挑戰。可以說,在數字化成為現代企業轉型發展的標配下,金融行業、尤其是銀行行業,其問題、思考與實踐具有相當的代表意義。作為這個過程的親身觀察者,參與者,直到推動者的過程當中,我們如實的記錄下來了從業者的艱難實踐,以及結合我們內部的和外部的實踐總結,希望能夠為這一偉大的歷程做出自己的一些貢獻,為從業者提供一些中肯的建議,少走一些彎路,多一些從容與信心。
第一章綜合的介紹了目前核心領域分散式架構轉型,雲原生分散式轉型的21個問題與困惑,這是歷經兩年多的實地走訪與調研的100%真實的問題。同時不光有問題,也有我們總結歸納並交叉驗證過的核心轉型成功的三大標誌,這是本文一切努力服務的三大目標。同時根據一些有代表性的實踐,我們列舉了核心從業者的實際的窘境,並引出了六大斷言。綜合這些問題,窘境與斷言,我們總結歸納出六個新的思路方向來解決這個世紀的難題。
第二章從不確定性時代的金融業務挑戰出發,主要從業務方向的角度分析了當下相對較新的金融業務形態對於傳統金融核心的挑戰與要求,主要是開放金融體系對於標準構件的要求,普惠金融體系對於靈活組裝核心的需求,綠色金融體系對於核心可泛化性的要求。當下的核心阻礙業務敏捷的障礙,這些新業務對於敏捷的要求,一一為您呈現
第三章從銀行核心系統的轉型能力需求的方面,主要從技術方向的角度分析了轉型的能力要求,回答了不少第一章行業和核心從業者的困惑。提煉了五層十二大能力體系,這些是新一代雲原生分散式核心建設的最佳參考模型。涵蓋業務建模領域,應用架構整合領域,應用系統開發建設領域,基礎軟體設施領域,以及基礎資源設施領域。
第四章在第二章業務角度和第三章技術角度的基礎之上,分析了不同細分銀行行業的大致模式,經過提煉總結成為實施與建設的四階段五層的實施路徑。同時介紹了三種不同的建設模式,重構模式,平行遷移模式以及SaaS化批次模式。供不同規模的銀行機構參考。並且按照相關的國家指引,給銀行提供了雙核心並行與線上遷移的大致方案。
第五章最後進行了全篇的總結,從實際的資料出發,給出了核心雲原生分散式轉型的價值,給出了第三代核心,也就是雲原生分散式核心的一些建議標準與定義,同時再次總結了一些建設過程中的經驗教訓,幫助金融企業,銀行機構早日實現核心轉型的重要價值。
一 金融核心分散式轉型的行業變革
曾幾何時,銀行業務系統、特別是銀行核心系統都與“雲技術”沒有任何聯絡,雲原生的種種技術和架構優勢(
微服務解耦
、敏捷開發、自動化測試與釋出、不可變基礎設施、去中心化的服務治理、宣告式API、Serverless無伺服器化等)對銀行核心而言都是“別人家的孩子”。
但隨著銀行以消費網際網路、產業網際網路、開放銀行生態為核心的數字化業務快速增長,銀行核心對敏捷交付、高併發、彈性伸縮等不確定性問題的應對,成為新一代銀行核心建設必須面對的“底線要求”。從雲計算技術發展中鑄就的雲原生和分散式技術在這樣的“時代要求”下必然成為銀行的主流技術,銀行核心也成為“雲原生分散式架構”攻克的“最後的堡壘”。
在銀行資訊系統中,核心系統承載了銀行存款、貸款、銀行卡、清算核算等核心業務,被稱為“銀行業跳動的心臟”、“銀行IT皇冠上的明珠”,其重要性不言而喻。回顧銀行資訊化30多年曆程,核心系統經歷了從“胖核心”到“瘦核心”的演變過程。“胖核心”以IBM大型機為代表,而“瘦核心”則以典型的IOE技術架構為代表。然而,全方位數字化金融時代的到來使得集中式架構的問題日益凸顯,比如:系統部署無法及時響應業務需求;系統彈效能力差,導致資源過度規劃和冗餘浪費;使用成本高等。雖然集中式架構仍然具備很強的競爭力和高度的穩定性,但是在擁抱中國數字金融高速迭代的浪潮中,業務驅動架構變革已成為今天的主題。
隨著集中式架構的六邊形能力(高併發、線性擴充套件、敏捷開發、按需彈性、精細化治理、多活可靠)已經達到極限,我們認為銀行核心系統的雲原生重塑也來到了“時代拐點”。
1.1金融核心從業者的困惑
舊的答案分崩離析,新的答案還沒有著落。
當金融服務進入到“連線一切”、“微粒式服務”、“永遠線上”、“毛細血管”的數字金融時代,業務對金融核心提出了全新的挑戰。雖然我們都知道,延續了幾十年的集中式架構已經越來越難以滿足現在和未來的業務要求。但是,支撐我們的不只是詩和遠方,更有身邊的日常。我們仍然需要面對當下具體的挑戰和問題。
金融核心到底該如何轉型?雲原生分散式是否是金融核心的未來?金融核心雲原生分散式轉型究竟帶來哪些價值?雲原生在解決原有問題的同時帶來了什麼新問題、如何應對?帶著這些靈魂拷問,我們調研了數十家金融機構,收集到了這麼一份沉甸甸的問題清單,這充分代表了行業在面臨挑戰中普遍感到困惑的地方。
問題:價值呈現[為什麼要轉型]
1.為什麼核心要轉型、要下移,雲原生分散式架構轉型帶來哪些價值?
2.核心雲原生分散式轉型與銀行數字化轉型的關係?
3.核心分散式轉型,與雲及中臺有什麼關係?
4.不同型別/規模的銀行核心雲原生分散式轉型的價值差異在什麼地方?
5.現在懂C,RPG這些的人越來越少,開發生態已經沒了,領導讓我招會騎馬的騎士,現在都是駕校學車的人了,我招不到人怎麼辦?
問題:價值落地[如何轉型]
1.核心下移雲原生分散式轉型工程龐大環節眾多,沒有一家公司能夠全方位覆蓋,如果還採取傳統專案的多家供應商整合工作模式,如何保證真正實現雲原生分散式核心而不是新瓶裝舊酒?
2.傳統廠商懂業務應用但是不懂雲原生和分散式,懂雲原生分散式的不懂銀行業務,如何推進?
3.核心雲原生分散式轉型需要管理上組織上如何配套?
4.要啟動核心雲原生分散式轉型的工作該如何準備,如何著手,需要考慮哪些方面的內容?
5.不同型別/規模銀行在核心雲原生分散式轉型的策略上存在什麼差異?
6.目前同業在核心雲原生分散式轉型實踐上有那些成功經驗可借鑑?
7.核心雲原生分散式轉型的實施路徑有那些, 採用什麼樣的步驟會比較好?
8.我現在已經有云,分散式資料庫等基礎設施了,我該怎麼開展核心雲原生分散式轉型?
問題:關鍵挑戰[用什麼來轉型]
1.核心雲原生分散式轉型的技術難點或者挑戰主要有哪些?
2.如何確保核心安全可靠的下移及雲原生分散式轉型?
3.核心下移及雲原生分散式轉型目前的生態是什麼樣子,有足夠的服務和支援能力嗎?
4.核心雲原生分散式轉型對於分散式資料庫的考慮有哪些,尤其是對分散式事務處理?
5.核心雲原生分散式轉型,傳統主機或虛機與雲之間的關係,二種模式的混合運維給生產中心帶來哪些挑戰?
6.核心雲原生分散式轉型一定是一個過程,在這個過程中如何快速整合由不同技術體系構建的應用系統?
7.金融級雲原生分散式核心系統是什麼?包含哪些內容?有哪些特點?
8.分散式架構框架,微服務框架,應用開發框架這些我都有,別的廠商也都說能做,你們有什麼獨特的價值?
9.從上面代表性問題反映出核心系統的重塑是一場浩大且複雜的工程,這些問題涉及範圍非常廣,目前也沒有統一的標準答案。
初心之外,還要用心。我們經過上百次的面對面交流和討論後,決定用心地完成這篇萬字文章,目的是一起來探索,希望各位讀者能夠或多或少地找到部分答案。
1.2核心轉型成功的標誌
橋樑越大,內部結構就越重要。
在實踐和探索的過程中,我們透過不斷分析歸納總結,得到了下列這張大圖,這是志同道合的客戶和我們共同的認知與成果,在這個領域,我們必須要心懷敬畏。因為在傳統銀行核心下移分散式雲原生改造的領域,這是一條無人之路,大家都在不斷探索和學習。

這張圖展現的就是核心轉型的初心,以及金融機構對合作夥伴的要求。也是考慮迎接核心轉型這個挑戰“以終為始”的出發點。整體而言,分為兩個部分。
1.成功的標誌
核心轉型最後必須是金融客戶要能夠成功,並且要能夠實在的給客戶帶來巨大的價值,而不僅僅是買來一堆高科技產品堆在開發和資料中心。從這一點出發,行業認為核心轉型的成功標誌是
1)安全自研可控
自研可控有多重維度,第一種維度是技術架構的安全可控,可以對系統架構和關鍵技術進行整體把握。主要涉及自產自研、關鍵技術產品程式碼的擁有、智慧財產權的可控性等。
第二種維度是業務層的解耦,對於核心系統的功能能夠自主的按照業務發展進行研發迭代,而不是高度耦合、牽一髮動全身。
2)財務成本,單交易/賬戶成本下降
上一代集中式架構,尤其是主機體系,綜合的TCO成本相對較高,不僅僅是購置成本,包括長達10多年的運營維護成本,擴容成本,這些都還只是顯性成本,反而更容易忽略的是人員成本,擁有相關主機技能的人才越來越少,越來越難培養相關技術人才。
3)業務穩定性連續性不降低前提下支撐業務敏捷
天下武功,唯快不破,業務敏捷是面對不確定性的制勝法寶。這也是核心轉型的最大動因之一。例如對於新業務的快速功能性支撐,對於老業務的快速升級迭代等等。但是核心光敏捷是不行的,前提是保證可靠性和穩定性,沒有穩定,就沒有金融安全,沒有金融安全一切都是空中樓閣。
2.對於合作伙伴的訴求
金融機構和行業認識到,要完成這個壯舉,必須是整個產業鏈條和整個生態的大協作才有可能,這不是一兩家技術公司的事情。從這個角度出發,我們識別出來以下4個大的方向,是保證客戶,整個行業成功的要素。它們環環相扣,缺一不可。
1.諮詢與設計中關於雲原生分散式的架構設計,遷移方案,並行方案,實施路徑等
2. 專案實施和組織陣型的提前規劃設計,基礎平臺和應用開發的組織陣型規劃
3. 運維保障中快速解決核心故障問題和機制保障;白盒化,更自動的監控和運維工具的支撐
4. 產品與方案層面,產品與方案是整個核心遷移和雲原生分散式轉型的基礎支撐,因此產品的長期規劃和產品的延續性,基礎產品的釋出更新和生命週期這些都是尤為重要。
但無論怎樣艱難,業界已經形成一種共識,新的時代已經到來,從集中式到分散式,從分散式到雲原生分散式架構的轉型,是一條必經之路。
1.3面對誤區的破局思維
核心轉型需要“站在整體看區域性、站在結果來看過程”。
2021年諾貝爾物理學獎頒給了“複雜性系統”的研究,金融核心轉型就是金融業的“複雜性系統”,其中涉及了業務、技術、產品、組織、人員能力、流程、生態、協同和管理等諸多方面的問題和挑戰。如何解決這些問題本身是個開放命題。
同時我們也看到很多機構在核心轉型實踐中存在的一些誤區。面對這些誤區,需要具有破局思維、打破“簡單型系統”的思維禁錮,同時需要“站在整體看區域性、站在結果來看過程”,這樣才能明確地站在“終局”來看,什麼肯定是不對、不合適的,才能一步步逼近成功。
下面我們從核心轉型成功的3個角度出發分析一些核心轉型領域的常見誤區和我們思考斷言,希望能夠給大家帶來一些啟發和幫助。
誤區1:先從簡單系統著手進行架構轉型,再推導到核心轉型。
某銀行由於自研可控要求,只考慮了OA相關係統,核心系統不考慮。但是核心領域被卡脖子的問題依然存在,並且OA系統的自研可控成果對於核心領域而言,是無法借鑑的,這是完全兩個不同領域的應用,架構完全不一樣。導致未來核心應用轉型仍然需要大量的探索和工作要做,總體支出會更大。
斷言1:“從儉入奢易、從奢入儉難”。非核心領域的轉型實踐對於核心領域參考和借鑑意義有限,需要在核心領域架構體系上及早納入自研可控等架構級別考量,避免2次遷移成本和時間成本。
誤區2:追求技術架構完成解耦,碎片化供應商,不被繫結。某銀行B在核心雲原生分散式轉型的過程中,對於核心技術平臺要求能夠完全的分層分模組解耦,例如在IaaS/PaaS/SaaS/核心資料庫這些關鍵領域,在任何一層出現問題的時候都能夠隨時的切換到可替代的平臺,不繫結任何一家技術平臺供應商。但是實際上專案實施過程中IaaS/PaaS層適配雖然功能大體能夠適配,但是在不同廠家的磨合方面,穩定性和效能等非功能性領域出現莫名其妙的問題,並且協調兩家廠商的產品研發對接需要大量的溝通與適配成本。
斷言2:“基礎不牢、地動山搖”,底層架構的高效穩定是第一目標。底層架構在起步階段從“統一架構”更加容易走穩,再逐步進行區域性最佳化和解耦。
誤區3:核心系統按照功能模組切分,再眾包給不同的開發商來完成,避免被一家繫結。某銀行C整個核心進行分散式改造的專案群極其龐大,平臺技術部與各家核心應用開發商進行了充分的交流,然後選定各家較為擅長的領域來實施建設。這種眾包方式的確沒有繫結任何一家供應商,但帶來的問題在日後實際核心下移開發中日漸突出。眾包給眾多核心應用開發商之後,由於開發商都只熟悉自己那一部分業務和技術框架,無法做到全域性的架構管控和統一技術標準打通。例如:全鏈路跟蹤與壓測、業務染色、單元化、異地多活等。
斷言3:核心架構中“非功能性需求”考慮要大於“功能性需求”。“非功功能性需求”應由技術架構來承載。業務模組可以解耦設計和分包,技術架構要統一規劃和統一標準,實現核心領域的“統、分結合”。
誤區4:業務應用是業務應用開發商的事情,技術平臺是技術平臺供應商的事情,兩者沒有關係。傳統集中式環境下技術平臺經過了經年累月的標準化以及適配,對於應用的普適性相對更強,所以應用開發不需要太多考慮底層架構的差異性,只需要當黑盒子來使用即可。但是在雲原生架構時代,需要考慮分散式CAP原則的調整,適配與折中的設計。考慮分散式事務,分散式資料一致性,異地多活等難題對於業務模式,業務流程,業務底層資料模型的特殊影響與特殊設計,如熱點賬戶,業務服務跟蹤治理,全域性業務序列號等專題。而這部分的專題設計,是傳統上層應用與傳統底層技術平臺之間的灰色地帶與結合帶,它往往決定了整體系統的整體表現,尤其在極端情況下的非功能性表現。
斷言4:傳統集中式架構下的核心建設模式在雲原生架構下大多數情況下並不適用,需要引入額外的框架、機制與設計來保障核心系統的整體表現。
誤區5:選擇應用平遷、不做架構大變化,更最簡單和快捷。某銀行D由於核心相關係統規模太大,應用數量眾多,原來大量應用是在集中架構的封閉系統中,採用rpg,cobol等語言編寫,行方為了想盡快將系統從封閉系統下移至開放平臺,為了快速和簡單起見,使用了一種並不成熟的程式碼翻譯工具,將整個rpg語言翻譯至java語言並部署在開放平臺,底層使用分散式資料庫承載資料。整體應用架構沒有做太多的調整,基本上還是屬於集中式架構的範疇。在後期的執行過程中發現較多的效能問題與可用性問題,以及集中式應用與分散式資料庫的配合適配問題,只能讓龐大的開發團隊進行每個程式的程式碼的手工效能最佳化,導致開發力量80%以上的時間是在做程式碼的效能最佳化,根本無法承接新的功能或者業務的開發,拖累業務應用建設的整體進度。
斷言5:核心轉型最佳路徑是追求“P/PC平衡”– 產出和產能平衡。不僅僅是完成 “產出”任務(應用遷移),更為重要的是升級“產能”(技術架構能力)。“產能”(技術架構)升級後會推動更大的“產出”(業務價值),成為全行數字化轉型的助推引擎。
誤區6:選擇各個領域的最佳“供應商”,完成各自擅長的工作任務(諮詢建模、架構、設計、應用、基礎軟硬體)。某銀行E找了專業諮詢團隊進行業務梳理與業務建模,然後這些資產大部分停留在紙面,並沒有相關後繼的指導和形成標準規範。導致核心研發團隊依舊不太清楚如何開展後繼的大規模開發。後繼根據各個業務板塊進行應用開發商的招採,選擇各個領域最佳供應商。在實際過程中,還是仰賴於應用開發商的經驗,沒有辦法參考前期業務諮詢和建模的資產,例如某應用開發商A負責客戶模組,某應用開發商B負責產品模組,大家都只熟悉自己這部分“最佳實踐”。如何遵照前期的業務建模的成果,如何在整個核心專案群內形成端到端的業務流程落地是沒有參考和總控的,導致沒有達到最初的規劃和設計目標。
斷言6:核心轉型相比選擇“供應商”而言,更為重要的是選擇具備“端到端落地實踐”的。從理念、方法論、設計規劃、平臺架構、標準規範都能夠戰略性長期投入和總體把控的“合作伙伴”才能真正落地實現業務敏捷和推動數字化轉型,而不是為一堆冠名“數字化轉型”的文件買單。
這些結合客戶常見現狀、誤區和思考斷言,也是未來在核心轉型中可以借鑑和參考的要素。流水可能會繞路,但絕不會回頭。
1.4新思路新出路
面對複雜性,需要的不僅僅是一套“方案”,而是一套應對的“原則”。
針對以上常見的困惑,窘境和挑戰,要達成核心雲原生分散式轉型的成功,我們需要的不僅僅是一套技術方案,更需要一套能夠指引行動的“原則”。正如雷-達里奧在《原則》一書中提到:原則猶如指引行動的“燈塔”,它連線著我們的目標與行動。解決不確定性靠敏捷、解決複雜性靠原則,越是複雜的系統越需要一套原則來保證。
我們將金融核心轉型所需要的原則總結為一個全新“六邊形”原則。
1)業務技術閉環原則:整個體系需要支援“業務-技術”閉環敏捷模式,讓業務敏捷從一句口號到真正能夠快速開發落地上線(從有業務想法,到建模,到領域設計,到服務設計,到資料模型,到應用開發,到應用部署,到應用治理,到應用運維的)
2)自動化生產線原則:雲原生分散式轉型提供端到端的工具鏈,必要的基礎構件以及先進的實施工藝,形成完備的、端到端的、自動化的、高效的、簡便的且可落地、可運營、可治理的完整體系。比如可以將業務流程數字化為可呈現可複用的資產,並能自動化轉換成為應用系統編排流程。比如可以將業務的服務模型定義自動化轉換成為應用和微服務模組的程式碼框架,並且可以選擇裝配對於雲原生分散式環境下事務與資料一致性的支援,選擇裝配從業務角度端到端監控的能力,類似的能力數不勝數。
3)開放可插拔原則:這個體系是開放,可整合的生態體系,能夠以相對標準化,規模化的方式構建出雲原生應用。
4)可組裝構造原則:依賴這種體系,可高效支援新的金融業務形態,如綠色金融,普惠金融,數字金融,碳金融,開放金融等等。因為這些紛繁複雜模式的標準化構件透過生產線能夠快速製造並複製出來,只需要疊加和裝配差異性的部分。
5)普適性相容性原則:這種體系徹底的改變了目前核心領域手工作坊的人力堆積模式。如果最複雜且對於技術要求最高的核心領域都可以採用這種模式來實現,那麼該體系更可以使用在面向未來雲原生模式的更廣泛的業務應用開發領域。
6)易用透明化原則:金融機構和合作夥伴可以利用該體系進行自研可控的業務應用的高效開發而不用關注雲原生應用的特殊細節與技巧,因為這些複雜的分散式與雲原生裝配與銜接工藝流程已經透過自動化流水線自包含實現了。
我們將這套原則沉澱為一套全新的方法論,工具平臺體系和工作模式,它涵蓋了業務模型與流程建設的最前端,以及系統與業務在雲原生環境下的運維和運營,同時這個體系定義了比較明確的工序和生產階段,具備高度的自動化能力,能從一個工序自動化的銜接到下一個工序,只有這樣規模化、自動化、高效率的工廠化生產模式,才能實現真正的落地業務敏捷,實現應用與雲原生分散式技術的可靠融合。這種新的核心繫統雲原生分散式轉型的建設模式以及配套的自動化生產線工具體系,我們稱之為“金融級雲原生工場”模式。

2.1開放金融體系需要可標準化的構件式核心
2.1.1不能變成新“豎井”的場景金融

2.1.2必須實現生態化的產業金融

2.2普惠金融體系需要可靈活組裝的核心繫統

2.3綠色金融體系需要可泛化設計的核心繫統

3.1何為“金融級雲原生”
-
分散式微服務:微服務的核心就是將大的單體應用拆分為更小的元件服務(微服務)。能夠做到從底層IT基礎設施、到資料庫、到中介軟體、到應用部署包等全部環境都能夠獨立部署。這樣實現從需求設計、開發、打包、部署全部都能夠獨立完成。實現各個微服務之間徹底的松耦合。同時微服務之間又能夠透過輕量的介面進行互動。 -
DevOps:核心就是敏捷研發、持續整合和持續交付。需要將軟體生命週期過程中的需求、設計、開發、編譯、構建、打包、部署,從測試環境、到生產環境整個過程能夠實現全部自動化。將敏捷研發、自動化測試進行整合和協同。 -
服務網格:去中心化的服務整合和治理框架。原來架構一般採用集中式ESB匯流排/API閘道器來做介面、API的服務治理和管控,將API介面註冊到API閘道器。由於ESB/API閘道器是一箇中心化的架構,所有的請求和流量透過API閘道器,所以中心化的API閘道器可以對流量進行安全、日誌、限流熔斷、監控等各方面的管控和治理能力。當在去中心化的架構下,沒有中心化的EBS/API閘道器情況下,所有流量下沉到了各個微服務中去了,需要在為服務端增加一個邊車代理,透過邊車代理來做流量的攔截,同時實現對流量的管控和服務治理。 -
不可變基礎設施:當傳統環境部署中,當有各類變更(應用程式、資料庫、中介軟體、基礎設施等)發生時,往往可以直接修改配置來實現。但云原生強調任何應用當你部署到生產環境中形成一個例項(容器/虛機)後,這個例項不能發生任何變更。當發生了變更修改時,應該基於映象生成一個新的例項,同時銷燬舊的例項。 -
宣告式API:與命令式API操作相對應的概念。傳統環境的後端操作(比如建立一個容器例項)會去執行命令列,來完成操作動作(這種方式對小規模應用而言比較有效,但大規模和自動化而言,就非常低效)。而對於宣告式API而言,需要透過定義宣告配置檔案(比如:YAML檔案),來宣告清楚所要做的動作、以及做完後需要達到的狀態。只需要完成這個宣告式的配置檔案,底層平臺再去解釋這個宣告式API配置檔案的內容,再去做後端的操作,同時把各個底層的技術元件協調到需要的狀態。宣告式API下面,任何對生產環境、對軟體的修改都不是直接去操作一個命令來完成,都是先要寫宣告、寫配置,這個配置檔案可以納入配置管理中集中去做管控和管理的。這樣既可以大規模、自動化去執行變更和管理任務,也可以當生產環境出問題時,可以快速去追溯對生產環境做過什麼樣的操作,方便做相關的回退和回滾操作。

3.2銀行核心系統轉型能力需求

3.2.1業務能力
3.2.2工程能力
3.2.3技術能力
3.3支撐核心轉型的五層十二大能力體系
3.3.1業務領域建模
-
基於銀行同業已有建模實踐成果敏捷建模,而非投入大量資源且週期長的建模過程; -
透過建模平臺實現成果保鮮,持續為業務迭代和創新服務,而非核心繫統建設完成之後束之高閣,逐步與系統演進結果脫節; -
建模成果能夠藉助建模平臺、結合雲原生技術快速落地。
3.3.1.1業務建模與技術建模

-
業務流程建模:透過對業務流程現狀分析,結合目標核心系統建設能力要求,參考行業建模成果,形成結構化的業務流程模型; -
業務物件建模:基於資訊模型資產,結合對業務流程提取的業務實體,進一步分析實體間關係,獲得業務物件模型和業務行為模型。
-
業務流程模型到服務流程組合的轉換; -
業務物件模型到邏輯/物理資料模型的轉化; -
物件行為模型到API介面/原子服務的轉換。
3.3.1.2建模平臺
-
領域架構作為系統的整體架構,包含系統中所有的業務模型,把系統中的業務模型按架構圖的方式編排起來; -
業務模型是由業務流程組成,是多條業務流程的集合; -
業務流程串聯交易模型,形成業務流程圖; -
交易模型中定義交易行為、交易的屬性及交易行為的輸入輸出; -
資訊模型主用於定義九大資訊要素:參與者、產品、合約、賬戶、事件、條件、地理位置、資源項、渠道,理論上任何交易模型都是由九大資訊要素構成,在不能滿足時也支援新增新的資訊要素。
-
微服務模型是利用雲原生特性,把業務流程中的步驟進行聚類分析,獲得相應的微服務模型; -
流程模型承接業務建模中的業務流程,透過對業務流程中的功能進行細化分析,獲得實現業務功能的一個或多個具體介面,明確每個介面的輸入輸出欄位,分析出實現業務功能所需的實體及實體間關係,獲得實體模型; -
需要持久化的實體模型,按資料庫設計的相關要求轉換為資料模型,通常情況下實體模型與資料模型是一對一或一對多關係。
3.3.2應用架構整合
-
不是:簡單的將核心系統按照業務條線劃分為客戶、存款、貸款等應用,採用分散式技術重新實現一遍,很多公共的能力(例如產品管理、合約管理等)都需要各個應用重複建設,資料層面不互通; -
而是:將核心系統按照業務領域建模體系進行整體規劃設計,形成可供全行IT系統複用的業務中臺能力,提供業務構件;透過服務運營與編排,使用業務構件快速進行業務創新。
3.3.2.1應用架構中臺化

-
功能豐富:經過核心系統實際使用驗證、具備能夠支撐產品系統的必備業務功能; -
迭代穩定:作為企業級能力共享元件,被大量產品系統複用,需要能夠保持穩定、清晰的迭代升級路徑; -
非功能特性卓越:具備優秀的效能和可用性,為整個產品系統的效能和業務連續性提供保障。
3.3.2.2服務治理與組合

3.3.2.3異構應用整合
3.3.3應用系統建設
-
統一ISV(獨立軟體開發供應商)開發技術棧,避免技術管理失控,降低系統執行風險; -
統一、易用的開發平臺與框架,簡化和規範化應用開發; -
全流程覆蓋的DevOps體系,涵蓋需求結構化管理、程式碼版本與分支管理、質量管控與度量,自動化編譯打包與部署等方方面面。
3.3.3.1統一開發體系
-
透過腳手架,快速建立規範化、標準化、金融級的應用開發工程; -
透過元件模板,生成符合不同金融場景的元件使用模板程式碼,確保使用的正確性和規範性; -
在工具類包層面,提供全面的金融級工具類,避免安全隱患。

3.3.3.2開發運維一體化
-
需求結構化與變更管理:業務需求條目化之後儲存,需求變更影響分析、程式碼修改與測試用例變更整個過程形成閉環管理; -
程式碼版本、分支的管理策略:面對不同上線週期的需求,如何設定程式碼分支、如何進行合併管理,需要有成熟的指引與配套工具; -
程式碼質量管控與度量:面對不同合作伙伴、不同能力層級的開發人員產出的程式碼,需要做到程式碼質量可度量並得到有效的管控; -
自動化編譯、打包與部署:眾多微服務應用、多環境和大規模部署叢集,手工構建與釋出已經完全不具備可行性,必須有配套的工具支撐。

-
專案協同:提供對需求、迭代、缺陷等各個維度的協同管理以及相關的統計報告,讓研發團隊高效協作; -
程式碼管理:提供程式碼託管、評審和掃描、質量檢測等功能,保護企業程式碼資產,實現安全、穩定高效的研發生產; -
測試管理:標準化管理測試用例,快速搭建一體化(開發、測試、反饋)流程,有效提升交付效率和治理; -
持續整合、釋出流水線:提供靈活可用的持續整合、持續驗證、持續釋出功能,幫助企業高質量、高效率的交付業務; -
製品倉庫:提供多種軟體包管理工具的企業級私有倉庫服務,支撐企業級依賴託管。 -
知識庫:透過可協作的結構化文件,將知識沉澱下來,並在團隊中有效流動,提升企業創造力。
3.3.4基礎軟體設施
-
採用充分磨合與驗證、功能完備(如單元化支援)的中介軟體體系,而非在應用系統開發階段還需要不斷修修補補、甚至進行架構妥協的中介軟體體系; -
滿足自研可控與容災需求的分散式資料庫,容災情況能夠真正做到可切換、敢切換; -
異地多活單元化能力,不只是架構設計,還需要中介軟體、資料庫和運維體系都具備必需的單元化支撐能力。
3.3.4.1分散式服務能力
-
高效能:核心的一個交易可能涉及到多次服務呼叫,服務框架必須高效能以避擴音高服務響應時間; -
可擴充套件:擴充套件性包括多個方面,例如:每家銀行內部通訊協議各有不同,強大的擴充套件性是服務框架適配行內需求的重要考量; -
企業級的服務註冊中心:具備支撐海量服務註冊發現的能力,從而實現銀行內部真正服務打通; -
服務治理能力:在具備限流、熔斷、服務訪問控制等動態服務質量治理能力的同時,具備與靜態服務治理打通的能力,從而形成服務動靜結合、全生命週期的管理; -
高效能的服務鏈路跟蹤:支援抽樣的高效能跟蹤能力,為分散式環境下的問題排查提供必需的基礎能力。
-
應用分散式架構的排程、協同:統一排程、協調分散式下的批處理應用叢集,充分利用分散式算力、提升批處理執行效率、降低處理時間,為日終作業鏈加速,留出更充分的時間給大資料處理等系統; -
資料分散式架構的作業拆分與事務控制:資料分散式儲存之後,一個作業中的資料按照合理的規則進行資料分包,以資料包為單位併發處理以提升執行效率,同時,要考慮分包策略對資料庫事務的影響。
-
多種事務模式:支援TCC、SAGA等多種分散式事務實現模式;支援跨服務、跨資料庫的分散式事務需求; -
異常處理能力:支援空回滾、防懸掛等能力,完善的異常處理機制,包括掛起事務、異常事務的重試、監控與告警等處理。
-
高效能:作為每個對外服務都經過的鏈路節點,高效能是API閘道器最基礎的要求; -
支援多協議和協議轉換:支援常見RPC協議(Dubbo、HTTP等)和行內特色通訊協議的自動轉換能力; -
靈活的路由規則配置:支援自定義擴充套件路由策略,從而可以快捷的實現單元化路由功能; -
服務治理能力:在閘道器層提供熔斷、限流、降級、訪問控制等治理能力。
3.3.4.2分散式資料能力
-
分散式事務引擎:內建成熟的分散式事務引擎,嚴格支援事務的ACID屬性; -
透明可擴充套件:支援對應用透明的線上平滑擴縮容,提供不受限的資料容量和處理能力; -
極致的高可用:作為核心系統資料庫,需要有完備的高可用架構和高可用等級; -
同城容災RPO為零:確保同城容災可切換、敢切換; -
滿足自研可控需求:國內自主智慧財產權的資料庫,安全可控。
-
分散式資料訪問元件:支援對應用程式碼透明的分庫分表、讀寫分離和全表掃描,能夠生成全域性唯一序列號,可以實現平滑擴容; -
資料同步元件:實現資料變更的準即時處理。通常用於資料多副本同步、分庫分表資料匯聚、分散式快取更新等場景。
3.3.4.3高可用運維能力
-
隨著核心系統進行微服務應用拆分,原有運維管理的應用從個位數增長為數十甚至上百個; -
核心應用微服務拆分後,交易鏈路需要跨多個微服務應用完成,對業務監控和定位提出了挑戰; -
以往核心系統主要採用被動運維方式,即出現故障然後定位故障和處置故障,而隨著業務的不斷發展,核心系統也面臨網際網路流量、業務快速上線等衝擊,為應對多方衝擊需要從被動運維轉向主動運維; -
技術的進步也驅動了核心系統容災的升級,同城容災切換RPO=0也成為新核心建設的目標,既滿足合規要求,也極大的減少了業務損失; -
此外還有諸如混沌工程,AIOps等智慧化運維工具的優勢也在逐步應用到核心系統運維中。

-
資金安全:發現資金損失的風險。透過執行核對規則,以小時為頻率、準即時等多種時效策略,發現資金類資料問題,向用戶告警;使用者可以第一時間收到告警,根據異常資料排查問題,分析原因,進而解決問題; -
系統安全:透過IaaS層安全系統和安全攻防演練,確保基礎設施層面的安全;基於應用安全體系、資料隔離和安全掃碼,確保應用層面的安全; -
高可用能力:高可用能力包括風險預防能力和應急處置能力。一是透過高可用巡檢能力和應急演練能力建設加強高可用風險預防能力;二是透過監控能力,故障定位能力,應急預案能力建設和打通加強應急處置能力; -
成本容量管理:透過全鏈路壓測來提升系統和業務真實水位測試能力,以此為基礎去打通資源管理平臺和容量管理平臺。在保障業務容量穩定的前提下實現容量管理自動化,快速進行容量調撥。
3.3.4.4異地多活單元化
-
容災與業務連續性:支援同城和異地容災模式,RPO=0,RTO很短;單元化多活,縮小故障影響範圍;藉助自動化容災平臺,可支援容災預案和便捷的容災演練; -
彈性:異地多活提升擴充套件性,理論上無限擴充套件;按照單元靈活部署,提升擴容效率; -
資源利用率:相對傳統兩地三中心部署架構,單元化架構能夠充分利用各個資料中心資源,顯著提升資源利用率; -
灰度:靈活的流量調撥能力,支援單元級灰度釋出;新老單元呼叫隔離,避免交叉訪問相容性,提升釋出效率。
-
資料分割槽:對於資料的儲存至少需要具備兩項能力。其一是資料分割槽拆分,即是把資料按照某一個維度水平劃分開來;其二就是系統業務資料分割槽所用的拆分維度和拆分規則都保持一樣,確保同一條交易在整個鏈路中各個業務系統的資料分割槽是一致的,避免出現因拆分規則不一致導致的跨單元訪問; -
交易路由:一筆交易鏈路中能夠按照預先設計的單元流量規則進行流量的路由和轉發。
-
中介軟體能力要求:各中介軟體(API閘道器、服務框架、訊息佇列等)整合單元化路由能力,並且能夠透過全域性的動態配置中心即時修改並準確推送路由規則到各中介軟體,實現單元化的切流。例如:API閘道器能夠根據路由規則選擇合適的單元進行呼叫分發;服務框架能夠根據路由規則進行服務提供者路由、訊息佇列能夠根據路由規則進行訊息跨單元投遞 -
資料分割槽能力要求:資料按同一維度水平拆分;資料分片按地域部署,各資料分片在同城和異地均有副本,資料庫分片主備副本可隨時切換;非容錯場景各機房應用只訪問本單元資料分片,容災場景可直接訪問同城的資料分片; -
運維體系能力要求:支援單元化架構下的監控、容災切換、應急預案等能力。
-
分散式資料線上分割槽調整與擴容能力:傳統實現資料分割槽的方式是資料結構上增強拆分鍵用於分庫分表後的資料訪問路由。這種方式一旦投產後資料拆分規則就不能隨意進行調整,如迫不得已必須調整,則要進行資料拆分的重新分佈遷移,對業務連續性會有較大的影響。分散式資料庫依靠自身的分割槽技術可以實現對應用相對透明的資料擴充套件能力;支援線上分割槽調整的能力則對單元化架構下實現資料分割槽的線上調整提供了可行性; -
服務網格統一管理路由規則能力:服務網格技術是將中介軟體等能力下沉,實現原有各中介軟體的功能。同樣,對於單元化的路由,也可以下沉到服務網格統一處理,減少單元化架構落地實施時對各中介軟體的能力需求。 -
透過服務網格加分散式資料庫的單元化方案,因為可以根據業務需求而動態的調整分割槽和路由規則,所以我們稱之為“動態單元化”方案。
3.3.5基礎資源設施
-
IaaS層能夠真正做到按需快速交付,避免複雜又漫長的申請、審批和採購流程; -
安全、穩妥的推進自研可控能力建設,確保核心系統的業務連續性。
3.3.5.1彈性擴充套件能力
-
軟體定義平臺,遮蔽底層硬體差異,資源可根據需求進行橫向或縱向的擴充套件,對上層應用無感知; -
生產級的可靠性及安全合規,保證金融機構資料的連續性和安全性; -
統一管理入口,對不同人員的角色進行許可權隔離,便於使用者運維管裡。
3.3.5.2自研可控能力

3.4基於能力體系打造的金融級雲原生工場

-
設計車間:業務領域建模是將業務需求轉化為IT能力的關鍵設計環節,充分考慮雲原生應用的特點,使用領域建模及管理平臺,把建模過程變得簡單、敏捷,建模成果易落地並持續保鮮; -
原材料(功能完備的元件與聯結器):核心引擎透過中臺化能力中心,承接業務領域建模成果,為生產業務系統提供功能完備的業務元件;服務治理與整合作為聯結器,整合各業務元件進行服務組合,支撐業務快速創新;服務網格作為聯結器整合多種技術棧的新老系統,為應用互聯互通提供保障能力; -
標準化生產線:透過企業級應用開發和架構治理平臺、企業級一站式DevOps平臺,遮蔽複雜的雲原生技術細節,提供低程式碼編排生產能力,助力金融機構和合作夥伴(ISV)高效開發業務應用; -
執行底座:堅實的技術底座,涵蓋充分磨合的PaaS、IaaS、單元化架構和高可用運維體系,為雲原生分散式核心的穩定執行奠定堅實的基礎;基於單元化架構和一雲多芯的自研可控能力,滿足金融機構自研可控需求。
4.1四階段五層模式

4.2多種實施路徑
4.2.1重構模式
4.2.1.1業務重構



4.2.1.2技術重構



4.2.2平行遷移模式
4.2.3 SaaS化批次模式
4.3 線上遷移與雙核心並行
4.3.1 面臨的並行挑戰
4.3.2 雲原生分散式核心推薦遷移策略
4.3.3遷移平臺能力建設

5.1 第三代雲原生分散式核心的價值體現

5.2 第三代雲原生分散式核心的關鍵標準

5.3 核心相關係統建設的經驗教訓總結
5.系統建設實施的巴別塔
關鍵詞
雲原生
平臺
微服務
模式
問題