雲原生技術領域的探索與實踐

danny_2018發表於2022-05-31

以中國人民銀行《金融科技(FinTech)發展規劃(2019-2021)》為指導,民生銀行堅持創新發展理念,深度融合技術和業務,主動轉型科技架構,加速技術能力向業務價值轉化,於2019年和2021年分別釋出了《中國民生銀行科技金融戰略發展規劃(2019-2022年)》和《中國民生銀行五年發展規劃(2021-2025)》。在技術能力方面,民生銀行基於多年SOA、分散式、微服務和雲原生研發領域的經驗積累和沉澱,打造了技術棧統一、元件豐富、平臺健壯、彈性擴充套件的雲原生技術平臺和能力體系,推動應用架構和技術架構持續轉型和科技治理、賦能業務交付方面的能力不斷提升。

▲中國民生銀行資訊科技部總經理助理 李曉東

雲原生轉型整體規劃

民生銀行的資訊科技架構經歷了從電子銀行、網路銀行、移動銀行到場景金融幾個不同階段的演進。伴隨著架構演進,民生銀行的技術架構經歷了從集中式、SOA、分散式到雲原生的持續發展過程。

民生銀行從2019年開始進入場景金融階段,其標誌性事件是零售綜合金融服務平臺、企業綜合金融服務平臺以及金融市場綜合金融服務平臺的上線,並逐步形成了民生特色的渠道層、場景層、業務中臺、資料中臺、AI中臺、基礎金融產品及服務的應用架構體系。伴隨著應用架構的轉型,民生銀行的科技團隊也同步推進了技術架構的轉型和探索,特別是進行了雲原生體系能力的沉澱和快速發展。

雲原生能力建設

民生銀行雲原生平臺體系核心包含六大部分:基礎軟硬體雲服務化的IPaaS、面向應用雲化的APaaS、後端微服務框架Tesla、前端微服務框架Apollo、DevSecOps工具集和雲安全能力平臺。

1.基礎軟體雲平臺(IPaaS)。IPaaS根據民生銀行自身需求,相容各種底層環境,打造總行資料中心各類基礎軟體、硬體的雲化管理和服務,實現了自動化、自助化提供算力和各類軟體服務的能力,包括資料庫、中介軟體、快取、大資料、儲存等標準化服務。同時透過容器平臺提供了雲原生的基礎平臺能力,為雲原生的業務場景提供了有力支撐。

IPaaS的建設思路是一切皆服務,將基礎軟硬體產品的能力以雲服務的形式提供出來,快速響應業務需求,提升生產穩定運營能力和自助服務能力。

2.應用雲平臺(APaaS)。APaaS是民生銀行全面雲原生化的下一代金融級應用基礎服務平臺。APaaS建立在IPaaS巨人肩膀之上,以應用為中心,以標準化應用模型以及能力全面整合和服務化為核心,為開發人員提供一站式、端到端、場景化、引導式的研發體驗,藉助模板和配置,實現標準化的工程初始化、元件整合、服務整合、程式碼倉庫、流水線、微服務治理、中介軟體、部署架構、日誌和監控等。

APaaS建設初期的核心工作是沉澱與整合,一方面將研發標準和規範沉澱到平臺上,以服務的形式提供給開發人員;另一方面將前後端框架、雲元件、治理元件和DevSecOps能力進行整合,提供一站式體驗。經過這個過程,在APaaS上開發的應用,原生規範、原生標準、原生雲化。

隨著APaaS持續建設和成熟,民生銀行科技開發團隊逐漸沉澱出融合技術服務和業務服務的領域方案,透過把應用開發中的領域模型沉澱下來形成平臺級能力,為業務研發交付人員儘可能減負,使其避免過多地限於底層技術細節,更加關注業務邏輯的實現。譬如基於場景雲(SPaaS)和渠道雲(CPaaS)提供面向場景開發和麵向渠道開發標準化的平臺,讓開發人員關注場景的具體配置,關注渠道的具體介面,引導研發人員超越“技術雲原生”趨向“業務雲原生”的技術轉型。

3.後端微服務框架(Tesla)。Tesla是我行自主研發的金融級雲原生後端開發平臺,基於模組化架構引入多種網際網路元件,以分散式、微服務架構為基礎,為全行應用系統提供統一的底層應用開發平臺和執行支撐體系及最佳實踐方法論。

Tesla的特點可概括為6大部分。一是全方位的研發支撐能力,構建開發框架、基礎設施、領域解決方案,多角度全方位打造完整的雲原生應用開發和執行生態。二是穩定優先的微核心架構,實現極致效能和穩定性,保障關鍵金融應用系統持續平穩執行並應對各種業務爆發時刻。三是可持續積累的外掛模型,透過應用與反饋的良性迴圈,不斷豐富完善支撐各類金融場景的外掛體系,持續為應用研發賦能。四是輕量化的系統執行模式,解耦對商業中介軟體產品的直接依賴,滿足技術可控要求。五是平滑敏捷的演進方案,設計通用方案實現存量異構技術平臺平滑演進,為存量系統的技術平臺標準化探索一種最佳實踐模式。六是開放高效的支援能力,為開發者提供研發工具箱,如一鍵下單系統搭建、線上問題處理、架構“一眼清”等功能,提升交付效率和質量。

