天天看點

CODING DevSecOps 助力金融企業跑出數字加速度

CODING DevSecOps 助力金融企業跑出數字加速度

金融數字化步履不停,研發效能更新不止

秉“雙區”建設之勢,懷服務大灣區之志,深圳某大型銀行(以下簡稱“A 銀行”)在 2022 年全面開啟以數字化轉型為方向的第二個五年發展戰略規劃新征程。“零售+科技+生态”動力齊驅,A 銀行堅持以科技靈活帶動業務靈活,不斷縱深推進數字化轉型與場景經營。

然而,随着 A 銀行數字化轉型逐漸深入,快速擴張的 IT 建設團隊給多團隊管理及跨團隊協作帶來了全新的挑戰,而不斷變化的業務需求,也對研發資産的安全管控及研發傳遞的效率、品質提出了更高的要求。

為了讓 IT 建設團隊以更靈活的協作、更高效高質的傳遞應對數字時代的業務需求, A 銀行最終從多家廠商中選擇引入 CODING 一站式研效平台,從研發效能更新入手加快其數字化步伐。

CODING 災備異構方案,保障銀行業務連續性

對于金融行業來說,保障使用者資料安全以及業務連續性是重中之重。為此, A 銀行内部有嚴格的資料容災要求:硬體層面滿足一份資料三個副本存儲,任意一實體節點當機均不影響平台正常運作使用,同時還要滿足不同平台的異構備份。

為了幫助 A 銀行完成基礎設施更新,實作其災備要求,CODING 的專家團隊深入客戶現場,最終制定了以 CODING 為基座的容災及異構備份建設方案。在應用層面上,采用羅湖(主)-武漢(備)兩地每日定時同步增量資料,兩地 K8S 叢集主節點挂載獨立備份存儲實作連續 7 日平台全量資料備份。同時,行内原有 GitLab 通過 CODING 持續內建流水線,自動實作定時觸發備份,達到異構訴求;備份結果每日推送上報 IM 通信平台,管理人員及時感覺。

CODING DevSecOps 助力金融企業跑出數字加速度

CODING 為 A 銀行制定的容災及異構備份建設方案

在為 A 銀行制定災備方案的過程中,如果選擇實時同步,會存在以下兩個尖銳問題:

  1. 實時同步會導緻頻繁讀寫,網絡穩定性、平台穩定性難保障,且資料庫易鎖。
  2. 從容災環境切換回生産環境之後,資料一緻性難保障。

是以,CODING 專家團隊最終決定選擇為 A 銀行定時同步備份,備份機每日全量與增量備份,增量同步容災環境;切換至容災環境時,全量資料及增量資料備份,再次切換生産環境刷回增量,同時容災環境備份停止。

經過嚴密的切換演練及資料一緻性驗證,CODING 平台滿足 A 銀行的高可用建設要求,能夠大大降低源碼資産資料丢失的風險,保障極端情況下代碼資産安全。這也為 A 銀行開發中心推動各團隊使用 CODING 平台托管源碼打下堅實的基礎。

CODING DevSecOps,實作持續安全傳遞流程閉環

除了滿足銀行嚴格的災備要求,一站式 CODING 研發效能平台給 A 銀行帶來的價值遠不止于此。 A 銀行比較注重整體研發流程的體驗,一直期望能更好地管控其研發過程,充分利用自動化帶來的便利。通過 CODING, A 銀行成功落地端到端的 DevSecOps 流程,實作代碼的統一安全管控,打造了靈活化、規範化、自動化的持續安全傳遞閉環,極大提升了軟體傳遞品質與速度,降低研發成本,完成研發效能更新。

CODING DevSecOps 助力金融企業跑出數字加速度

A 銀行基于 CODING 落地的 DevSecOps 研發工作流

研發核心資産統一納管

對于代碼倉庫的管理, A 銀行原先使用了 Git、SVN 等代碼版本控制管理工具,源代碼分散在各個項目組,沒有統一的管理入口。而 CODING 提供的代碼倉庫功能,不僅支援 Git、SVN 倉庫類型,還支援導入 GitLab、GitHub 等主流類型代碼倉庫,并提供倉庫分組、團隊-項目-倉庫級别的精細化權限管控、代碼評審、版本管理等功能,有力支撐 A 銀行順利将散落在各個工具的代碼全部遷至 CODING,實作組織代碼資産的統一分布式管理。

CODING DevSecOps 助力金融企業跑出數字加速度

除代碼資産以外, A 銀行還将不同業務線的文檔、制品及建構資源統一接入 CODING 平台進行管理。CODING 打通了開發、測試、運維等各個研發環節的資産管理鍊路,利用一站式的優勢成功幫助 A 銀行實作資源整合,解決其面臨的軟體資産管理分散問題。

研發管理規範統一落地

