“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

近年來,銀行業(yè)作為金融行業(yè)的支柱行業(yè),整體IT 投入不斷加大,架構(gòu)發(fā)生重大變革,系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)的大集中,使得銀行信息系統(tǒng)的運(yùn)行效率及穩(wěn)定性亦有巨幅提升。但對(duì)比以快速響應(yīng)、快速發(fā)布、迭代更新為特征的新型“互聯(lián)網(wǎng)+ 金融”,傳統(tǒng)商業(yè)銀行IT 架構(gòu)的劣勢(shì)已逐步顯現(xiàn),其主要表現(xiàn)如下:

一、環(huán)境準(zhǔn)備時(shí)間過長 。應(yīng)用系統(tǒng)運(yùn)行所需要的硬件、軟件環(huán)境往往需要在上線前一兩個(gè)月就要申請(qǐng)、準(zhǔn)備,在產(chǎn)品上線前就需要規(guī)劃出產(chǎn)品今后可能用到的資源數(shù)量。

二、系統(tǒng)擴(kuò)展、擴(kuò)容難度較大。各應(yīng)用系統(tǒng)架構(gòu)不統(tǒng)一,難以用通用且便捷的方式應(yīng)對(duì)基礎(chǔ)資源環(huán)境和應(yīng)用處理能力橫向擴(kuò)展的需求。

三、測(cè)試環(huán)境與生產(chǎn)環(huán)境差異較大。應(yīng)用系統(tǒng)的測(cè)試環(huán)境和生產(chǎn)環(huán)境存在較大差異,測(cè)試案例并不能完全模擬生產(chǎn)環(huán)境。

四、上線過程復(fù)雜。上線過程除了開發(fā)人員外,往往需要運(yùn)維人員、系統(tǒng)人員、DBA 等各個(gè)環(huán)節(jié)的人員共同參與,或修改配置、或部署應(yīng)用、或執(zhí)行數(shù)據(jù)庫腳本,加大了上線人力成本的投入,降低了上線投產(chǎn)的效率,增加了手工操作風(fēng)險(xiǎn)。

五、建設(shè)周期長、成本高。技術(shù)標(biāo)準(zhǔn)遵循不一,軟件定制效率不高,系統(tǒng)間交互接口復(fù)雜,實(shí)施推廣需要大量的人力完成。同時(shí),硬件設(shè)備使用趨于高成本、低效率。

金融云發(fā)展趨勢(shì)

金融云是運(yùn)用云計(jì)算技術(shù)提供的創(chuàng)新服務(wù)。系統(tǒng)上云的訴求背后是,近年來資產(chǎn)回報(bào)率走低,加之新興金融業(yè)態(tài)沖擊,銀行業(yè)轉(zhuǎn)型壓力越來越大,且銀行需要應(yīng)對(duì)的互聯(lián)網(wǎng)金融或者說金融互聯(lián)網(wǎng)應(yīng)用場(chǎng)景越來越多,小額交易頻發(fā),交易量不可預(yù)知,“秒殺”成為新常態(tài)。

多變的客戶需求和快速的金融產(chǎn)品創(chuàng)新也對(duì)IT資源的彈性供給和業(yè)務(wù)快速上線提出更高的要求,銀行IT系統(tǒng)峰值處理能力需達(dá)到過去的n倍,如果單筆交易IT成本不變,總成本將大幅增長。

而云計(jì)算作為新的IT建設(shè)、采購、使用模式,通過對(duì)標(biāo)準(zhǔn)且相對(duì)廉價(jià)的服務(wù)器、存儲(chǔ)和網(wǎng)絡(luò)等硬件資源進(jìn)行虛擬化,提供便捷、按需獲取、可配置和可度量的IT資源供應(yīng),在成本、靈活性上有大優(yōu)勢(shì)。

金融云+devOps產(chǎn)品介紹

金融云+devOps,是北京有限元科技輸出的重要組成部分,工具鏈和平臺(tái)功能基本涵蓋DevOps的主要流程階段,幫助銀行完成技術(shù)、數(shù)據(jù)準(zhǔn)備,實(shí)現(xiàn)統(tǒng)一的移動(dòng)互聯(lián)網(wǎng)的安全準(zhǔn)入及跨平臺(tái)發(fā)布標(biāo)準(zhǔn)。建設(shè)金融云平臺(tái)將作為銀行主動(dòng)實(shí)施向開放架構(gòu)轉(zhuǎn)型的關(guān)鍵一步,將其建設(shè)成為系統(tǒng)架構(gòu)中重要的基礎(chǔ)性平臺(tái),并作為科技轉(zhuǎn)型的重要抓手,打通開發(fā)、測(cè)試、部署及運(yùn)維等各個(gè)環(huán)節(jié),完成DevOps 轉(zhuǎn)型(開發(fā)、運(yùn)維一體化)。

體系架構(gòu)