4.前端微服務框架(Apollo)。Apollo是我行自主研發的,高度適配銀行業務的企業級前端應用開發平臺。針對銀行大型前端應用交付遇到的如缺乏前端企業級統一的技術框架和研發規範、缺乏高效及高質量的交付能力、缺乏持續提升前端使用者體驗的能力等常見痛點,提供技術平臺和解決方案的支撐。

Apollo基於雲原生的理念和技術,實現了前端雲應用開發平臺,主要功能包括前端應用開發框架和架構體系、前端雲IDE、前端設計研發協作服務、前端元件服務、前端自動化測試元件服務、前端雲持續整合服務、前端雲執行服務、前端應用可觀測體系和前端低程式碼應用開發平臺。Apollo的主要技術特點可概括為7大部分:一是基於元件化和模組化、邏輯檢視分層、資料和模型驅動檢視、領域驅動架構等應用架構思想,實現了統一的企業級前端研發正規化;二是採用微核心加外掛的模式,統一抽象前端企業級工程配置,實現了可動態擴充套件及可持續演進的能力;三是支援各種主流的前端應用型別,包括單體、微前端、前後端一體化等工程型別,以及PCWeb、移動端H5、小程式、桌面應用、大屏應用等應用型別,全面支援我行各種業務型別;四是支援從應用設計、應用研發、聯調測試、持續整合到部署執行的全流程雲服務能力支撐,實現全流程敏捷研發;五是前端元件、模板等研發資產實現標準化、可持續的積累和共享能力,最大程度實現面向元件的研發和複用,提升交付質量和效率;六是全面的前端應用可觀測指標,覆蓋持續整合階段和線上執行階段,幫助應用開發者持續提升應用質量和使用者體驗;七是企業級的前端低程式碼平臺,支援我行領域類和通用類業務交付,實現低程式碼的研發模式,提升研發產能。

5.DevSecOps。民生銀行基於DevOps和“應用原生安全”的理念,持續建設DevSecOps體系,包括研發交付制度、規範、流程和工具集。目前DevSecOps體系涵蓋了從需求管理、任務管理、程式碼管理、持續整合、程式碼掃描、測試管理、質量門禁、製品晉級到持續釋出的研發交付全生命週期。

民生銀行DevSecOps有三個核心關鍵字:自動化、左移和質量門禁。所謂自動化,即以持續整合流水線為載體,整合了程式碼掃描、安全檢測、單元測試、介面測試、SQL掃描、配置更新以及應用探活等,對於開發人員,只需驅動流水線,即可自動完成。所謂左移,即質量分析、安全分析、生產分析等儘可能左移,向開發階段延伸,儘早發現問題、儘早解決問題。所謂質量門禁,即將安全、質量等要求固化到流程裡,作為製品晉級的必要條件。

6.雲安全。民生銀行基於“零信任安全防禦”理念,構建一體化安全防禦體系,將安全威脅檢測、發現和阻斷能力與雲原生架構的各層基礎元件有機結合,實現了動態化的容器安全防護和精細化、智慧化的雲上安全訪問控制,提升雲上應用安全風險發現的廣度、深度和及時性。同時持續夯實資料中心的基礎安全防禦,實現雲安全防禦設施與基礎安全設施的自動化聯防聯控,有效保障雲原生平臺及其上業務的安全穩定執行。

雲原生應用實踐

雲原生能力建設的目的是支撐和驅動雲原生架構轉型升級和架構治理。針對實際的應用上雲場景,民生進行了從上雲評估、上雲方案、上雲樣板間、雲原生認證到領域PaaS建設等多種應用實踐。

1.應用上雲評估體系。目前民生銀行現存數千個執行單元,上千個SOA模組,幾百個整合系統。針對如此大量的IT資產,如何進行雲原生轉型,需要方法論的指導和支撐。針對這個問題,民生科技基礎技術團隊制定了上雲評估指標體系,針對必要性、可行性兩個方向,從業務、技術、工程三個維度,對每一個模組和服務單元進行量化評估。模組具體的雲原生轉型方案,需根據業務的緊要程度和關鍵能力的最佳化程度,進行評估和設計,並制定有針對性的上雲策略和演進方案。

2.一攬子上雲方案。我們把現有金融應用分為六大類:聯機交易類、通道類、前後端分離類、批次業務類、計算密集類和領域平臺類。針對不同型別的應用,設計不同的模板,把相應的各維度指標和推薦方案提供給大家,幫助使用者進行應用轉型設計。針對雲原生轉型中的技術難點,如混合部署、網路、會話保持等,也提供了標準化模板和適配性的解決方案。同時將這些模板和方案固化到APaaS平臺上,為開發人員提供白屏化能力。

