眾邦銀行雲原生技術研究與探索
武漢眾邦銀行金融科技創新部負責人 彭磊
眾邦銀行是專注於服務小微大眾的銀行,於2019年獲得國家高新技術企業認定。自成立以來,眾邦銀行始終堅守“專注產業生態圈,幫扶小微企業,助力大眾創業”的使命,以交易場景為依託,以線上業務為引領,以供應鏈金融為主體,以大資料風控為支撐,著力打造三個銀行,即“打通交易與場景的網際網路交易銀行、致力於產業與金融深度融合的供應鏈金融銀行、數字化驅動科技賦能的開放型數字銀行”。
一、雲原生技術在金融行業的演進
在過去的40年中,我國金融行業IT架構經歷了多次變遷,總體來講就是從“零”到“大集中”的過程:金融機構自20世紀80年代開始引入計算機系統進行電算化處理,到20世紀90年代末實現資料大集中。近年來,隨著金融線上業務的發展以及數字化轉型的推進,傳統的金融IT架構存在很多難以解決的問題:
一是研發週期長。當前,絕大多數金融機構的系統研發流程為傳統的瀑布方式,需求交付週期以月來計算,導致失去了很多市場先機。
二是交付標準多。各業務系統部署安裝的基礎設施標準不一,導致金融機構運維複雜,成百上千臺機器以及上百個應用需要一個龐大的運維團隊來支撐。
三是協作溝通難。業務、開發與運營之間存在著資訊“鴻溝”,開發人員希望基礎設施響應速度更快,運營人員要求可靠性和安全性更高,而業務人員的目標則是交付速度更快。
為滿足業務快速多變的訴求,金融行業的架構升級已經迫在眉睫,在此背景下,雲原生開始引起金融機構的重視,並與大集中架構融合共同形成目前銀行IT系統的主流架構。何謂雲原生?雲原生是一種構建和執行應用程式的方法,是一套技術體系和方法論,應用程式從設計之初即考慮到雲的環境,充分利用和發揮雲平臺的“彈性+分散式”優勢,在雲上以最佳的方式執行。這一概念在2013年由Pivotal公司首次提出,後經雲原生計算基金會(CNCF)進一步發展和提煉,形成狹義雲原生概念,其內容包括容器技術、服務網格、微服務、不可變基礎設施和宣告式API等。
隨著雲計算技術的發展和普及,雲原生不僅僅是一項技術,還是一套敏捷架構方法,既涵蓋技術範疇(如雲計算、微服務、DevOps、雲原生晶片、雲原生大資料、雲原生AI等),也涵蓋管理和架構範疇(如架構體系設計、中臺化、編排重組、持續交付、無服務化等)。雲原生具有應用簡便、部署快捷、伸縮靈活等優勢,已逐步成為數字化時代企業技術架構升級的一項進階選擇。
二、眾邦銀行雲原生建設初衷
眾邦銀行透過使用雲計算、大資料、區塊鏈、移動互聯、人工智慧等一系列新技術改變了傳統的金融模式,以技術和資料為驅動將核心金融服務能力透過數字化的手段融入整個產業場景鏈條中,使得金融應用場景不斷增多,金融交易呈爆發式增長態勢,高併發、大規模運作成為新常態。而傳統的金融企業系統架構存在功能強耦合、複用能力差、協作效率低、維護成本高、系統可靠性差等一系列問題,難以滿足高併發、大流量和連續性需求。
為解決以上痛點,滿足線上使用者體量大、業務併發量高、版本迭代快等需求,眾邦銀行將雲原生技術體系作為IT系統建設的核心技術架構。
三、眾邦銀行在雲原生技術上的探索與創新
眾邦銀行以雲原生技術為依託,形成了包含業務能力標準、服務開發方法論、系統執行機制和運營服務的體系生態,為業務提供了快速組合和低成本創新的能力,在提高多團隊協作效率的同時,也具備了處理大規模併發和快速彈性擴充套件的能力。眾邦銀行雲原生技術平臺由DevOps工作臺、微服務中心、容器雲平臺等組成。
1.使用DevOps工作臺,打造一站式金融科技管理方案
眾邦銀行將工程建設中原始碼編譯、應用打包、映象構建、應用配置、容器部署等諸多門檻要求極高的操作進行整合,打造一站式DevOps工作臺。該工作臺在製品的管理上秉持“一包到底”的理念,即開發產出的製品、測試的製品、生產釋出的製品保持完全一致,確保製品測試的完備性,大大降低了釋出上線的風險;在工具打造上採用“一鍵操作”的手段,即基於平臺級一鍵釋出、一鍵回滾、一鍵灰度、自動監控、智慧運維的能力,支援任何在PaaS平臺上執行的雲原生系統均可低成本運用這些能力。
透過上述工具和方法,眾邦銀行制定了一套日常開發、釋出、運維的標準流程,降低了對人員的要求,提高了開發效率,同時,將原始碼版本、配置版本、執行環境、映象、測試資源等管理手段進行統一,力求各個中間環節、指標的透明化,達到開發、測試、執行等各個環節可評估、可追溯、可提升的目標,從而使各類需求交付週期縮短了3倍以上,投產週期從最快兩週縮短到最快一天,而缺陷密度則降低了10倍以上,有效支撐了業務的快速發展。該標準流程於2020年順利透過由中國資訊通訊研究院開展的《研發運營一體化(DevOps)能力成熟度模型》持續交付3級評估,眾邦銀行也成為首家透過該評估的民營銀行。
2.構建微服務架構體系,提升軟體研發效率和自主掌控能力
微服務架構強調按照業務能力進行垂直架構劃分,即每個微服務完成一種特定功能,可以獨立開發、獨立執行、獨立部署。因此,微服務設計有四個原則:一是微服務之間高內聚、低耦合;二是具備完整的業務資料;三是業務具有可運營性;四是業務漸進式建設,功能持續迭代。
在自研新一代信貸平臺的過程中,眾邦銀行逐步完成了微服務體系的構建。從實踐經驗來看,微服務拆分的顆粒度一開始較為粗放,此後隨著生產校驗的推進逐步細化。具體來說,眾邦銀行將原信貸平臺的集中式業務進行拆分解耦,從最初拆分成四個微服務,到目前實現額度管理、使用者管理、貸後管理等十幾個微服務的拆分,大大降低了每個微服務的複雜度,也縮小了單個服務故障的影響範圍(如圖1所示)。
圖1 眾邦銀行新一代信貸平臺架構
完成微服務拆分後,眾邦銀行在為每個服務組建研發團隊時,發現8~10人的團隊是比較適合這種開發模式的,這樣既可以快速響應業務的需求,提高研發效率,又可以降低溝通成本。同時,在使用微服務去耦合之後,不同的業務團隊可以服務不同的微服務,既降低了對人員技術水平的要求,增強了自主可控能力,也降低了對單一廠商的依賴。
同時,為了實現平滑遷移,眾邦銀行將原信貸系統透過邊車(Sidecar)模式與新一代信貸系統的一個微服務進行融合,對外部系統透過統一的微服務閘道器進行排程,在新舊信貸系統進行業務切換時,只需要修改閘道器中的路由配置即可實現外部系統無感、客戶無感的業務切換,極大提升了架構過渡的體驗。
3.應用容器重新定義基礎架構,實現智慧化運維
金融機構的軟體安裝部署存在標準和操作方式不統一的問題,而容器雲平臺作為全面雲化的平臺,無論儲存、計算、網路,還是資料庫、大資料服務、中介軟體、通訊服務、基礎應用服務均可開箱即用,無需部署,採取的是全面平臺化的管理模式。容器雲不僅可以解決統一的IT基礎設施和架構管理問題,還能提高各個前端小型業務單元創新的靈活性。
眾邦銀行在眾多容器雲建設方案中,選擇了目前最成熟和普及的解決方案。該方案具有三大優勢:一是核心級的虛擬化,隔離性高,安全可靠,且資源利用率更高;二是輕量級的映象製品,能夠快速部署,快速啟停,快速擴容縮容,方便開發運維一體化的開展;三是自動化的排程引擎,方便容器的編排、部署,實現對容器的批次排程。
經過幾年的建設,眾邦銀行重點完成了以下幾個方面的工作:
一是打造標準化容器平臺。該平臺是全行各業務系統統一的容器平臺,在開發、測試、生成等不同環境中保持平臺版本的一致性,同時透過映象升級的方式使得應用系統可以在不同環境中使用並確保體驗相同。
二是標準化交付。眾邦銀行針對作業系統、SDK版本、安全漏洞等容器的執行環境制定了統一的交付標準,保證交付製品的安全可靠。
三是標準化編排。眾邦銀行針對容器的編排特性,設計了統一的日誌採集要求、配置管理要求、資料變更要求等,滿足了智慧化運維的基礎要求。
四是標準化排程。眾邦銀行透過統一的系統介面對容器平臺進行管理,包括應用的上下線管理、指標的監控告警、日誌的檢視操作等。
目前,眾邦銀行信貸域和賬戶域的全部業務系統已經在容器上進行釋出和執行,有效降低了運維成本,促進了業務的快速發展。
眾邦銀行從2018年開始探索雲原生技術體系,從最初容器的使用到完成了以雲平臺和微服務架構為基礎、以DevOps為核心的金融雲原生平臺的構建,透過貫穿開發、測試、運維的場景,實現了跨階段的標準化釋出及標準化運維,形成了一套企業級的雲原生方法論和工具箱。後續,眾邦銀行將繼續打磨雲原生產品,持續探索服務網格和無服務化在金融行業的應用。我們認為,金融是社會經濟運轉的核心,在數字經濟時代,雲原生技術對於實現金融數字化轉型,並最終走向數字金融有著重要的作用。同時,雲原生也是我國資訊產業改變傳統IT架構時代落後的尷尬局面,尤其是在金融行業自主創新方面實現超車的關鍵技術。
【推廣】
免責宣告:此文內容為本網站刊發或轉載企業宣傳資訊,僅代表作者個人觀點,與本網無關。所涉內容不構成投資、消費建議,僅供讀者參考,並請自行核實相關內容。