文 | 本刊記者 孫杰賢
信息化案例 Informatization-Case
中國銀行:從DevOps實踐到應用性能管理
文 | 本刊記者 孫杰賢
中國銀行軟件中心在2013年便開始了探索DevOps模式,并成功推出中國銀行第一個互聯(lián)網(wǎng)金融產(chǎn)品——網(wǎng)絡通寶。
面對互聯(lián)網(wǎng)金融洶洶來襲,將服務延伸至支付、資管、交易、融資等金融領域,傳統(tǒng)銀行加速了以提高用戶消費體驗為宗旨的數(shù)字化進程。
2016年,中國銀行推出“e中銀”三年規(guī)劃(2016-2018),指出:全面踐行“互聯(lián)網(wǎng)+”行動綱領及國家十三五規(guī)劃,順應市場環(huán)境與客戶需求變遷,把握金融服務本質(zhì),開放合作、場景融合、快速創(chuàng)新商業(yè)模式,重塑流程、數(shù)據(jù)洞察、極大提升業(yè)務價值,為客戶提供隨時、隨地、隨心的全方位金融服務,推動公司、零售、金融市場各條線業(yè)務快速增長,構(gòu)建中國銀行特色鮮明的差異化競爭優(yōu)勢,將“e中銀”打造成銀行業(yè)互聯(lián)網(wǎng)金融領先品牌,推動“做最好的銀行”戰(zhàn)略目標實現(xiàn)。
作為中國銀行信息科技體系的重要組成部分,中國銀行軟件中心擔負著整個集團軟件系統(tǒng)與應用的開發(fā)、測試、維護管理和實施工作。因此,建設“e中銀”,中國銀行軟件中心可謂是使命必達。
然而隨著各個分中心規(guī)模的不斷擴大,中國銀行內(nèi)部系統(tǒng)的開發(fā)任務也變得愈發(fā)艱巨,其中各項金融產(chǎn)品不但越來越復雜,數(shù)量也呈快速上升狀態(tài),而且更新迭代速度也在不斷加快。同時,產(chǎn)品在開發(fā)方式上的多樣性,以及來自業(yè)界的競爭壓力,都促使中國銀行急需找到一個強有力的指導方法來應對這一挑戰(zhàn)。
于是,中國銀行軟件中心開始踐行DevOps打造敏捷開發(fā)和運維體系。
簡單說,DevOps是軟件開發(fā)、運維和質(zhì)量保證三個部門之間的溝通、協(xié)作和集成所采用的流程、方法和體系的一個集合。它是企業(yè)為了及時生產(chǎn)軟件產(chǎn)品或服務,以滿足某個業(yè)務目標,對開發(fā)與運維之間相互依存關系的一種新的理解。
“e中銀三年規(guī)劃要求我們必須具有并行開發(fā)多個互聯(lián)網(wǎng)金融領域產(chǎn)品的能力和具備多產(chǎn)品線、多批次及多任務生產(chǎn)能力,這需要我們?nèi)娼⒚艚蓍_發(fā)和運維體系,實現(xiàn)應用的端到端全流程交付,實施DevOps是必然之道。”中國銀行軟件中心高級系統(tǒng)工程師付大亮表示,“DevOps是文化、工程方法、工具技術(shù)的有機整合,用來促進軟件開發(fā)、運營維護和質(zhì)量管理之間的溝通、協(xié)作。目標是提高軟件研發(fā)的交付價值,落實提高交付價值的途徑就是提升響應力,提升持續(xù)交付能力,以科技支撐業(yè)務發(fā)展。”
中國銀行軟件中心在2013年便開始了探索DevOps模式,并成功推出中國銀行第一個互聯(lián)網(wǎng)金融產(chǎn)品——網(wǎng)絡通寶。目前,中國銀行DevOps已經(jīng)進入深化實施階段,形成了中心級的敏捷體系。

當然,DevOps無法解決一切問題。中國銀行軟件中心仍然遇到了一些IT系統(tǒng)開發(fā)、管理中共性的問題。這其中便包括:一些性能問題已經(jīng)表現(xiàn)出來,但難以找到問題的根源;同時,有一些產(chǎn)品的運行看起來流暢完美,但實際存在著潛在的性能隱患;此外,在開發(fā)、測試、維護的各個階段都存在著性能錯誤排查困難的情況。
舉個例子,中國銀行的IT系統(tǒng)主要是基于SOA架構(gòu),節(jié)點眾多,在當前的技術(shù)和應用環(huán)境下難免出現(xiàn)交易路徑復雜,事先無法確認 ;彼此服務調(diào)用,故障定位復雜;環(huán)境復雜,導致測試復雜;以及性能分析復雜等問題。
要在x86分布式環(huán)境下解決上述問題需要一套真正端到端的、全生命周期的應用智能監(jiān)測系統(tǒng)。基于此,中國銀行軟件中心在開發(fā)階段便引入了Dynatrace的應用性能管理工具,通過對各個計算節(jié)點全面、整體監(jiān)控,提供后續(xù)的故障分析和性能調(diào)優(yōu)的依據(jù)。
中國銀行軟件中心對軟件開發(fā)有一套完整的把控要求,在開發(fā)過程中希望開發(fā)人員不僅要了解自己的功能模塊,還要對產(chǎn)品的整體應用架構(gòu)、調(diào)用流程有所了解,避免迷失在復雜的網(wǎng)絡環(huán)境中。通過Dynatrace能夠?qū)崟r繪制的業(yè)務流程圖清晰記錄請求經(jīng)過的服務,以及每個服務耗時,大大加快了分布式架構(gòu)下性能優(yōu)化和故障診斷。而在程序運行的階段,通過Dynatrace,中行軟件中心可以檢查整個程序的運行邏輯跟之前設計的調(diào)用關系是否一致,這在一定程度上也提高了開發(fā)人員對整體程序的把握和分析能力,通過一次的交易就可以一鍵生成所有的關系。所有這些附加價值都在很大程度上提高了整個軟件中心的開發(fā)效率。
付大亮說:“通過對真實的用戶體驗、交易全路徑等情況精準的跟蹤分析,Dynatrace推動相關產(chǎn)品測試前移,提升產(chǎn)品質(zhì)量,促進開發(fā)運維進一步融合,為縮短交付周期、縮短故障恢復時間奠定了基礎。”