品牌名稱
南京銀行
所在行業(yè)
銀行
企業(yè)規(guī)模
5001-10000人

云效合作南京銀行:新金融DevOps的轉(zhuǎn)型實踐

542次閱讀

在2018云棲大會南京峰會企業(yè)研發(fā)云專場,由南京銀行研發(fā)管理負責(zé)人吳攀帶來了“云效助力新金融DevOps轉(zhuǎn)型——南京銀行實踐之路”的主題分享。首先對南京銀行的研發(fā)規(guī)模與成長做了介紹,對“鑫云+”的誕生和其架構(gòu)應(yīng)用做了詳細的講解。

(1)客戶介紹

 

_10


 

簡單給大家介紹一下南京銀行現(xiàn)在的規(guī)模,南京銀行的科技現(xiàn)在有運維中心、研發(fā)中心和科技管理部,我是在科技管理部負責(zé)配置管理和研發(fā)過程管理。我們現(xiàn)在正式的員工有200多人,外包合作場商有600多人,在線運營的運營系統(tǒng)有300多個。

 

(2)項目背景

 

_11


 

很榮幸在加入南京銀行之后正好是金融快速發(fā)展的這些年,見證了南京銀行科技力量不斷增強的一個過程。2014年的時候獲得了CMMI ML3和ISO的體系認證。
 

 

在建設(shè)這些體系的過程中也是跟傳統(tǒng)銀行業(yè)一樣遇到了很多痛點,比如廠商很多,拿過來的原型也很多。原先的這種模式是外購為主,經(jīng)過適配很快就能把業(yè)務(wù)連接起來。這樣的弊端就是各種各樣的技術(shù)架構(gòu),非常復(fù)雜,在這樣復(fù)雜的系統(tǒng)架構(gòu)里邊去實施一個流水線是一件非常痛苦的事情,同時也帶來了銀行的業(yè)務(wù)要求需要迭代非常快。如果這么多的問題,沒有一個工具來管理的話,是不能完全應(yīng)付的。當時我們也做了一些統(tǒng)一的工作,設(shè)立了一些系統(tǒng)把需求管起來。架構(gòu)也要統(tǒng)一起來,即使是一部分的統(tǒng)一也要盡量的保持不要浪費資源。配置管理也用了一些集成的工具,還有測試到部署。但是一個點的快并不是全流程的快,想要快速交付這個價值,需要一個完整的不能中斷的流水線才能盡善盡美。這些問題怎么解決呢?接下來進行一個介紹。
 

(3)解決方案

2017年1月份這個思想才萌芽,真正開始進廠的時候是2017年的7月,等到上線是2017年11月,先來介紹一下“鑫云+”是一個什么概念呢?南京銀行是鑫合俱樂部的一個牽頭行,鑫合俱樂部有140家成員行,所有的資金在一個聯(lián)盟里面。另外的一頭連接的是互聯(lián)網(wǎng)。作為這兩頭的橋梁,可以連接出很多種可能。
 

“鑫云+”項目架構(gòu)變革

“鑫云+”從7月份進廠之后就對廠商原有的產(chǎn)品做了重構(gòu),所有的規(guī)范全部重來。拆成微服務(wù)、換數(shù)據(jù)庫中間所有的這些標準全部按照阿里螞蟻的要求做修改。在這個基礎(chǔ)上提出來DevOps體系。
 

_12


 

云效在DevOps上落地的一些內(nèi)容,從開發(fā)開始→測試→集成→部署,包括環(huán)境管理、監(jiān)控。這一套整個的可視化非常的強,也簡單易用的一個流水線。這樣的話工作者不需要學(xué)很多,尤其是測試人員,只需要三堂課就可以將上萬條案例都測試完。
 

“鑫云+”項目并行開發(fā)、多分支管理、持續(xù)集成

在云效值得學(xué)習(xí)的三個地方,第一個就是分支開發(fā)的這個模式,在傳統(tǒng)端,比如有一個老的開發(fā)系統(tǒng)已經(jīng)開發(fā)了很長時間,有一個大的模塊可能半年才上。但是同時又有其他小的需求,可能一兩周就要上,同時可能也有一些bug要修復(fù),三條線并行。這時候往往出現(xiàn)的一種情況是雖然也分支了,但是并不能管控所有人的提交時間,可能提交的時候會產(chǎn)生沖突,就需要解決沖突,配管員就是解決沖突的。還有一種就是在只有一個主干的時候,上線的時候通通往上交,交到最后發(fā)現(xiàn)又要去解決依賴的問題。所以這個時候自動化就根本無法實施,交付的自動化當時對于我們來說是非常難解決的問題但是云上解決了。
云效首先永遠有一個保持正確的主干,來了一個需求之后,會有特性分支,并行的特性分支開發(fā)完之后。如果這三個需求都要上,那就從主干上打出一個集成分支到認證環(huán)節(jié)去測。如果發(fā)現(xiàn)有問題有一個需求不能上,全部回滾回來把正確的兩個打出集成再往下走。所有的這些自動化非常的快,不需要在里邊摘代碼,不需要查看沖突,都能快速的完成。
 

“鑫云”項目測試效能提升

 

_13

 

(4)價值體現(xiàn)

在2016年新核心上線的時候上了一個新的系統(tǒng),核心系統(tǒng)對于一個銀行來說相當于信道,它的改動會使其他系統(tǒng)得到改動,當時這個系統(tǒng)的重建也是非常巨大的一個工程。在當時的時候是沒有一個這樣好的自動化的測試工具,所以當時測試是一個非常耗成本的事情。到了“鑫云+”的時候我們也是核心,我們是全國首家商業(yè)銀行能夠?qū)崿F(xiàn)分布式核心的銀行。 “鑫云+”是一個通道式的平臺,其實大部分的時候是沒有界面的,靠人工測界面是測不起來的,但是又希望提前去發(fā)現(xiàn)這些問題。所以更多的時候測試是要分層次的,更多的是對接口的測試針對服務(wù)的測試,把這些都測掉,別切云效能夠在它的系統(tǒng)里做自動的留痕。保證再去重新跑一遍的時候只要是修改的測過的都能夠正確的上去。