作為傳統(tǒng)金融機(jī)構(gòu)重要代表的保險行業(yè),許多企業(yè)的關(guān)鍵業(yè)務(wù)運(yùn)營幾乎毫無例外地依賴著一個笨重而陳舊的單體架構(gòu)核心業(yè)務(wù)系統(tǒng),其牽一發(fā)而動全身的復(fù)雜特性,使得諸多所屬企業(yè)IT團(tuán)隊(duì)在面對企業(yè)“以客戶為中心”、“互聯(lián)網(wǎng)+”等發(fā)展戰(zhàn)略所帶來的排山倒海般的業(yè)務(wù)需求時,往往疲于奔命,甚至舉步維艱。
除了系統(tǒng)架構(gòu)本身的問題,大部分中小型金融機(jī)構(gòu),在業(yè)務(wù)軟件的交付與運(yùn)營管理方面,長期依賴核心業(yè)務(wù)系統(tǒng)供應(yīng)商所提供的定制研發(fā)服務(wù),缺乏對軟件生產(chǎn)過程的高效管理,也使得大家在面對新一代業(yè)務(wù)系統(tǒng)架構(gòu)改造過程中要求的持續(xù)交付/持續(xù)運(yùn)營這一艱巨挑戰(zhàn)時深感力不從心。
作為民營壽險企業(yè)的杰出代表,民生人壽成立十余年來始終堅持貫徹“以用戶為中心”的經(jīng)營理念,將不斷提升用戶體驗(yàn),豐富服務(wù)模式,嘗試通過多種渠道為客戶提供個性化、定制化的保險產(chǎn)品作為公司追求的經(jīng)營目標(biāo)。而這一業(yè)務(wù)經(jīng)營方針對IT支持的要求也在日益提高,在經(jīng)過反復(fù)的“打補(bǔ)丁”方式勉力維持原有核心系統(tǒng)運(yùn)行多年之后,民生人壽IT團(tuán)隊(duì)決心破舊立新,向業(yè)內(nèi)標(biāo)桿企業(yè)看齊,著手進(jìn)行新一代核心系統(tǒng)的規(guī)劃與建設(shè)。
重構(gòu)一套全新的微服務(wù)架構(gòu)核心業(yè)務(wù)系統(tǒng),并且采用容器技術(shù)來優(yōu)化微服務(wù)架構(gòu)系統(tǒng)的治理模式,這樣的戰(zhàn)略規(guī)劃不可不謂大膽而創(chuàng)新,因?yàn)樵跇I(yè)界至今仍未有完整的成功先例。民生人壽IT團(tuán)隊(duì)上下都對這一項(xiàng)目寄予了極高的期望,大家一致認(rèn)為,新架構(gòu)下的核心業(yè)務(wù)系統(tǒng)重建項(xiàng)目意義極為重大,它很可能帶領(lǐng)民生人壽在未來幾年保險市場風(fēng)起云涌的激烈競爭格局中突破重圍,一舉超越同類型機(jī)構(gòu)!
睿云智合(Wise2C)承接了其中一項(xiàng)光榮而艱巨的任務(wù):從2016年中開始,分階段為民生人壽建設(shè)基于容器的企業(yè)級PaaS平臺,包括開發(fā)者中心和運(yùn)維中心,以幫助民生人壽在新架構(gòu)核心系統(tǒng)搭建過程中實(shí)現(xiàn)高效的持續(xù)集成和持續(xù)部署自動化管理,并在未來進(jìn)一步實(shí)現(xiàn)自動化運(yùn)維管理。
項(xiàng)目目標(biāo)場景
第一階段建設(shè)開發(fā)者中心,為民生人壽新一代核心系統(tǒng)的項(xiàng)目開發(fā)提供完整的基于容器的持續(xù)集成解決方案,實(shí)現(xiàn)從代碼提交到容器化部署的完善的DevOps工具鏈和工作流,促進(jìn)微服務(wù)模塊開發(fā)和上線的標(biāo)準(zhǔn)化、自動化,提高新一代核心系統(tǒng)的開發(fā)迭代效率。
第二階段建設(shè)運(yùn)維中心,為日后新一代民生人壽核心系統(tǒng)提供微服務(wù)運(yùn)行框架以及自動化運(yùn)維能力,實(shí)現(xiàn)持續(xù)部署服務(wù)、自動化彈性伸縮、自動故障恢復(fù)、靈活遷移、高級的服務(wù)編排以及高級的日志監(jiān)控管理等能力,同時滿足業(yè)務(wù)以及平臺的高可用性要求。
技術(shù)實(shí)現(xiàn)方案
網(wǎng)絡(luò)方案
本項(xiàng)目中睿云智合(Wise2C)為民生人壽兩個數(shù)據(jù)中心四個業(yè)務(wù)網(wǎng)絡(luò)區(qū)搭建了生產(chǎn)災(zāi)備兩套平臺環(huán)境。各業(yè)務(wù)網(wǎng)絡(luò)區(qū)域均有獨(dú)立的冗余接入交換機(jī)及網(wǎng)絡(luò)防火墻設(shè)備,通過連接核心交換機(jī)及可選的負(fù)載設(shè)備實(shí)現(xiàn)數(shù)據(jù)流的策略控制及業(yè)務(wù)分隔。各區(qū)域間業(yè)務(wù)流量不允許互相訪問。睿云智合根據(jù)民生現(xiàn)有網(wǎng)絡(luò)架構(gòu)進(jìn)行了容器平臺網(wǎng)絡(luò)的規(guī)劃設(shè)計,實(shí)現(xiàn)了業(yè)務(wù)、管理以及存儲的三網(wǎng)分離。
存儲方案
使用convoy組件連接NAS提供容器存儲。
平臺高可用(HA)方案
平臺的的高可用(HA)部署采用3臺主機(jī)節(jié)點(diǎn),并且連接一個共用的外部的數(shù)據(jù)庫。同時采用Haproxy代理以實(shí)現(xiàn)對三臺HA節(jié)點(diǎn)的服務(wù)檢查及訪問切換策略。
MySql集群方案
容器管理平臺需要使用外部數(shù)據(jù)庫,以支持平臺高可用架構(gòu)。我們設(shè)計采用PerconaMySQL數(shù)據(jù)庫集群方案,PerconaServer為MySQL數(shù)據(jù)庫服務(wù)器進(jìn)行了改進(jìn),在功能和性能上較MySQL有著很顯著的提升。
高可用鏡像倉庫方案
高可用私有鏡像庫我們采用Harbor實(shí)現(xiàn),使用Harbor提供的基于策略的Docker鏡像復(fù)制功能實(shí)現(xiàn)鏡像在兩個環(huán)境的同步共享.該方案的優(yōu)點(diǎn)是利用本地存儲,成本低并且可以實(shí)現(xiàn)較快的故障轉(zhuǎn)換。
日志方案
使用睿云智合自研日志收集工具WiseLog對接ELK,實(shí)現(xiàn)每個應(yīng)用容器掛載一個專屬的日志卷容器,不會存在應(yīng)用寫日志路徑?jīng)_突的問題。同時,WiseLog容器內(nèi)有l(wèi)ogstash進(jìn)程收集指定的日志文件,通過進(jìn)程定時查詢獲取宿主機(jī)上新增的日志卷容器,并根據(jù)模板重新生成logstash的配置文件,將新增的日志文件加入收集列表。
WiseLog可以獲取新增日志卷容器在rancher平臺上所屬的Stack,Service和Index,即使一個應(yīng)用容器被調(diào)度到另外的主機(jī),仍然可以通過Stack_Service_Index作為標(biāo)識,在邏輯上將日志拼接起來,對于復(fù)雜的日志收集邏輯,也可以可以通過logtype的標(biāo)簽區(qū)分不同的應(yīng)用,設(shè)置不同的日志收集路徑。
監(jiān)控方案
采用Prometheus+Grafana監(jiān)控方案部署。實(shí)現(xiàn)對容器宿主機(jī)以及容器本身的日志采集,告警,存儲以及展示。
持續(xù)交付平臺方案
睿云智合在民生人壽生產(chǎn)環(huán)境容器管理平臺上部署了持續(xù)交付平臺WiseBuild,用來支持核心系統(tǒng)架構(gòu)改造項(xiàng)目中每一個微服務(wù)模塊的開發(fā)工作。
多個微服務(wù)模塊開發(fā)小組可以同時在統(tǒng)一的WiseBuild平臺上進(jìn)行微服務(wù)模塊開發(fā)過程的全生命周期管理與協(xié)作,以流水線為中心,實(shí)現(xiàn)從代碼構(gòu)建,測試到部署的端到端自動化能力。
同時,WiseBuild的流水線任務(wù)動態(tài)分配并容器化執(zhí)行,構(gòu)建環(huán)境可以動態(tài),彈性擴(kuò)張,可以支持民生人壽大規(guī)模的持續(xù)集成和部署活動。
通過WiseBuild提供的代碼質(zhì)量分析,自動化測試和發(fā)布決策等質(zhì)量控制體系,民生人壽將為開發(fā)外包人員設(shè)立質(zhì)量門,減少外包開發(fā)人員技術(shù)能力差異以及人員流動所帶來的技術(shù)債積累風(fēng)險。同時WiseBuild集成的各類自動化測試框架可以滿足民生人壽的提高自動化測試覆蓋率的需要。
通過WiseBuild,民生人壽將持續(xù)優(yōu)化軟件開發(fā)過程的管理流程,逐步實(shí)現(xiàn)開發(fā)過程的自動化程度以及IT交付效率的提升。通過在項(xiàng)目中持續(xù)的流程優(yōu)化與團(tuán)隊(duì)交付能力的提升,逐步加速新一代核心系統(tǒng)架構(gòu)改造項(xiàng)目的開發(fā)進(jìn)程。
結(jié)語
眾所周知,重構(gòu)核心業(yè)務(wù)系統(tǒng),并且是用最新的架構(gòu)與技術(shù)重構(gòu)一套沒有多少先例可循的核心業(yè)務(wù)系統(tǒng),這樣的挑戰(zhàn)并非是以傳統(tǒng)而保守著稱的金融機(jī)構(gòu)敢于輕易嘗試的項(xiàng)目。相信民生人壽IT團(tuán)隊(duì)的專業(yè)性、先進(jìn)性都將在這一項(xiàng)目的實(shí)施過程中得到充分體現(xiàn)和鍛煉,這一項(xiàng)目也必將隨著實(shí)施成果的逐步顯現(xiàn)成為行業(yè)中的優(yōu)秀典范。作為與民生人壽IT同仁們一起并肩戰(zhàn)斗的合作伙伴,睿云智合(Wise2C)將全力以赴,持之以恒地協(xié)助民生人壽共同迎接并贏得這場艱難的挑戰(zhàn)!