如何建設(shè)一個(gè)能支撐開發(fā)、運(yùn)維共同使用,實(shí)現(xiàn)價(jià)值交付的DevOps研發(fā)運(yùn)營管理平臺(tái),選擇以CMDB作為資源元數(shù)據(jù)平臺(tái),以K8S作為資源管理平臺(tái),支撐交付、變更、監(jiān)控、運(yùn)營等各種IT運(yùn)維能力;在交付部分,支撐資源交付和應(yīng)用交付的自動(dòng)化能力;在變更部分,產(chǎn)生資源變更事件,觸發(fā)對(duì)應(yīng)變更動(dòng)作、通知監(jiān)控系統(tǒng);在監(jiān)控部分,支撐監(jiān)控、告警系統(tǒng),加強(qiáng)數(shù)據(jù)消費(fèi)場(chǎng)景;在運(yùn)營部分,提供完整數(shù)據(jù)支持容量、可用性等分析處理??傮w架構(gòu)如下圖:

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

自助交付平臺(tái)各個(gè)系統(tǒng),形成閉環(huán)運(yùn)維流程:

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

1. 容器云

以Kubernetes為基礎(chǔ),打造多機(jī)房、多集群管理能力,以自助方式為交付團(tuán)隊(duì)提供平臺(tái)能力:

? 多租戶;

? 應(yīng)用倉庫;

? 提供容器web ssh訪問能力;

? 提供容器日志實(shí)時(shí)跟蹤能力;

? 應(yīng)用自助部署及快速訪問能力;

? 應(yīng)用自動(dòng)擴(kuò)縮容能力;

? 環(huán)境資源自助、配置管理能力;

? 環(huán)境腳本化創(chuàng)建能力-基于namespace;

? 環(huán)境凍結(jié)及恢復(fù)能力-基于namespace;

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

2.CICD

自助化、自動(dòng)化和協(xié)作作為核心文化,通過提供便捷的基礎(chǔ)服務(wù),讓交付團(tuán)隊(duì)擁有自動(dòng)化的交付流水線,并通過更多的溝通協(xié)作,盡可能讓每個(gè)交付團(tuán)隊(duì)都能夠獨(dú)立自主的調(diào)整自己的基礎(chǔ)設(shè)施。然后再根據(jù)各個(gè)交付團(tuán)隊(duì)的實(shí)施情況和結(jié)果來對(duì)流程和服務(wù)持續(xù)改進(jìn)。首先設(shè)計(jì)一個(gè)高效的持續(xù)交付流水線,讓各個(gè)團(tuán)隊(duì)都能夠嵌入到流水線中,并以基礎(chǔ)設(shè)施即代碼來溝通,通過自動(dòng)化的方式實(shí)現(xiàn)開發(fā)與運(yùn)維的連接,如下圖。

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

1) 流水線過程:

? 站在交付團(tuán)隊(duì)的視角,我們將基礎(chǔ)設(shè)施構(gòu)建、代碼構(gòu)建、部署等活動(dòng)都代碼化,與應(yīng)用代碼放在同一個(gè)代碼倉庫中;

? 交付團(tuán)隊(duì)通過提交自己代碼到倉庫后,通過Webhook觸發(fā)持續(xù)集成工具創(chuàng)建流水線;

? 接著會(huì)進(jìn)行自動(dòng)構(gòu)建,單元測(cè)試、代碼質(zhì)量、安全掃描、依賴庫檢查等任務(wù),最終輸出構(gòu)建鏡像并推送到鏡像倉庫,并生成測(cè)試任務(wù);

? 測(cè)試人員選擇測(cè)試任務(wù)啟動(dòng),自動(dòng)到任務(wù)對(duì)應(yīng)環(huán)境中去創(chuàng)建應(yīng)用(組)實(shí)例,然后再進(jìn)行功能測(cè)試、性能測(cè)試、接口測(cè)試及安全測(cè)試等,測(cè)試通過后創(chuàng)建發(fā)布任務(wù);

? 運(yùn)維人員選擇發(fā)布任務(wù),進(jìn)行最終的部署活動(dòng);

2) 平臺(tái)能力:

為持續(xù)優(yōu)化交付流程,對(duì)許多活動(dòng)進(jìn)行數(shù)據(jù)收集和分析,以報(bào)表的形式去分析展示代碼提交頻率、系統(tǒng)和代碼質(zhì)量情況、缺陷和構(gòu)建情況、部署情況等,幫團(tuán)隊(duì)找到瓶頸或問題。

3) 技術(shù)選擇:

以開源為主,選擇了一種輕量級(jí)、低耦合的技術(shù)組合Ansible+Jenkins+Kubernetes,具體工具鏈如下圖 :

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

考慮到基于yaml語法簡潔且易讀,以其定義交付團(tuán)隊(duì)的公有DSL模板,平臺(tái)團(tuán)隊(duì)關(guān)注平臺(tái)服務(wù)是否滿足需求和DSL模板是否易用,而交付團(tuán)隊(duì)只用關(guān)注如何基于公有 DSL去定制自己的基礎(chǔ)設(shè)施、環(huán)境依賴和部署等。

CMDB

1) 目標(biāo):

? 管理所有資源及其拓?fù)潢P(guān)系,實(shí)現(xiàn)資源全生命周期管理

