丁之彥
摘要:隨著銀行業(yè)務(wù)創(chuàng)新產(chǎn)品的不斷涌現(xiàn),傳統(tǒng)的開發(fā)運(yùn)維模式已經(jīng)難以滿足大規(guī)模用戶的訪問和需求的快速迭代,基于彈性分布式容器云架構(gòu)的敏捷開發(fā)運(yùn)維體系,能為銀行業(yè)務(wù)提供系統(tǒng)的解決方案,具有一定的研究意義。
Abstract: With the continuous emergence of innovative banking products, the traditional development operation and maintenance model has been difficult to meet the rapid iteration of large-scale user access and demand. The agile development operation and maintenance system based on flexible distributed container cloud architecture can provide a system solution for banking business. So it has certain research significance.
關(guān)鍵詞:容器云;分布式;敏捷開發(fā)
Key words: container cloud;distributed;agile development
中圖分類號:TP311.5;TP393.09? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2019)34-0172-02
根據(jù)2019年第44次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》,我國網(wǎng)民規(guī)模達(dá)8.54億,互聯(lián)網(wǎng)普及率達(dá)61.2%,手機(jī)網(wǎng)民規(guī)模達(dá)8.47億,網(wǎng)民使用手機(jī)上網(wǎng)的比例達(dá)99.1%?;ヂ?lián)網(wǎng)用戶行為具有“不可預(yù)測、爆發(fā)式增長、峰谷明顯”等特點(diǎn),為銀行互聯(lián)網(wǎng)產(chǎn)品開發(fā)和運(yùn)維帶來新的挑戰(zhàn),隨著面向互聯(lián)網(wǎng)用戶的銀行業(yè)務(wù)創(chuàng)新產(chǎn)品不斷涌現(xiàn),涵蓋了網(wǎng)銀、支付、理財(cái)?shù)群诵臉I(yè)務(wù)及搶購、優(yōu)惠券等拓展業(yè)務(wù),逐漸成為銀行重點(diǎn)業(yè)務(wù)方向之一。尤其隨著“互聯(lián)網(wǎng)+”的深入發(fā)展,銀行創(chuàng)新業(yè)務(wù)產(chǎn)品對產(chǎn)品的上線時(shí)間、迭代周期、運(yùn)營質(zhì)量要求極高。采用傳統(tǒng)的開發(fā)運(yùn)維模式將難以滿足需求的快速迭代及大規(guī)模用戶的訪問,引入基于彈性架構(gòu)的敏捷DevOps體系是支撐互聯(lián)網(wǎng)金融產(chǎn)品創(chuàng)新的有效方式。
2009年在速度大會(Velocity)上首次提出DevOps概念,提出通過加強(qiáng)開發(fā)團(tuán)隊(duì)與運(yùn)維團(tuán)隊(duì)之間的協(xié)作,來加快應(yīng)用部署頻率。不同于傳統(tǒng)敏捷開發(fā)與運(yùn)維作為兩個(gè)獨(dú)立的流程執(zhí)行易導(dǎo)致流程混亂狀態(tài),DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,以促進(jìn)開發(fā)、測試和運(yùn)維部門之間的交流與合作,大幅減少整個(gè)軟件生命周期中出現(xiàn)的重復(fù)工作,提升開發(fā)效率、提升產(chǎn)品運(yùn)營的穩(wěn)定性。
目前,國內(nèi)外對于敏捷DevOps投入大量的研究與實(shí)踐,研究軟件系統(tǒng)開發(fā)、測試、運(yùn)維各階段的需求,實(shí)現(xiàn)開發(fā)與測試階段的融合,如將開發(fā)延伸至生產(chǎn)中(持續(xù)集成和交付)、將開發(fā)嵌入到IT運(yùn)維中(應(yīng)用端到端管理)、向開發(fā)中加入生產(chǎn)反饋(可視化監(jiān)控和運(yùn)維)、將IT運(yùn)維嵌入到開發(fā)(運(yùn)維分析及預(yù)測)等。IBM、微軟等國內(nèi)外知名公司紛紛推出自己的DevOps解決方案和實(shí)施工具,巴克萊銀行已經(jīng)將敏捷和DevOps擴(kuò)展到全企業(yè)范圍內(nèi),取得了很好的效果,高盛在Docker研發(fā)和應(yīng)用領(lǐng)域投巨資來實(shí)現(xiàn)其微服務(wù)架構(gòu)。國內(nèi),招商銀行與青云合作打造新一代DevOps應(yīng)用云,將開發(fā)運(yùn)營和質(zhì)量保障緊密結(jié)合,加速應(yīng)用產(chǎn)品和功能迭代,中國工商銀行和上海浦發(fā)銀行等已經(jīng)將DevOps試點(diǎn)到其創(chuàng)新應(yīng)用中。
本項(xiàng)目深入研究銀行業(yè)的持續(xù)集成、持續(xù)運(yùn)維需求,研發(fā)了基于彈性分布式容器云架構(gòu)的開發(fā)運(yùn)維體系及其相關(guān)支撐平臺,并結(jié)合銀行業(yè)互聯(lián)網(wǎng)應(yīng)用創(chuàng)新的特點(diǎn),開展針對性的實(shí)踐應(yīng)用,為金融科技快速發(fā)展提供了支撐。根據(jù)Amazon Apollo平臺數(shù)據(jù)統(tǒng)計(jì),平臺每分鐘推送95-100個(gè)部署,平均部署時(shí)間僅11.6秒,部署失敗的停機(jī)率為0.001%,這些是敏捷開發(fā)運(yùn)維(DevOps)課題關(guān)注的重要指標(biāo)。敏捷開發(fā)運(yùn)維(DevOps)不僅關(guān)注產(chǎn)品的快速開發(fā)上線,還注重產(chǎn)品的快速部署、持續(xù)集成、高效運(yùn)維等。其中,敏捷開發(fā)彌補(bǔ)了業(yè)務(wù)需求頻繁變更與開發(fā)測試長周期之間的差距,提升了開發(fā)和交付效率,而DevOps在敏捷開發(fā)模式基礎(chǔ)上,有效解決開發(fā)運(yùn)維一體化的問題。目前國內(nèi)外都非常關(guān)注DevOps,包括傳統(tǒng)的運(yùn)維服務(wù)、傳統(tǒng)工具廠商等。研究顯示引入DevOps的企業(yè)中,開發(fā)和運(yùn)維人員通過在產(chǎn)品設(shè)計(jì)、構(gòu)建、測試等方面的協(xié)作,將產(chǎn)品交付效率提升30倍、變更失敗率降低50%。
DevOps在互聯(lián)網(wǎng)領(lǐng)域的成功引起了國內(nèi)外金融機(jī)構(gòu)的關(guān)注,紛紛開展DevOps試點(diǎn)應(yīng)用實(shí)踐。高盛投巨資開展基于Docker的開發(fā)運(yùn)維架構(gòu)研發(fā),計(jì)劃將其大量應(yīng)用信息系統(tǒng)遷移至云平臺,提升開發(fā)運(yùn)維效率。中國工商銀行、招商銀行、上海浦發(fā)銀行等已將DevOps試點(diǎn)至信用卡、優(yōu)惠券等面向互聯(lián)網(wǎng)用戶的應(yīng)用領(lǐng)域,加速了公司產(chǎn)品開發(fā)效率和開發(fā)運(yùn)維融合速度。
以Docker為代表的容器技術(shù)的發(fā)展,加速了敏捷開發(fā)運(yùn)維模式的發(fā)展。以Docker為核心的彈性分布式云架構(gòu),采用Docker鏡像方式將需交付的產(chǎn)品或組件及其所需運(yùn)行環(huán)境打包,鏡像可以在開發(fā)、測試、生產(chǎn)環(huán)境中重復(fù)使用,改變了傳統(tǒng)軟件產(chǎn)品的交付模式。Docker容器云平臺提供的彈性擴(kuò)展、高可用性部署優(yōu)勢,有效支撐銀行信息產(chǎn)品的持續(xù)集成、持續(xù)部署需求,大幅降低開發(fā)運(yùn)維成本。
在項(xiàng)目中解決了一些關(guān)鍵技術(shù):實(shí)現(xiàn)銀行業(yè)務(wù)系統(tǒng)開發(fā)和運(yùn)維融合,提升銀行信息系統(tǒng)尤其是創(chuàng)新產(chǎn)品的開發(fā)效率和運(yùn)營質(zhì)量;實(shí)現(xiàn)基于Docker、Kubernetes技術(shù)的銀行業(yè)微服務(wù)開發(fā)框架,提升銀行業(yè)務(wù)產(chǎn)品的開發(fā)、運(yùn)維和質(zhì)量保障效率。實(shí)現(xiàn)基于Docker、Kubernetes技術(shù)的銀行業(yè)務(wù)產(chǎn)品的高效運(yùn)維,支持產(chǎn)品發(fā)布、升級、回滾、運(yùn)行監(jiān)控、彈性伸縮、高可用性保障等功能。實(shí)現(xiàn)Docker容器的安全性。在保持Docker容器輕量級特性的基礎(chǔ)上,克服Docker容器共享宿主機(jī)內(nèi)核帶來的安全隔離性弱的問題。實(shí)現(xiàn)Docker容器的故障隔離。克服Docker容器共享宿主機(jī)內(nèi)核帶來的故障擴(kuò)散問題。開展面向銀行業(yè)務(wù)創(chuàng)新產(chǎn)品的敏捷運(yùn)維開發(fā)體系實(shí)施和管理。
項(xiàng)目研究的意義在于:研究適用銀行創(chuàng)新產(chǎn)品的敏捷開發(fā)運(yùn)維體系,實(shí)現(xiàn)開發(fā)、測試和運(yùn)維的融合,加強(qiáng)對敏捷化產(chǎn)品的全生命周期管理,大幅減少重復(fù)部署環(huán)境的工作量;實(shí)現(xiàn)基于Docker的敏捷開發(fā)運(yùn)維平臺架構(gòu)設(shè)計(jì),包括微服務(wù)開發(fā)框架和業(yè)務(wù)產(chǎn)品運(yùn)維支撐架構(gòu)。實(shí)現(xiàn)業(yè)務(wù)產(chǎn)品的微服務(wù)化,支持產(chǎn)品的自動化上線技術(shù)、安全掃描、自動更新、灰度發(fā)布、版本回滾、基于多指標(biāo)的彈性伸縮等。尤其根據(jù)目前銀行創(chuàng)新產(chǎn)品的開發(fā)與運(yùn)維過程中的難題,結(jié)合彈性分布式容器云技術(shù),研發(fā)基于Docker容器云架構(gòu)的敏捷開發(fā)運(yùn)維架構(gòu),提出基于Docker微服務(wù)開發(fā)框架及其實(shí)現(xiàn)方案,實(shí)現(xiàn)產(chǎn)品自動化上線、安全掃描、灰度發(fā)布、版本回滾、多指標(biāo)監(jiān)控等運(yùn)維支撐能力。
由于銀行業(yè)務(wù)系統(tǒng)對產(chǎn)品穩(wěn)定性要求極高,彈性容器云架構(gòu)和敏捷DevOps在銀行業(yè)務(wù)中的應(yīng)用大都還處于研究或試點(diǎn)應(yīng)用的階段。基于彈性分布式容器云架構(gòu)的敏捷開發(fā)運(yùn)維體系,將為銀行業(yè)務(wù)提供系統(tǒng)的解決方案和實(shí)踐案例,具有一定的研究價(jià)值和行業(yè)推廣意義。
參考文獻(xiàn):
[1]劉沙.順勢而為,讓Docker幫到業(yè)務(wù)[J].It經(jīng)理世界,2016(16).
[2]孫海洪,邱旻駿,鄭位威.探路新技術(shù),把脈容器化[J].金融電子化,2016(9):57-58.
[3]Sandoval R M S E. A case study in enabling DevOps using Docker[J]. 2015.
[4]孫海洪.微服務(wù)架構(gòu)和容器技術(shù)應(yīng)用[J].金融電子化,2016(5):63-64.
[5]石琎.基于Jazz平臺與 IBM UrbanCode 產(chǎn)品實(shí)現(xiàn)端到端的 DevOps[J].2014.
[6]王男.面向證券業(yè)務(wù)系統(tǒng)的虛擬化測試平臺的研究[D].吉林大學(xué),2015.
[7]Kenefick S. Become More Agile and Get Ready for DevOps by Using Docker in Your Continuous Integration Environments [TR], Gartner, 2015.
[8]Duvall P. Agile DevOps: The flattening of the software release process [TR]. IBM Corporation, 2012.
[9]孫海洪.微服務(wù)架構(gòu)和容器技術(shù)應(yīng)用[J].金融電子化,2016(5):63-64.
[10]佚名.數(shù)人云發(fā)布容器管理面板Crane[J].金融電子化, 2016(9):95.
[11]董莉.螞蟻爬上金融云[J].It經(jīng)理世界,2015(21):20-22.
[12]Jullian A. R, Sangeetha M. From Dev to Ops - Introduction to Devops on understanding Continuous Integration and Continuous Delivery[J], International Journal of Innovative research in Computer and Communication Engineering, 2016(4): 12567-12572.