通過架構變革、并行開發、多分支管理、持續集成等方式,成功實現敏捷轉身。
業務特征及痛點
南京銀行科技有運維中心、研發中心和科技管理部,正式的員工有200多人,外包合作廠商有600多人,在線運營的運營系統有300多個。
有人說銀行不就是有柜面、網銀、手機銀行嗎?在這里想和大家解釋一下,舉個例子。一個貸款的產品,除了要涉及到本身的核心柜面,貸款本身的系統以外,可能還涉及到風控,涉及到大數據,然后總賬,還有賬戶管理,還有監管。那么銀行的這種交易的特殊性,導致了每一個產品可能都有很多個系統在背后支撐,也就導致了交易的鏈路會非常的長。
最開始的時候銀行可能只有幾個系統,結構簡單,有很多技術強人可能技術能力很全面,一個人就把系統都做好并維護好了。隨著銀行業務不斷擴展,用戶可以買理財、買債券、融資等,就導致了復雜的系統結構。這個時候如果還像原來作坊式的開發模式就行不通了。
舉個例子,在剛剛工作的時候有一個項目經理,他是非常負責任的,每天下班前會做一個Excel表記錄團隊里每個人今天修改了哪些代碼,在哪個模塊上做了什么,這樣手動去記。在多行研發的時候根本就不可能完成的。到2014年的時候系統已經到200套了,也就大概六七十個人,這個時候僅僅靠人是根本不能完成的。這時就決定要引入外部的管理,要有流程,要有質量。2014年的時候獲得了CMMI ML3和ISO的體系認證。
建設這些體系的過程中跟傳統銀行業一樣遇到了很多痛點,比如廠商很多,拿過來的原型也很多。原先的這種模式是外購為主,經過適配很快就能把業務連接起來。這樣的弊端就是各種各樣的技術架構,非常復雜,在這樣復雜的系統架構里邊去實施一個流水線是一件非常痛苦的事情,同時也帶來了銀行的業務要求需要迭代非???。如果這么多的問題,沒有一個工具來管理的話,是不能完全應付的。當時我們也做了一些統一的工作,設立了一些系統把需求管起來。架構也要統一起來,即使是一部分的統一也要盡量的保持不要浪費資源。配置管理也用了一些集成的工具,還有測試到部署。但是一個點的快并不是全流程的快,想要快速交付這個價值,需要一個完整的不能中斷的流水線才能盡善盡美。這些問題怎么解決呢?
“鑫云+”的誕生
“鑫云+”是一個什么概念?南京銀行是鑫合俱樂部的一個牽頭行,鑫合俱樂部有140家成員行,所有的資金在一個聯盟里面。另外的一頭連接的是互聯網。作為這兩頭的橋梁,可以連接出很多種可能。
“鑫云+”項目架構變革
“鑫云+”進廠之后就對廠商原有的產品做了重構,所有的規范全部重來。拆成微服務、換數據庫中間所有的這些標準全部按照阿里的要求做修改。在這個基礎上提出來DevOps體系。
云效在DevOps上落地的一些內容,從開發開始→測試→集成→部署,包括環境管理、監控。這一套可視化非常強,也簡單易用,工作者不需要學很多,尤其是測試人員,只需要上堂課就可以將上萬條案例都測試完。
“鑫云+”項目并行開發、多分支管理、持續集成
分支開發模式是云效非常值得學習的一點。在傳統端,比如一個老開發系統已經開發很長時間,有一個大的模塊可能半年才上,但是同時又有其他小的需求,可能一兩周就要上,同時可能也有一些bug要修復,三條線并行。這時候往往出現的一種情況是雖然也分支了,但是并不能管控所有人的提交時間,可能提交的時候會產生沖突,就需要解決沖突,配管員就是解決沖突的。還有一種就是在只有一個主干的時候,上線的時候通通往上交,交到最后發現又要去解決依賴的問題。所以這個時候自動化就根本無法實施,交付的自動化當時對于我們來說是非常難解決的問題但是云上解決了。云效首先永遠有一個保持正確的主干,來了一個需求之后,會有特性分支,并行的特性分支開發完之后。如果這三個需求都要上,那就從主干上打出一個集成分支到認證環節去測。如果發現有問題有一個需求不能上,全部回滾回來把正確的兩個打出集成再往下走。所有的這些自動化非常的快,不需要在里面摘代碼,不需要查看沖突,都能快速的完成。
“鑫云+”項目測試效能提升
在2016年新核心上線的時候上了一個新的系統,核心系統對于一個銀行來說相當于信道,它的改動會使其他系統得到改動,這個系統的重建也是非常巨大的一個工程。當時沒有一個好的自動化測試工具,所以測試是一個非常耗成本的事情。到了“鑫云+”的時候我們也是核心,我們是全國首家能夠實現分布式核心的商業銀行。 “鑫云+”是一個通道式的平臺,其實大部分的時候是沒有界面的,靠人工測界面是測不起來的,但是又希望提前去發現這些問題。所以更多的時候測試是要分層次的,針對接口的測試針對服務的測試,把這些都測掉,云效能夠在它的系統里做自動的留痕,保證再去重新跑一遍的時候只要是修改的測過的都能夠正確的上去。
“鑫云+”混合云架構的安全策略管理
在這里要感謝云效,一開始是采用混合云的架構,在公有云上測試,在私有云上面生產。
這樣的話,就必須要有一個鏈路去通到公有云。云效在這里幫助做了一些安全策略,或多個中樞扭轉的這種設計,使得我們既能滿足監管要求也能夠無縫對接迭代快速的開發模式。
免費體驗阿里云云效:企業級一站式研發協同平臺,通過BizDevOps、DevOps、敏捷開發等不同研發解決方案,助力企業實現研發敏捷和組織敏捷。
如果您的團隊有專有云部署需求,歡迎填寫咨詢表單,我們會有工作人員與您電話交流。
本文作者:吳攀,南京銀行研發管理負責人。
本文內容非阿里云官方提供,如您發現本文檔存在侵權內容或其他問題,請提供相應證明材料并在本頁面內提交反饋信息,阿里云會協調或通知相關作者進行處理