? 通過自動(dòng)化發(fā)現(xiàn)技術(shù)結(jié)合變更流程,有效降低資源維護(hù)成本

? 作為元數(shù)據(jù)平臺(tái),給周邊平臺(tái)提供數(shù)據(jù)支撐

2) 原則:

? 從應(yīng)用的角度構(gòu)建與IT資源的彈性關(guān)系

? 提供應(yīng)用元數(shù)據(jù)管理能力,和應(yīng)用類型無關(guān)

? 為應(yīng)用資源、動(dòng)作、狀態(tài)的統(tǒng)一管理提供支撐

? 以統(tǒng)一基礎(chǔ)資源層作為基礎(chǔ),管理底層一切資源

? 變更控制借助運(yùn)維流程自動(dòng)化完成

? 資源使用自動(dòng)發(fā)現(xiàn),而不是人工維護(hù)

? 資源信息必須能為上層應(yīng)用提供服務(wù)

3) 支撐

? 核心訴求是應(yīng)用生命周期管理

? 核心場(chǎng)景是持續(xù)交付

4) 架構(gòu)

? 資源模型管理主要為定義配置模型,包括配置項(xiàng)、屬性、關(guān)聯(lián)關(guān)系

? 資源對(duì)象管理分成基礎(chǔ)對(duì)象管理、PaaS對(duì)象管理及應(yīng)用管理等

? 拓?fù)涔芾硎琴Y源對(duì)象之間的關(guān)聯(lián)關(guān)系管理,從部署拓?fù)洹?shí)例拓?fù)涞交A(chǔ)資源拓?fù)涫且粋€(gè)分層拓?fù)?/p>

? 對(duì)于實(shí)例和關(guān)系的維護(hù)有兩個(gè)重要的手段,一個(gè)是自動(dòng)發(fā)現(xiàn),另外一個(gè)就是基于運(yùn)維流程的生命周期管理與場(chǎng)景化的自動(dòng)化變更管理等

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

3.FastX統(tǒng)一監(jiān)控

1)監(jiān)控目標(biāo)

“金融云+Devops”,有限元科技打造自助化持續(xù)交付平臺(tái)

2)監(jiān)控4個(gè)黃金指標(biāo)

? 延遲:業(yè)務(wù)的具體處理時(shí)長,需區(qū)分成功耗時(shí)和失敗耗時(shí);

? 流量:業(yè)務(wù)在單位時(shí)間內(nèi)的調(diào)用量,如:服務(wù)的QPS、每秒訂單筆數(shù)等;

? 錯(cuò)誤:調(diào)用出錯(cuò)數(shù)量、成功率、錯(cuò)誤碼;

? 飽和度(負(fù)載/容量):已使用資源的占比;

3)監(jiān)控標(biāo)準(zhǔn)化

? 事件來源-來自CMDB管理的物理及邏輯資源(主機(jī)系統(tǒng)、網(wǎng)絡(luò)、基礎(chǔ)組件、中間件、應(yīng)用等)

? 監(jiān)控模板標(biāo)準(zhǔn)化-專人負(fù)責(zé)制定資源的監(jiān)控設(shè)計(jì)、閾值設(shè)置、模板統(tǒng)一

? 告警規(guī)則標(biāo)準(zhǔn)化-監(jiān)控系統(tǒng)與告警系統(tǒng)分離,各司其責(zé);告警根據(jù)設(shè)備等級(jí)、應(yīng)用等級(jí)、嚴(yán)重等級(jí)區(qū)分;告警發(fā)送對(duì)象統(tǒng)一來源CMDB

4. DBMan

? 數(shù)據(jù)查詢工具:支持查詢、審計(jì)、脫敏;

? 數(shù)據(jù)變更工具:支持DML、DDL;

? 數(shù)據(jù)庫運(yùn)維工具:支持集群管理、用戶管理備份、恢復(fù)、巡檢;

有限元科技的金融云+DevOps,一方面,將成熟的開源工具開源技術(shù)和企業(yè)內(nèi)部的云管理平臺(tái)相結(jié)合,實(shí)現(xiàn)了較高程度的開發(fā)測(cè)試流程自動(dòng)化,推動(dòng)了產(chǎn)品的持續(xù)集成和持續(xù)交付,減少了大量的重復(fù)勞動(dòng),提高了開發(fā)測(cè)試效率。

另一方面,通過使用云管理平臺(tái),將復(fù)雜異構(gòu)的IaaS資源服務(wù)化,降低了使用難度;結(jié)合業(yè)務(wù)部門需求合理劃分資源,減少了資源浪費(fèi),加強(qiáng)了資源的有效隔離,避免了誤操作;自服務(wù)自運(yùn)維的模式,也極大地提升了公司整體研發(fā)效率。未來,有限元科技將持續(xù)優(yōu)化自助化持續(xù)交付平臺(tái),使得集中式、審批式、被動(dòng)響應(yīng)請(qǐng)求的運(yùn)維團(tuán)隊(duì)不再是交付流程的依賴和瓶頸,逐漸轉(zhuǎn)向自助化、審查式、主動(dòng)優(yōu)化的去中心化交付團(tuán)隊(duì)。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )