當前位置:
首頁 > 最新 > 中國銀行軟體中心副總經理?熊志正

中國銀行軟體中心副總經理?熊志正

文 / 中國銀行軟體中心副總經理?熊志正

DevOps已經成為IT行業最熱門的流行語之一。在更緊密的願景以及開發團隊和運維團隊更有效的協作之上,很少有共識DevOps到底意味著什麼,不同組織對DevOps有著不同的定義。DevOps並不是新的工具或組織,而是新的文化和流程,其目標是高度協作以生產更好的軟體,是開發、測試以及運維相互工作來加快開發和解決問題的方法。本文主要闡述中國銀行信息科技體系在DevOps建設上的探索和實踐經驗,希望在同業探討、共同提高。

背景

當前,社會發展節奏越來越快,各項新技術日新月異,銀行業市場競爭亦日趨激烈。隨著銀行業務的快速發展,IT建設步伐明顯加快,降低成本、提高軟體工程活動效率和質量、提升軟體產品的交付能力,對於提升銀行業的核心競爭力至關重要,IT領域已經成為促進企業業務創新的核心競爭力之一。

行業調查顯示,互聯網軟體企業通過DevOps應用,在諸多方面促進了IT建設和業務發展:一是可降低IT建設無效成本。通過DevOps應用,提升了協作能力,降低了流程審批、人工操作、低效率溝通等成本,可以投入更多成本在真正的交付價值中。二是可實現版本的持續快速發布。通過DevOps應用,由以前的大變更、按批次交付版本,調整為小變更、按業務需求隨時交付。三是對業務發展的促進作用。在IT具備了快速交付上線能力後,業務部門可隨時將新的業務推向市場。因此,開展DevOps實踐對促進業務發展具有戰略意義。

理論上,DevOps是一組過程、方法與系統的統稱,旨在促進軟體開發人員(Dev)和IT運維人員(Ops)之間的合作和溝通,通過建設一種文化和環境,使構建、測試、發布軟體更加快捷、頻繁和可靠。實踐中,DevOps是將不穩定的生產關係(如跨部門溝通、重複厭煩的手工操作、出現過的事故、不穩定的人員流動等),轉化為規則,沉澱到穩定的生產力(工具鏈)中,讓開發、測試、運維的工作協同更為高效和自動化,人員僅制定新規則,通過自動化執行,替代每天人工重複冗餘的操作,讓組織效率更為高效、準確,推動業務快速而又穩定的發展。

DevOps規劃設計

借鑒業界DevOps應用框架,結合我行開發過程和實踐,形成中國銀行DevOps體系,該體系以打造交付流水線為核心,同時涵蓋了協作流程、模型規範、度量體系等方面。

該體系以精益管理為理論依據,採用敏捷管理、交付管理等工程方法,貫穿從需求到運維的IT實施過程,包括任務管理、版本管理、持續交付、運營監控等實踐活動,通過選用合適的工具提升工程活動的自動化能力,打造交付流水線,實現端到端交付。

中國銀行DevOps體系建設目標為:以交付為核心,打造適合中國銀行特點的、支持雙架構的交付流水線;建設DevOps規範和應用模型,並持續優化完善;建立度量評價體系,不斷改進;建立協作流程,實現合理分工、密切合作的實施組織;研究和探索DevOps領域相關新技術。通過建設DevOps協作流程,促進團隊間協作關係的改善,打造中國銀行DevOps文化氛圍。DevOps體系架構如圖1所示。

圖1 中國銀行DevOps體系架構圖

DevOps實踐

中國銀行DevOps建設之路主要經歷了三個重要階段。

第一階段,持續集成階段。開發過程引入、開展持續集成實踐,建立持續集成應用模型和成熟度模型,並在重點產品試點應用。通過試點應用,進一步優化並完善持續集成應用模型,完成開發階段持續集成應用推廣工作,節省大量手工工作量,持續提升版本發布能力,實現中國銀行持續集成應用的標準化、規範化和模型化。

第二階段,持續交付階段。測試過程引入自動部署,推廣應用持續交付,將測試環境的版本發布過程納入持續集成應用,通過規範測試環境發布過程,建立中國銀行持續交付應用。大部分產品實現持續交付,完成測試環境版本自動安裝功能,提高交付質量和效率,每版本平均部署時長大大縮短,部署質量得到顯著提升。引入敏捷開發實踐、大量應用自動化工具,大大提升軟體開發、測試效率和質量。