3.上雲樣板間。不同應用的特徵不同,相應的雲原生建設方案也有所不同。基於此,我們提供上雲樣板間,供使用者在上雲設計時參考和複製。例如,對於聯機交易類應用(如支付平臺),提供針對性的雲化模板,並結合模板製作對應的聯機交易類應用樣板間。從應用建模、架構拆分、基礎設施接入、配置分離、上雲遷移、節點和會話的無狀態化改造、中介軟體適配等方面入手,適配和打造樣板間。

4.雲原生認證。一切的核心是人才。為了加速企業級的雲原生轉型升級,類似阿里ACP,我們設計了民生銀行的雲原生認證體系。2021年,研發類崗位全員參加了雲原生相關的培訓、學習、練習和考試,持證上崗。

5.領域PaaS實踐。在為交付團隊提供雲原生服務的同時,採用聯合共建的方式,APaaS平臺逐漸沉澱了各類領域PaaS,如面向移動應用的FIREFLY PaaS、面向零售場景的SPaaS、面向員工渠道的CPaaS等。類似容器、Service Mesh到Serverless的技術演進過程,APaaS透過從原始雲原生技術平臺逐步生長出專業領域PaaS分支的過程,體現了民生銀行科技團隊將雲原生能力逐步應用到賦能業務的過程。衍生領域PaaS可以使開發交付工程師更多地專注在業務需求的實現方面,降低對於底層基礎設施技術細節的關注,並逐步過渡到業務交付開發的低程式碼和白屏作業模式。

(1)FIREFLY PaaS。FIREFLY PaaS是我行自主研發的移動應用開發運營支撐平臺,貫穿了研發—整合—執行三態,起源於FIREFLY平臺,並基於APaaS進行擴充套件與增強,逐步構建出靈活可控的基礎技術框架,並積累了大量可複用元件,建設了可靠的公共基礎設施。FIREFLY PaaS主要包含前端開發框架FIREFLY Apollo、客戶端開發平臺FIREFLY Client等框架和元件服務,廣泛應用於全行移動應用。同時FIREFLY PaaS還提供了移動應用的通用基礎服務和運營支撐服務,共同為移動應用的快速開發、安全保障、資料運營提供強有力支撐。

(2)場景PaaS(SPaaS)。SPaaS(Scenario-PaaS)是APaaS在民生銀行場景中臺架構領域的典型沉澱,其基於雲原生基礎能力及場景化中臺體系架構,面向場景應用開發人員,提供了場景應用全生命週期服務平臺,涵蓋了場景開發、部署、執行、測試、監控及執行評估等過程。該平臺主要包括四部分能力:一是統一管理的場景應用租戶,基於APaaS模組管理、資源管理能力對場景應用租戶進行統一管理;二是一體化的場景開發部署流水線,基於事件驅動、管理驅動和交易驅動場景各自的業務和技術特性,以及軟體工程支撐平臺(PSET)和自動化運維平臺能力,構建三大驅動場景開發部署流水線,支援標準化、元件化、配置化的場景低程式碼開發模式及標準化的場景部署流程;三是高效執行的場景引擎,基於派迪(PADDE)場景感知響應模型和三大場景驅動引擎(事件驅動場景引擎、管理驅動場景引擎、交易驅動場景引擎)構建高效執行的場景引擎;四是平臺化的場景管理和監控能力,構建場景應用的場景倉庫,並對場景進行統一管控和監控,打造平臺化的管理和監控功能。透過SPaaS,民生零售業務研發團隊已經實現了零售場景交付和管理過程的高度白屏化和低程式碼化。

(3)員工渠道PaaS。員工渠道PaaS是基於APaaS應用模型和雲基礎模組能力建設的員工渠道領域的雲平臺。該平臺具有云原生敏捷開發、多租戶領域元件和服務、多維度的技術管理等特點。員工渠道PaaS從貸款平臺整合、大運營平臺整合等專案入手,梳理、抽象和整合領域架構的公共元件和服務,推進技術架構和研發模式向雲原生演進。平臺從開發態、執行態和管理態全面支撐員工渠道應用的建設,交付團隊只需專注於業務邏輯的實現。

(4)分行特色業務應用PaaS。本著總分協同、管理、作業一體化的建設理念、開發共享、彈性擴充套件、安全管控的設計原則以及微服務、共享雲的設計思路,民生銀行基於APaaS建設了分行特色業務應用PaaS。平臺實現了分行特色業務應用的技術支撐架構標準化和規範化,提升了對分行業務的支援響應能力,助力打造民生銀行分行特色業務領域“技術+業務”雙輪驅動的生態圈。

來自 “ 金融電子化 ”, 原文作者:金融電子化;原文連結:https://3g.163.com/dy/article/H8MNOFQR05520IZ3.html,如有侵權,請聯絡管理員刪除。

相關文章