玉山銀行如何打造新一代核心系統,微服務架構轉換經驗大公開

 News from: iThome

玉山銀行副資訊長劉帥君在一場活動,對外揭露玉山銀行新一代核心系統架構,從摸索階段到具體成形的經歷,甚至,玉山重新整編了架構師團隊,藉由職責分工更明確,來找出能滿足新一代核心系統的架構。

2020年8月,玉山銀行上線以雲端原生技術、微服務架構,自行打造的新核心系統,創下國內金融業自建銀行核心的首例。玉山銀行副資訊長劉帥君近期在Kubernetes Summit上,對外揭露玉山銀行新一代核心系統架構,從摸索階段到具體成形的經歷,甚至,玉山內部重新整編了架構師團隊,為的就是找出真正能夠滿足新一代核心系統的架構。


「這並非一天能達成」,劉帥君提到,玉山新核心系統經過5年時間,從討論、規畫、整理需求,並清理出28年來業務邏輯的資料,加上開發,與長達1年的測試後才正式上線。「非常刺激」,他這樣形容自家團隊從無到有打造新核心的心境。

不過,要重新設計一套核心系統的框架,該從何處先下手?玉山IT團隊面臨的第一大挑戰是,1992年自行在IBM大型封閉系統上開發的第一套核心系統,經過28年,已經發展成錯綜複雜而且疊床架屋的狀況。

劉帥君回憶,一開始接到建置新核心系統的任務後,團隊規畫出一套玉山銀行未來的資訊藍圖,採取了服務導向架構(SOA),由核心系統加上對外通路(Channel),洗錢防制與風險控管等法遵相關系統,以及如清算、卡片管理等內部作業系統,底層則是數據管理與儲存的基礎設施,甚至,與外部機構如中央銀行、財金公司、國際Swift組織、其他銀行的連線等。另外,也透過企業服務匯流排(Enterprise Service Bus,ESB)集成所有對外的連線與服務,來存取核心系統的資料功能。


劉帥君提到,這套資訊藍圖滿足了玉山對未來業務發展的想像,但,從另一個層面來思考,這套資訊藍圖是否也能滿足系統工程中6大非功能性的需求(Non-functional requirement),這包括了自主開發、獨立部署、增加系統韌性,以及第四項需求是系統發生錯誤時能進行熔斷,第五項則是能包容與接納多種技術來建置新核心系統,還要考慮每個服務的可擴展性。最後,發現原本設計的資訊藍圖無法滿足這幾項非功能性需求,於是,玉山決定採取其他作法來打造核心系統。

摸索過程中,玉山團隊開始更深入了解自家系統的樣貌,劉帥君表示,光是一套櫃員系統的串接就相當複雜(如下圖),何況銀行每個業務、產品大多有一套獨立系統,如何梳理每套系統間的串接,是一大挑戰。


為此,玉山內部重新整編了架構師團隊,將企業架構師(Enterprise Architect)、部門架構師(Segment Architect )、技術架構師(Technical Architect)等成員獨立組成一個團隊,「讓架構師的職責更為清楚,來思考相關解決方案,經過論辯、論證後,才找出真正能滿足未來核心系統的架構」,他說。

假設以信貸作為一家銀行的重點產品為例,劉帥君解釋,企業架構師的職責是規畫與設計整體企業願景架構、業務發展架構。接下來,部門架構師需決定發展信貸業務的準則,再有專案團隊中的技術架構師接手,負責建置信貸業務相關系統。這3類架構師的職責不同,在組織內的高度也不一樣,比如,在專案辦公室中,企業架構師與部門架構師皆為重要成員,負責訂定方向策略與準則。同時,部門架構師也需負責檢視專案團隊開發系統的過程,確保往對的方向前進。

完成架構師團隊整編,也制定出相關原則與準則後,劉帥君提到,玉山開始發展新一版的資訊藍圖,以顧客為中心的思考模式,訂出從通路、顧客管理、產品管理、財務會計、風險管理到管理資訊的業務發展模型。


接著,玉山團隊開始發想IT架構藍圖,先從顧客觀點與企業觀點2面向來設計。從顧客觀點設計的部分,包括了通路平臺層(Channel Segment)、跨通路整合層(Cross-channel Segment)。從企業觀點設計的部分,則分為產品與交易層(Product and Transation Segment)、應用整合層(Intergration Segment)與分析應用層(Business insights Segment)。

建構出完整的資訊藍圖,下一個挑戰是如何落地,玉山選擇嘗試導入微服務的設計架構。不過,劉帥君坦言,一開始,團隊大部分成員都沒有微服務架構開發系統的經驗。為此,玉山內部訂出一套微服務設計訓練3大準則,包含高內聚力的設計、鬆散耦合與單一功能,來讓團隊遵循。

玉山的微服務開發方法,是以業務導向來拆分微服務,劉帥君表示,玉山先天優勢是,許多待了十年、二十年的資深IT成員,相當了解核心系統一路以來的發展,所以,拆分微服務沒有遭遇太大困難,後來所累積的微服務數量也越來越多。此外,在導入容器技術上,玉山的要求是必須做到標準化、一致性管理,並能到處部署。他提到,採用微服務架構與容器技術打造核心系統的策略底定後,團隊就開始往前衝,一路開發新核心系統直到上線。








留言

熱門文章