林勇
摘 ?要:當(dāng)前,商業(yè)銀行數(shù)據(jù)中心處在“雙態(tài)運維”模式下,如何做好穩(wěn)敏共存、穩(wěn)敏共進(jìn)是商行數(shù)據(jù)中心必須面臨的挑戰(zhàn),在該背景下,需要建設(shè)一個覆蓋開發(fā)、測試、生產(chǎn)的自動化運維平臺,以此來全面提升運維工作效率并降低人工操作風(fēng)險。自動化運維平臺需要以業(yè)務(wù)為中心,以流程為導(dǎo)向,幫助實現(xiàn)業(yè)務(wù)系統(tǒng)的快速上線和更新部署,滿足日常運維主流場景的自動化需求,全面提升運維自動化水平,實現(xiàn)商業(yè)銀行數(shù)據(jù)中心日常運維標(biāo)準(zhǔn)化、自動化、集中化和一體化的管理體系。
關(guān)鍵詞:數(shù)據(jù)中心;標(biāo)準(zhǔn)化;自動化;一體化
中圖分類號: TP311 ? ? ? 文獻(xiàn)標(biāo)志碼:A
1 項目背景
隨著商業(yè)銀行各項創(chuàng)新業(yè)務(wù)的快速發(fā)展,數(shù)據(jù)中心IT信息系統(tǒng)建設(shè)不斷深化,IT基礎(chǔ)設(shè)施規(guī)模和復(fù)雜性急劇增大,兩地三中心的基礎(chǔ)架構(gòu),動輒幾百套信息系統(tǒng)、上萬臺服務(wù)器的規(guī)模,通過手工或簡單腳本化操作的傳統(tǒng)運維模式的局限性日益顯現(xiàn),無法滿足商業(yè)銀行數(shù)字化轉(zhuǎn)型的需求。在當(dāng)前大數(shù)據(jù)、云計算時代的背景下,必須通過自動化運維平臺的建設(shè)和應(yīng)用,在確保IT基礎(chǔ)設(shè)施的安全、穩(wěn)定運行的前提下,實現(xiàn)資源的快速部署、應(yīng)用持續(xù)集成和快速交付、故障的快速應(yīng)急、變更的及時響應(yīng),只有這樣才能快速響應(yīng)業(yè)務(wù)對IT基礎(chǔ)設(shè)施的各類服務(wù)需求[1]。
2 設(shè)計目標(biāo)及原則
2.1 設(shè)計目標(biāo)
鑒于商業(yè)銀行數(shù)據(jù)中心運維工作的復(fù)雜性和多樣性,并考慮到建設(shè)成本和前瞻性,需采用先進(jìn)的運維理念及主流的軟件架構(gòu)。自動化運維平臺建設(shè)應(yīng)做到支持各類主流基礎(chǔ)軟硬件平臺,在為運維人員提供運維場景設(shè)計、開發(fā)、管理和執(zhí)行的功能平臺的同時,具備運維場景可定義、可配置、可定制的特點,實現(xiàn)運維場景從設(shè)計、開發(fā)、審批、發(fā)布、使用到回顧的全生命周期管理,合理合規(guī)地提升運維人員產(chǎn)能和運維管理效能,逐步實現(xiàn)被動運維向主動運維轉(zhuǎn)型,操作運維向運維開發(fā)轉(zhuǎn)型[2]。
2.2 設(shè)計原則
針對商業(yè)銀行數(shù)據(jù)中心自動化運維平臺的建設(shè)目標(biāo),遵循5個方面的原則進(jìn)行建設(shè)。1)體現(xiàn)主動運維、向開發(fā)運維轉(zhuǎn)型的要求。2)標(biāo)準(zhǔn)化、自動化、集中化和測試運維一體化的建設(shè)思路和目標(biāo)。3)平臺的穩(wěn)定性、安全性、保密性、可靠性和完整性。4)技術(shù)先進(jìn)性和可擴(kuò)展性。5)體驗上的易用性和美觀性。
3 系統(tǒng)設(shè)計
3.1 頂層架構(gòu)設(shè)計
3.1.1 平臺物理架構(gòu)
因監(jiān)管及安全的實際需要,商業(yè)銀行數(shù)據(jù)中心多采用兩地三中心甚至多中心的物理布局,自動化運維平臺建設(shè)需要滿足這一要求。所以在平臺的設(shè)計上應(yīng)采用分布式架構(gòu),支持多地部署、高可用和負(fù)載均衡的模式。整體架構(gòu)可劃分為服務(wù)層、交互層和被管設(shè)備層(Sever/Probe/Agent)3層,服務(wù)層統(tǒng)一管理多個交互層,交互層與被管設(shè)備層進(jìn)行通信,各層之間通過加密的方式進(jìn)行通信,平臺應(yīng)基于RPC消息服務(wù)模式實現(xiàn)去中心化的分布式架構(gòu),實現(xiàn)多中心運維自動化平臺的統(tǒng)一和安全管理。
3.1.2 平臺邏輯架構(gòu)
平臺邏輯架構(gòu)的設(shè)計應(yīng)從數(shù)據(jù)中心IT基礎(chǔ)設(shè)施運維場景實際出發(fā),同時考慮未來技術(shù)發(fā)展方向和業(yè)務(wù)對IT基礎(chǔ)設(shè)施運維服務(wù)能力的要求,力求在技術(shù)方案的先進(jìn)性、實用性、擴(kuò)展性、可靠性等方面保持一個良好的平衡。在邏輯架構(gòu)上,平臺可分為運維接口層、核心組件層、系統(tǒng)功能層、應(yīng)用場景層和界面交互層。
運維接口層:商業(yè)銀行數(shù)據(jù)中心根據(jù)自身運維管理的要求,大多已經(jīng)建設(shè)完成了ITSM等運維管理類系統(tǒng)。自動化運維平臺除了提供平臺自身和被管理節(jié)點之間的交互接口外,還應(yīng)該提供完善的第三方接口(例如KVM、K8S、ITSM、CMDB等),其中可通過API與虛擬化系統(tǒng)進(jìn)行交互操作,通過K8S與Dock容器集群進(jìn)行編排管理,通過SNMP、SSH等方式對網(wǎng)絡(luò)設(shè)備進(jìn)行操作管理,通過HTTP/HTTPS協(xié)議與第三方系統(tǒng)接口進(jìn)行交互協(xié)作等。
核心組件層:核心組件層作為平臺功能的底層支撐,主要提供平臺所有前端和后臺數(shù)據(jù)的處理,以及各功能模塊的后臺實現(xiàn)邏輯,平臺的核心組件應(yīng)設(shè)計自身知識庫,并基于穩(wěn)定高效的批量引擎、調(diào)度引擎和規(guī)則引擎,實現(xiàn)對系統(tǒng)功能層的有力支撐。
系統(tǒng)功能層:利用核心組件層提供的基本能力,設(shè)計運維平臺的主要系統(tǒng)功能,實現(xiàn)商業(yè)銀行日常主流運維操作的覆蓋,如裸機(jī)安裝、軟件安裝、補(bǔ)丁安裝、信息自動采集、作業(yè)管理、批量管理、運維流程編排、自動巡檢和基線檢查等。
應(yīng)用場景層:為方便人機(jī)交互,便于運維工程師操作和復(fù)用,平臺應(yīng)利用系統(tǒng)提供的功能模塊對日常運維場景進(jìn)行進(jìn)一步的場景化封裝,應(yīng)將一些操作復(fù)雜、重復(fù)操作的運維場景封裝為標(biāo)準(zhǔn)化、規(guī)范化的一鍵式操作功能,如維護(hù)變更、應(yīng)急處置、持續(xù)集成部署、災(zāi)備切換、健康巡檢、安全基線檢查等。
界面交互層:提供面向運維工程師的統(tǒng)一Web管理入口,以模塊化的方式組織平臺提供的各類組件、功能模塊和應(yīng)用場景,實現(xiàn)日常運維的統(tǒng)一管理。此外,面向第三方系統(tǒng),通過REST API的方式提供服務(wù)接口,輸出平臺能力。
3.2 底層數(shù)據(jù)抓取設(shè)計
鑒于行業(yè)的特殊性,商業(yè)銀行數(shù)據(jù)中心對信息安全和數(shù)據(jù)安全都有著嚴(yán)格的管控要求,平臺的底層數(shù)據(jù)抓取設(shè)計在應(yīng)對復(fù)雜的運維環(huán)境前提下,還應(yīng)遵循監(jiān)管及商行內(nèi)部的安全規(guī)范,做到以下6個方面。1)根據(jù)實際需要采取Agent或Agentless方式,應(yīng)支持常用的腳本語言,如Shell、Powershell、Python、Bat等,同時滿足文件和字符2種傳輸模式。2)嚴(yán)格控制高權(quán)限用戶執(zhí)行,高權(quán)限用戶操作時須有相應(yīng)的審批和授權(quán)記錄。3)Agent與平臺之間的信息傳輸要經(jīng)過加密處理,確保底層數(shù)據(jù)在傳輸過程中的安全。4)Agent與平臺的交互可根據(jù)運維環(huán)境的實際情況采用同步或異步方式,最大限度地降低對被管設(shè)備資源的消耗和影響。5) Agent要有自我監(jiān)控,實時查看當(dāng)前的健康狀態(tài),確保底層數(shù)據(jù)抓取的穩(wěn)定性。6)平臺頂層應(yīng)具有數(shù)據(jù)抓取后處理能力,通過規(guī)則引擎可以靈活定義數(shù)據(jù)的處理邏輯,適用于合規(guī)檢查、基線比對、采集信息格式化、執(zhí)行結(jié)果報表化等場景,大幅降低個性化定制開發(fā)的成本。
3.3 自動化運維功能設(shè)計
根據(jù)商業(yè)銀行數(shù)據(jù)中心的運維環(huán)境和日常運維場景特點,平臺自動化運維功能應(yīng)包括資源管理、運維服務(wù)管理、報表管理等方面,同時需對運維工程師的平臺操作做好權(quán)限管理和行為審計管理。
3.3.1 資源管理
資源管理功能設(shè)計主要包括3個方面。1)設(shè)備資源管理:服務(wù)器、網(wǎng)絡(luò)等設(shè)備是平臺納管的主要目標(biāo),平臺應(yīng)實現(xiàn)對被管設(shè)備的集中管理和一鍵納管。為方便運維工程師選擇操作設(shè)備,應(yīng)能通過IP模糊查詢、操作系統(tǒng)、中間件、歸屬應(yīng)用等多維度進(jìn)行定位,同時支持通過正則表達(dá)式等方式對設(shè)備進(jìn)行靈活的標(biāo)簽分組和設(shè)備屬性自定義。2)應(yīng)用系統(tǒng)管理:平臺應(yīng)根據(jù)商業(yè)銀行數(shù)據(jù)中心的日常運維職責(zé)劃分實際需要,實現(xiàn)被管設(shè)備的應(yīng)用系統(tǒng)歸屬管理,避免誤操作。3)信息收集管理:實現(xiàn)被管設(shè)備的信息收集功能,滿足報表統(tǒng)計、自動化巡檢、合規(guī)檢查、基線比對等場景。
3.3.2 運維服務(wù)管理
運維服務(wù)管理主要體現(xiàn)在日常運維場景的管理,實現(xiàn)自主提煉和封裝維護(hù)變更、應(yīng)急處置、軟件下發(fā)、補(bǔ)丁安裝、環(huán)境交付等日常運維場景,使其成為標(biāo)準(zhǔn)化、規(guī)范化的運維服務(wù),以供其他運維工程師使用,從而實現(xiàn)降低運維技術(shù)門檻、屏蔽技術(shù)復(fù)雜度、提高運維效率。
結(jié)合各運維場景的特點,運維服務(wù)管理的實現(xiàn)主要包括服務(wù)封裝、服務(wù)審批、服務(wù)實例化、執(zhí)行授權(quán)和執(zhí)行可視化。
服務(wù)封裝:以腳本化、參數(shù)化、流程化的方式對運維場景進(jìn)行服務(wù)化封裝,并通過圖形化、可視化的界面設(shè)計實現(xiàn)自主編排運維服務(wù)。
服務(wù)審批:通過審批功能模塊實現(xiàn)運維服務(wù)的發(fā)布和執(zhí)行審批,對運維服務(wù)的質(zhì)量和安全性進(jìn)行有效管控,避免非合規(guī)操作造成的生產(chǎn)事故。
服務(wù)實例化:通過參數(shù)化方式實現(xiàn)運維服務(wù)的一次封裝。
執(zhí)行授權(quán):通過執(zhí)行授權(quán)的方式管控運維任務(wù)的執(zhí)行,以確保對的人在對的時間做對的事。
執(zhí)行可視化:通過可視化界面實時展示運維任務(wù)的執(zhí)行過程和結(jié)果,便于查看、干預(yù)。
3.3.3 報表管理
報表管理實現(xiàn)對平臺的管理數(shù)據(jù)和運維數(shù)據(jù)的統(tǒng)計工作,包括平臺的管理資源統(tǒng)計、運維任務(wù)統(tǒng)計、采集信息統(tǒng)計、執(zhí)行歷史統(tǒng)計等,為整體IT資源管理和運維工作管理提供數(shù)據(jù)支持。
3.3.4 行為審計管理
為了滿足商業(yè)銀行數(shù)據(jù)中心安全管理的審計要求,自動化運維平臺的行為審計也是必不可少的功能。平臺操作均可追溯。
3.3.5 權(quán)限管理
商業(yè)銀行數(shù)據(jù)中心對運維操作有著嚴(yán)格的管控和審批機(jī)制,平臺自身應(yīng)設(shè)計完備的角色權(quán)限管理功能,提供集中統(tǒng)一的權(quán)限管理,遵循最小授權(quán)原則。同時,為兼顧主動運維轉(zhuǎn)型,應(yīng)設(shè)計運維操作、運維開發(fā)、運維審批、執(zhí)行授權(quán)等不同級別的權(quán)限角色,同級別角色仍可進(jìn)行增、刪、改、執(zhí)行等權(quán)限的細(xì)分。
4 系統(tǒng)測試及功能實現(xiàn)
4.1 系統(tǒng)測試
商業(yè)銀行數(shù)據(jù)中心自動化運維平臺測試應(yīng)遵循行業(yè)測試規(guī)范,做好功能測試、運維場景測試、接口測試、UAT測試和性能測試,同時還應(yīng)結(jié)合平臺自身特性,做好如下測試。
數(shù)據(jù)一致性測試:數(shù)據(jù)安全、執(zhí)行結(jié)果符合預(yù)期是商業(yè)銀行數(shù)據(jù)中心運維任務(wù)管理的重中之重,鑒于平臺的多層架構(gòu)設(shè)計和被管設(shè)備環(huán)境的復(fù)雜性,平臺需做好在各節(jié)點網(wǎng)絡(luò)中斷、運維任務(wù)執(zhí)行超時等特殊情況下的數(shù)據(jù)一致性測試,確保運維任務(wù)執(zhí)行結(jié)果可控。
高并發(fā)測試:鑒于平臺的批量部署特點,平臺需要做好單一場景和混合場景下的高并發(fā)測試,確保運維任務(wù)的正確執(zhí)行,做到有令必達(dá)。
Agent資源使用測試:如果平臺采用Agent方式實現(xiàn)被管設(shè)備的納管,則需要對Agent資源占用情況做好疲勞性測試,確保資源使用不會對被管設(shè)備產(chǎn)生不良影響。
網(wǎng)絡(luò)帶寬影響性測試:平臺應(yīng)對運維任務(wù)的并發(fā)進(jìn)行監(jiān)控控制和優(yōu)先級設(shè)置,確保不會因并發(fā)失控導(dǎo)致生產(chǎn)帶寬擁堵,必要時使用QoS等網(wǎng)絡(luò)控制技術(shù)。
4.2 系統(tǒng)功能實現(xiàn)
平臺功能實現(xiàn)應(yīng)遵循高內(nèi)聚低耦合的模塊化設(shè)計理念,充分借鑒和參考在運維自動化領(lǐng)域主流的“Sever/Probe/Agent或Agentless”三層架構(gòu)。采用成熟的開發(fā)框架,便于持續(xù)開發(fā)集成。提供豐富成熟的API接口,便于和關(guān)聯(lián)系統(tǒng)進(jìn)行集成對接。同時,平臺應(yīng)具有統(tǒng)一的Portal和完備的操作及任務(wù)審計功能,能夠靈活配置操作權(quán)限,對于敏感信息加密存放,確保數(shù)據(jù)安全。首先,通過響應(yīng)式布局頁面框架和腳本語言框架搭建簡潔、美觀、高效、靈活的交互界面,適應(yīng)不同類型的終端,快速響應(yīng)訪問請求,實現(xiàn)對系統(tǒng)運行、功能參數(shù)等的配置,實現(xiàn)對運維功能的管理、對被管設(shè)備的運維任務(wù)操作,以及數(shù)據(jù)、圖表等信息的展示。其次,基于穩(wěn)定高效的批量引擎、調(diào)度引擎和規(guī)則引擎,以服務(wù)的方式進(jìn)行自動化運維任務(wù)數(shù)據(jù)分析、處理存儲以及核心邏輯處理?;诓煌\維場景模塊的需求,可靈活地對運維服務(wù)進(jìn)行擴(kuò)展。再次,被管設(shè)備支持通過Agent或者Agentless方式進(jìn)行通信交互,對于第三方系統(tǒng)或者服務(wù)型設(shè)備,通過接口方式進(jìn)行交互。采用Agent設(shè)計,主要負(fù)責(zé)接收平臺指令并返回結(jié)果,屏蔽業(yè)務(wù)邏輯處理,最大限度地降低對被管設(shè)備資源的消耗和影響。另外,Sever層、Probe層采用負(fù)載均衡和集群方式部署,支持快速橫向擴(kuò)展,一方面解決了商業(yè)銀行數(shù)據(jù)中心服務(wù)器設(shè)備快速增長的實際需要,另一方面解決了部分物理隔離設(shè)備的納管問題。最后,各功能層之間定時進(jìn)行心跳通知,保證消息、文件的正常通信。
5 結(jié)語
綜上所述,通過自動化運維平臺的建設(shè),商業(yè)銀行可實現(xiàn)日常運維場景的全生命周期自動化管理,通過與ITSM等系統(tǒng)的對接,可實現(xiàn)標(biāo)準(zhǔn)化、規(guī)范化、流程化、一體化的運維管理體系,實現(xiàn)從傳統(tǒng)運維向智能化運維轉(zhuǎn)型,從被動救火式運維向主動運維、精細(xì)運維轉(zhuǎn)型,從操作型運維向運維開發(fā)轉(zhuǎn)型。
參考文獻(xiàn)
[1]冷迪.自動化運維管理平臺設(shè)計及實現(xiàn)[J].技術(shù)與市場,2018,25(11):62-64,67.
[2]劉媛.大數(shù)據(jù)時代自動化運維管理的實踐和思考[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(6):55-56.