1. 程式人生 > >108天南京銀行完成不可能完成的新金融DevOps轉型

108天南京銀行完成不可能完成的新金融DevOps轉型

手動 alt request 學習 風控 開發模式 天下 公有雲 月份

在2018雲棲大會南京峰會企業研發雲專場,由南京銀行研發管理負責人吳攀帶來了“雲效助力新金融DevOps轉型——南京銀行實踐之路”的主題分享。首先對南京銀行的研發規模與成長做了介紹,對“鑫雲+”的誕生和其架構應用做了詳細的講解。

(雲效公有雲周年折扣活動進行中紅,包年55折優惠中!)

技術分享圖片

以下為精彩視頻內容整理:

南京銀行研發規模概況

技術分享圖片


簡單給大家介紹一下南京銀行現在的規模,南京銀行的科技現在有運維中心、研發中心和科技管理部,我是在科技管理部負責配置管理和研發過程管理。我們現在正式的員工有200多人,外包合作場商有600多人,在線運營的運營系統有300多個。
有人說銀行不就是有櫃面、網銀、手機銀行嗎?在這裏想和大家解釋一下,舉個例子。一個貸款的產品,除了要涉及到本身的核心櫃面,貸款本身的系統以外,可能還涉及到風控,涉及到大數據,然後總賬,還有賬戶管理,還有監管。那麽銀行的這種交易的特殊性,導致了每一個產品可能都有很多個系統在背後支撐,也就導致了交易的鏈路會非常的長。

南京銀行研發管理的成長歷程

技術分享圖片


很榮幸在加入南京銀行之後正好是金融快速發展的這些年,見證了南京銀行科技力量不斷增強的一個過程。最開始的時候銀行可能只有幾個系統結構簡單,但還是有很多技術強人,他可能技術能力很全面,他可能一個人就把系統都做好了,把一個系統維護好。那麽銀行的業務不斷擴展,用戶可以買理財,買債券,可以融資等,這樣就導致了很復雜的系統結構。這個時候如果還像原來作坊式的開發模式就行不通了。舉個例子,在剛剛工作的時候有一個項目經理,他是非常負責任的,他每天下班前都會做一個excel表記錄團隊裏每個人今天修改了哪些代碼,在哪個模塊上做了什麽,這樣手動去記。在多行研發的時候根本就不可能完成的。到2014年的時候系統已經到200套了,也就大概六七十個人,這個時候僅僅靠人是根本不能完成的。這個時候就決定要引入外部的管理,要有流程,要有質量。2014年的時候獲得了CMMI ML3和ISO的體系認證。

傳統金融業研發過程管理痛點

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

“鑫雲+”的誕生

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

“鑫雲+”項目架構變革

“鑫雲+”從7月份進廠之後就對廠商原有的產品做了重構,所有的規範全部重來。拆成微服務、換數據庫中間所有的這些標準全部按照阿裏螞蟻的要求做修改。在這個基礎上提出來DevOps體系。

技術分享圖片


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

“鑫雲+”項目並行開發、多分支管理、持續集成

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

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

技術分享圖片


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

“鑫雲+”混合雲架構的安全策略管理

在這裏要感謝雲效,一開始是采用混合雲的架構,在公有雲上測試,在私有雲上面生產。
這樣的話,就必須要有一個鏈路去通到公有雲。雲效在這裏幫助做了一些安全策略,或多個中樞扭轉的這種設計,使得我們既能滿足監管要求也能夠無縫對接叠代快速的開發模式。

本文作者:雲效鼓勵師

本文為雲棲社區原創內容,未經允許不得轉載。

108天南京銀行完成不可能完成的新金融DevOps轉型