在未使用 CODING 之前, A 銀行内部缺乏分支管理規範,部分人員直接在主幹分支開發,部分又會拉取分支開發,分支和版本管理混亂。在 CODING 團隊的幫助下, A 銀行先後制定适配行内傳統單體應用和微服務應用的 Git 分支與标簽管理政策,同時建立起統一的代碼合并評審流程及追溯審計機制,最終形成 master 主幹分支釋出、feature 特性分支開發的過程分支管理模式。

CODING DevSecOps 助力金融企業跑出數字加速度

A 銀行通過主幹-分支模型規範跨組織研發過程

主幹環境:部署主幹代碼穩定版本,完整依賴,随時發版,持續保護和維護。

分支環境:包含某個疊代分支涉及的單個/多個服務,用于聯調和測試(這裡未單獨展現出測試環境,不推薦維護測試分支,采用 master 主幹進行 daily build,随時可部署環境,用于內建或聯調測試環境,提前發現問題)

此外, A 銀行發現研發規範很多時候依賴研發人員自覺遵守,缺乏一定的限制性。而 CODING 平台提供的研發規範機制實時回報規範執行情況,自動攔截不符合要求的研發活動,“無感”地限制和督促研發人員遵循研發規範。結合行内實際研發訴求, A 銀行在代碼、分支、版本等方面均配置了對應的限制規則,并通過增加稽核環節,實作品質管控并減少協作溝通成本。

安全活動融入自動化 CI/CD 流水線

A 銀行的 IT 團隊長期面臨外部競争與金融監管的雙層壓力,對業務訴求靈活,對系統追求穩定。通過将代碼掃描與制品掃描安全能力融入至自動化的 CI/CD 流水線,CODING 幫助 A 銀行提升業務效率的同時還建構了代碼安全品質護城河。

如下圖所示,A 銀行在 CODING CI 流水線中融合了一系列自動化安全活動。在代碼檢出時,系統會自動進行代碼掃描,随後進行單元測試,在鏡像被推送到 CODING 制品庫之後,随之進行制品掃描。安全活動層層加持,消除了業務釋出之前的絕大部分缺陷與風險。

CODING DevSecOps 助力金融企業跑出數字加速度

CODING 代碼掃描支援 16 種主流開發語言的掃描方案。在設定了掃描語言方案、品質門禁之後,代碼檢出時會自動對源代碼進行掃描,自動生成問題清單,并附帶修改建議。

CODING DevSecOps 助力金融企業跑出數字加速度

通過問題概覽大盤,研發人員可以清晰了解代碼問題數量、代碼圈複雜度、重複率等情況,極大地幫助 A 銀行及時發現潛藏代碼缺陷、安全漏洞以及不規範代碼,提升代碼的可維護性和穩定性。

CODING DevSecOps 助力金融企業跑出數字加速度

在鏡像建構并推送到制品庫的環節,CODING 制品掃描能力會被自動觸發。系統會對制品進行依賴分析,解析出制品引用的開源元件,再通過「騰訊安全開源元件漏洞特征庫」識别出制品引用的開源元件存在的漏洞,輸出漏洞報告與修複建議。 A 銀行的研發人員可以通過預設的品質紅線判斷制品品質,也可在詳情頁檢視具體掃描結果。

CODING DevSecOps 助力金融企業跑出數字加速度

DevSecOps 流水線一鍵複用

DevSecOps 的快速推廣,單靠重複的人工複制自然是行不通的。得益于 CODING 流水線的可配置、可複用優勢, A 銀行針對行内常用的研發語言,結合原有腳本,輸出了團隊内公用的流水線模闆,大大降低存量系統接入 DevSecOps 的門檻。不同業務小組成員一鍵即可複用自動化流水線,提高日常研發過程中的建構與釋出效率。

CODING DevSecOps 助力金融企業跑出數字加速度

研發效能全面提升,助力推進銀行數字化轉型

一站式 CODING DevOps 平台的最大優勢,是給 A 銀行提供了統一的研發入口,為其打通從項目管理、代碼托管、代碼建構、測試、應用傳遞到系統運維的研發管理全鍊路,還同時滿足了銀行嚴格的災備異構需求,為 A 銀行高效、高質傳遞業務價值提供了強有力的基礎保障。在未來, A 銀行會在行内全面推廣并應用全新的基于 DevSecOps 的一站式 CODING 平台,充分利用先進的 DevSecOps 理念讓研發鍊路運轉得更順暢、更高效、更安全。 CODING DevSecOps 解決方案,作為 A 銀行在數字化轉型過程中的強力引擎,将會持續賦能 A 銀行優化研發過程體驗、專注研發效能提升,領跑數字化業務新賽道。

CODING DevSecOps 助力金融企業跑出數字加速度

繼續閱讀