在當今的數位化時代,企業必須能夠靈活適應新的市場需求,並利用數位工具來提升營運效率、提高客戶滿意度。台灣租賃產業龍頭中租迪和,既有地端金融核心系統在今年(2023)已完成遷移上雲,在合規性與安全性環境中開始營運,以拓展海外市場。
中租迪和技術長曾裕益指出,中租迪和全球營運業務涵蓋範疇相當多元,除了租賃業務外,亦提供企業融資、消費金融等項目。在決策階層的全力支持之下,中租迪和自2019年開始執行「黃金十年」的發展計畫,將打造數位優化、流程標準化、數據價值應用、數位產品平台、海外擴張等五大核心能力,藉此成為租賃市場的先驅者。而首要著手轉型的即為金融核心系統。
中租迪和資訊處資深經理陳慶穎說明,過去中租迪和的金融核心系統,為20年前採用.Net技術撰寫自主開發。隨著資訊科技不斷演進,就現在的主流技術來看,金融核心系統運行壓力在於容量(Capacity)與邏輯結構。畢竟單體式系統的特性是所有功能在相同平台上整合運行,彼此協同合作、呼叫執行、資料交換等動作,皆為固定溝通方式,難免會遭遇效能瓶頸,或是開始出現資料庫被鎖定等狀況。
中租迪和從2019年開始決議要解決這些不穩定的狀況。這也與其長期策略「黃金十年」相吻合,該策略旨在調整體質、開創新商機。為此,資訊處團隊開始對端到端的流程進行盤點,把它們拆解到最小單位,並且進行簡化。
企業流程管理重構數位化工作
在開始執行金融核心系統改造的規劃初期,陳慶穎認為,最具挑戰性的部分可說是企業流程管理(BPM)的重構。例如既有進件流程共五個審批關卡,須縮短避免過於冗長,這牽涉到決策權責的調整,複雜度相當高。
在討論改造核心系統之前,中租迪和重新審視了工作流程,改善了效率低下的環節,並建立了一套全球各地營運據點都能適用的標準作業程序。陳慶穎說明,中租迪和在各地的分公司、營運據點大多有建置金融核心系統,但可能因當地文化、習慣等因素而有些差異。經過大約一年的努力,整理歸納提出基礎規範,並開始設計公用版本的資訊系統,以達到「存同求異」,根據各地的法規、文化等差異進行必要的調整。
他進一步說明,多營業據點的公司,管理模式通常較為複雜,其實可由總部扮演大腦統一規劃,建立共通的流程。就如同外商銀行,海外擴展據點也是依據總部定義的公版模式建置核心系統,再遵循當地法規的特殊要求修改整合。
完成轉型策略規劃後,下一步就是IT部門負責實踐,採用微服務架構打造核心系統。中租迪和的核心系統之所以能演進到微服務架構,首要因素是工作流程可清楚定義,其次是每個工作環節可被切割、再整合運行。最初依循DDD(領域驅動設計)方法論來拆解功能項目,遇到難以準確定義邊界的項目,則轉向以「四色原型」方法,定義事務、描述與分類、角色、事件,以及彼此之間的關係。讓第一線員工可依據自己負責的職掌,產生關聯圖示。
針對無法切分的業務行為,則討論出具可行性的解方。例如資料最終存放位置,究竟是進件與審查各自擁有後端資料庫,或者統一存放的位置。最終結論是,進件後要送交審查,完成後再回覆,不如一開始就存放到審查服務的資料庫,以減少的資料交換與傳遞次數,提升運行效率。
選用AKS部署容器環境
中租迪和金融核心系統經過拆解與收斂,目前的API已多達2,400個,由此可看出軟體工程解構過程之繁瑣,若非有高階管理層全力支持、決心改造成現代化應用系統,恐難以實現。
2021年,中租迪和啟動大躍進式(Big Bang)專案管理,並開始採用微軟的Teams作為內部通訊工具。Teams提供了一個集中的平台,讓團隊成員能夠方便地找人、分享檔案,甚至可以整合告警通知,以監控基礎架構的運行狀態。
今年3月,中租迪和的第一波微服務架構在馬來西亞地區正式上線運行。回顧Big Bang專案管理期間,中租迪和的IT部門與業務單位達成了共識,在建置新系統時,必須先設定一個期望的完成時間。因此,IT部門大約花費兩個月的時間建立運行平台,應用開發團隊才有能力著手開發。
針對微服務架構的運行環境,中租迪和選用Azure Kubernetes Service(AKS)實作部署容器環境,讓開發人員使用熟悉的.Net程式語言來撰寫程式碼。依據業務服務切分的準則,建構微服務架構,過程中應用開發團隊花最多的時間,主要在於工作流程拆解之後的細節,須逐一建立Pod,以便於API可整合成為進件、審查、催收等應用服務。
建立日誌樣本加速釐清問題根源
採用Kubernetes技術的好處是可讓應用程式被封裝成映像檔(Image),以方便進行部署。此外,IT部門還為應用開發團隊提供了ASP.NET Core與前端的Angular的開發樣本檔,以確保所有的開發都能基於一致的標準進行。
「這個步驟相當重要,可藉此讓資訊處的同仁清楚政策方向、工作準則,基於一致的標準逐步發展。樣本檔清楚定義模型(Model)、視圖(View)和控制器(Controller),調整的規則定義在DevOps執行持續整合工作項目,若未能符合規則將無法運行。」陳慶穎強調。
過去發布程式碼的方式,大多是由TFS(Team Foundation Server)集中式控管版本,提供程式碼簽入、簽出、查詢記錄等功能。演進到微服務架構,則須採分散式版本控管方式,較以往集中式的概念大不相同。例如光是為DevOps團隊開課說明CI/CD(持續整合/持續部署)方法,就須上大約20堂課程。逐漸學習敏捷式(Agile)開發,實踐每兩週發布一次的節奏。
為了維運雲原生環境,中租迪和DevOps團隊自行設計出日誌樣本,讓後續系統的記錄、追蹤、監控,能依循一致性描述語言查找問題。基於AKS環境,搭配開源陣營的Fluentd蒐集容器環境中所有日誌,以及ElasticSearch分散式搜尋和分析引擎、Kibana提供視覺化介面的呈現。一旦發現運行效能不彰,可進一步點選查看更多資訊,具體指出問題根源的Pod或API名稱,以加速故障排除、確保應用服務品質。