第三階段,DevOps階段。在生產演練過程引入自動部署,實現開發、測試、運維一體化。結合中國銀行IT組織形式和管理理念,通過自主開發創新,建立中國銀行DevOps實踐,如圖2所示。通過DevOps應用,進一步縮短開發、測試周期,提升持續交付能力,實現開發、測試、運維相關流程的統一,提高軟體產品版本交付效率和質量。

圖2 中國DevOps實踐

DevOps應用和探索

1.建立「端到端」交付流水線。依託雙架構的「端到端」交付流水線,形成以交付為核心的開發、測試、運維一體化流程,使產品交付更加快捷可靠。完成中國銀行核心應用系統產品在「端到端」交付流水線上的應用,實現全過程一體化技術的突破。

根據中國銀行應用產品現狀,基於AIX的應用產品、X86架構的應用產品、ZOS系統的應用產品,建立三條交付流水線,各應用產品可根據自身特點選擇不同流水線進行DevOps實踐應用。每條交付流水線,貫穿從需求到運維的IT實施過程,包括敏捷需求分析、迭代、版本控制、構建、自動化測試、代碼質量控制、部署發布、運營監控等工程活動。通過提升交付流水線上各工程活動自動化能力,提升整體工藝水平;通過交付流水線,促進部門間協作融合,實現應用產品「端到端」的交付;同時依託流水線,搭建中國銀行開發中心和運行中心之間協作的橋樑,實現信息透明共享,變更可追溯。

圍繞任務管理、開發管理、配置管理、測試管理、環境管理、運維管理等領域,通過引入自動化工具應用,建立中國銀行「端到端」交付流水線上的工具鏈,如圖3所示。

圖3 中國銀行端到端交付流水線

2.建立DevOps規範和度量體系,形成中國銀行DevOps文化。為保證交付流水線可實施,建立了一系列技術規範、應用模型和實施指南,為中國銀行應用產品快速實現DevOps應用提供技術指導。建立了成熟度模型,形成DevOps評價體系,為IT工藝提升提供改進機會。

規範敏捷開發、持續集成、持續交付等過程,形成組織級的規範要求。通過建立應用模型,實現敏捷需求分析、迭代活動、版本控制、構建實踐、自動化測試、代碼質量控制、部署發布、運營監控等關鍵活動的自動化和工具化。建立DevOps應用平台管理實踐過程,實現信息的可視化,從而促進開發、測試、運維過程向標準化、一致化、自動化和智能化的方向發展。建立中國銀行DevOps評價體系,以評價應用產品在敏捷開發、持續集成、持續交付、應用運營等環節具備的過程能力,持續改進。

通過沙龍、論壇、技術交流等多形式的活動,促進開發、測試、運維與生產調度、安全管理、系統管理的協作融合,共同完成交付流水線的貫通;建立組織內部互相協作和高度信任的氛圍,打造持續學習的文化。

3.中國銀行DevOps建設領域的探索。中國銀行在DevOps建設領域不斷探索和創新,尋找適合中國銀行產品特點的最佳實踐。例如,在部署活動上,研究智能作業流編排引擎,利用容器技術縮短部署周期;在測試領域,開展基於私有雲的移動互聯自動化測試框架、灰度測試研究、分級自動化測試研究等;在自動化運維方面,開展基於大數據應用日誌監控和分散式系統運維等應用研究;在配置管理領域,深入開展分散式配置管理運營模式實踐;在信息安全方面,開展部署工具與訪問控制一體化對接技術;在基礎設施自動化方面,對X86平台虛擬化資源服務優化和移動終端資源池管理模式進行實踐應用。

結語

DevOps應用已成為軟體企業發展的主要潮流,中國銀行通過DevOps應用,實現了開發、測試、運維的深度融合,明顯促進了軟體產品的交付效率和質量,降低了投入成本,減少了潛在的風險。從試點效果看,整體部署效率比手工操作提升2~5倍。隨著版本規模和伺服器數量的增加,持續部署的優勢將更加凸顯。

未來,中國銀行DevOps應用體系依然以「價值交付」為核心,持續改進,圍繞「高效開發、自動運維、持續發布、團隊協作」,結合大數據、雲計算、虛擬化等新興技術,通過不斷優化「端到端」交付流水線,逐步實現隨時交付,為中國銀行業務發展保駕護航。

《金融電子化》新媒體部

主任 / 鄺源 編輯 / 潘婧


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 金融電子化 的精彩文章:

2018 金融科技熱點展望
國泰君安證券公司信息技術部總經理?俞楓

TAG:金融電子化 |