文 | 本刊記者 孫杰賢
信息化案例 Informatization-Case
中國(guó)銀行:從DevOps實(shí)踐到應(yīng)用性能管理
文 | 本刊記者 孫杰賢
中國(guó)銀行軟件中心在2013年便開(kāi)始了探索DevOps模式,并成功推出中國(guó)銀行第一個(gè)互聯(lián)網(wǎng)金融產(chǎn)品——網(wǎng)絡(luò)通寶。
面對(duì)互聯(lián)網(wǎng)金融洶洶來(lái)襲,將服務(wù)延伸至支付、資管、交易、融資等金融領(lǐng)域,傳統(tǒng)銀行加速了以提高用戶消費(fèi)體驗(yàn)為宗旨的數(shù)字化進(jìn)程。
2016年,中國(guó)銀行推出“e中銀”三年規(guī)劃(2016-2018),指出:全面踐行“互聯(lián)網(wǎng)+”行動(dòng)綱領(lǐng)及國(guó)家十三五規(guī)劃,順應(yīng)市場(chǎng)環(huán)境與客戶需求變遷,把握金融服務(wù)本質(zhì),開(kāi)放合作、場(chǎng)景融合、快速創(chuàng)新商業(yè)模式,重塑流程、數(shù)據(jù)洞察、極大提升業(yè)務(wù)價(jià)值,為客戶提供隨時(shí)、隨地、隨心的全方位金融服務(wù),推動(dòng)公司、零售、金融市場(chǎng)各條線業(yè)務(wù)快速增長(zhǎng),構(gòu)建中國(guó)銀行特色鮮明的差異化競(jìng)爭(zhēng)優(yōu)勢(shì),將“e中銀”打造成銀行業(yè)互聯(lián)網(wǎng)金融領(lǐng)先品牌,推動(dòng)“做最好的銀行”戰(zhàn)略目標(biāo)實(shí)現(xiàn)。
作為中國(guó)銀行信息科技體系的重要組成部分,中國(guó)銀行軟件中心擔(dān)負(fù)著整個(gè)集團(tuán)軟件系統(tǒng)與應(yīng)用的開(kāi)發(fā)、測(cè)試、維護(hù)管理和實(shí)施工作。因此,建設(shè)“e中銀”,中國(guó)銀行軟件中心可謂是使命必達(dá)。
然而隨著各個(gè)分中心規(guī)模的不斷擴(kuò)大,中國(guó)銀行內(nèi)部系統(tǒng)的開(kāi)發(fā)任務(wù)也變得愈發(fā)艱巨,其中各項(xiàng)金融產(chǎn)品不但越來(lái)越復(fù)雜,數(shù)量也呈快速上升狀態(tài),而且更新迭代速度也在不斷加快。同時(shí),產(chǎn)品在開(kāi)發(fā)方式上的多樣性,以及來(lái)自業(yè)界的競(jìng)爭(zhēng)壓力,都促使中國(guó)銀行急需找到一個(gè)強(qiáng)有力的指導(dǎo)方法來(lái)應(yīng)對(duì)這一挑戰(zhàn)。
于是,中國(guó)銀行軟件中心開(kāi)始踐行DevOps打造敏捷開(kāi)發(fā)和運(yùn)維體系。
簡(jiǎn)單說(shuō),DevOps是軟件開(kāi)發(fā)、運(yùn)維和質(zhì)量保證三個(gè)部門(mén)之間的溝通、協(xié)作和集成所采用的流程、方法和體系的一個(gè)集合。它是企業(yè)為了及時(shí)生產(chǎn)軟件產(chǎn)品或服務(wù),以滿足某個(gè)業(yè)務(wù)目標(biāo),對(duì)開(kāi)發(fā)與運(yùn)維之間相互依存關(guān)系的一種新的理解。
“e中銀三年規(guī)劃要求我們必須具有并行開(kāi)發(fā)多個(gè)互聯(lián)網(wǎng)金融領(lǐng)域產(chǎn)品的能力和具備多產(chǎn)品線、多批次及多任務(wù)生產(chǎn)能力,這需要我們?nèi)娼⒚艚蓍_(kāi)發(fā)和運(yùn)維體系,實(shí)現(xiàn)應(yīng)用的端到端全流程交付,實(shí)施DevOps是必然之道?!敝袊?guó)銀行軟件中心高級(jí)系統(tǒng)工程師付大亮表示,“DevOps是文化、工程方法、工具技術(shù)的有機(jī)整合,用來(lái)促進(jìn)軟件開(kāi)發(fā)、運(yùn)營(yíng)維護(hù)和質(zhì)量管理之間的溝通、協(xié)作。目標(biāo)是提高軟件研發(fā)的交付價(jià)值,落實(shí)提高交付價(jià)值的途徑就是提升響應(yīng)力,提升持續(xù)交付能力,以科技支撐業(yè)務(wù)發(fā)展。”
中國(guó)銀行軟件中心在2013年便開(kāi)始了探索DevOps模式,并成功推出中國(guó)銀行第一個(gè)互聯(lián)網(wǎng)金融產(chǎn)品——網(wǎng)絡(luò)通寶。目前,中國(guó)銀行DevOps已經(jīng)進(jìn)入深化實(shí)施階段,形成了中心級(jí)的敏捷體系。
當(dāng)然,DevOps無(wú)法解決一切問(wèn)題。中國(guó)銀行軟件中心仍然遇到了一些IT系統(tǒng)開(kāi)發(fā)、管理中共性的問(wèn)題。這其中便包括:一些性能問(wèn)題已經(jīng)表現(xiàn)出來(lái),但難以找到問(wèn)題的根源;同時(shí),有一些產(chǎn)品的運(yùn)行看起來(lái)流暢完美,但實(shí)際存在著潛在的性能隱患;此外,在開(kāi)發(fā)、測(cè)試、維護(hù)的各個(gè)階段都存在著性能錯(cuò)誤排查困難的情況。
舉個(gè)例子,中國(guó)銀行的IT系統(tǒng)主要是基于SOA架構(gòu),節(jié)點(diǎn)眾多,在當(dāng)前的技術(shù)和應(yīng)用環(huán)境下難免出現(xiàn)交易路徑復(fù)雜,事先無(wú)法確認(rèn) ;彼此服務(wù)調(diào)用,故障定位復(fù)雜;環(huán)境復(fù)雜,導(dǎo)致測(cè)試復(fù)雜;以及性能分析復(fù)雜等問(wèn)題。
要在x86分布式環(huán)境下解決上述問(wèn)題需要一套真正端到端的、全生命周期的應(yīng)用智能監(jiān)測(cè)系統(tǒng)。基于此,中國(guó)銀行軟件中心在開(kāi)發(fā)階段便引入了Dynatrace的應(yīng)用性能管理工具,通過(guò)對(duì)各個(gè)計(jì)算節(jié)點(diǎn)全面、整體監(jiān)控,提供后續(xù)的故障分析和性能調(diào)優(yōu)的依據(jù)。
中國(guó)銀行軟件中心對(duì)軟件開(kāi)發(fā)有一套完整的把控要求,在開(kāi)發(fā)過(guò)程中希望開(kāi)發(fā)人員不僅要了解自己的功能模塊,還要對(duì)產(chǎn)品的整體應(yīng)用架構(gòu)、調(diào)用流程有所了解,避免迷失在復(fù)雜的網(wǎng)絡(luò)環(huán)境中。通過(guò)Dynatrace能夠?qū)崟r(shí)繪制的業(yè)務(wù)流程圖清晰記錄請(qǐng)求經(jīng)過(guò)的服務(wù),以及每個(gè)服務(wù)耗時(shí),大大加快了分布式架構(gòu)下性能優(yōu)化和故障診斷。而在程序運(yùn)行的階段,通過(guò)Dynatrace,中行軟件中心可以檢查整個(gè)程序的運(yùn)行邏輯跟之前設(shè)計(jì)的調(diào)用關(guān)系是否一致,這在一定程度上也提高了開(kāi)發(fā)人員對(duì)整體程序的把握和分析能力,通過(guò)一次的交易就可以一鍵生成所有的關(guān)系。所有這些附加價(jià)值都在很大程度上提高了整個(gè)軟件中心的開(kāi)發(fā)效率。
付大亮說(shuō):“通過(guò)對(duì)真實(shí)的用戶體驗(yàn)、交易全路徑等情況精準(zhǔn)的跟蹤分析,Dynatrace推動(dòng)相關(guān)產(chǎn)品測(cè)試前移,提升產(chǎn)品質(zhì)量,促進(jìn)開(kāi)發(fā)運(yùn)維進(jìn)一步融合,為縮短交付周期、縮短故障恢復(fù)時(shí)間奠定了基礎(chǔ)?!?/p>