本文來自twt企業(yè)IT社區(qū)。
難點一:自動化運維項目,如何進行技術(shù)路線的選擇?
1、基于開源工具自研
基于社區(qū)活躍度高、口碑好、功能強大的開源自動化工具,進行二次開發(fā),實現(xiàn)自身需求的完全定制化,該技術(shù)路線有兩個理解層次,第一個層次只是開源工具的使用上,對該工具的所有模塊的運用都非常嫻熟,二次開發(fā)也是工具的調(diào)用、整合、界面定制方面;第二個層次是開源工具的代碼定制上,深入開源代碼,進行重新優(yōu)化和定制,嵌入自身的內(nèi)容,并在第一個層次上去調(diào)用和整合。能夠?qū)崿F(xiàn)自研路線的銀行科技力量都比較強大,有專門的自動化運維開發(fā)團隊,對開源社區(qū)研究的比較深入,有強大的開發(fā)和運維實力。
2、基于開源平臺自研
除了開源工具的自研之外,還有一種是開源平臺的自研,在開源工具之上,往上發(fā)展,基于統(tǒng)一的研發(fā)平臺,實現(xiàn)從底層工具到自動化運維“平臺”的自研,開源平臺提供了一些開發(fā)框架、接口標(biāo)準(zhǔn)、技術(shù)工具供開發(fā)人員使用,加速開源工具和“平臺”的研發(fā)效率和進度。
3、基于閉源自研
這條技術(shù)路線和前面兩種技術(shù)路線類似,都屬于自研類,區(qū)別是,前者是站在開源工具/平臺的肩膀之上,進行的二次開發(fā),而后者是完全從底層工具、代理、平臺、界面、接口等方方面面都是自研,難度也是最大的,國內(nèi)大行研發(fā)實力強的,都基本是這條技術(shù)路線,需要大量的運維工具開發(fā)和維護團隊,耗費大量時間和精力。但受益也是很不錯的,其他各運維條線的工作效率大幅提升,自主化高,迭代能力強。
4、第三方現(xiàn)有產(chǎn)品客戶化定制
這條技術(shù)路線是目前選擇最多的,也是中小銀行絕大多數(shù)的選擇,開發(fā)團隊一般都用來做業(yè)務(wù)軟件開發(fā)了,很少中小銀行會將自研自動化運維系統(tǒng)和平臺。目前自動化運維產(chǎn)品提供廠商也非常多,而且相當(dāng)一部分廠商都能提供一整套解決方案,包括DevOps、自動化運維、集中監(jiān)控等。這種技術(shù)路線,銀行企業(yè)需要仔細甄別,不僅僅是甄別自動化運維產(chǎn)品本身,更重要的是甄別其拓展性和平臺的能力,同時銀行企業(yè),也要在多個系統(tǒng)引入過程中,站在整體視角,嚴(yán)格劃分好功能邊界,運維體系比較大,廠商的各類解決方案,都是大而全的方案,在引入過程中,難免各家廠商的功能邊界會出現(xiàn)混淆和不清晰的地方,需要仔細區(qū)分。
難點二:自動化運維項目,如何進行底層工具產(chǎn)品選型?
1、自動化運維底層工具產(chǎn)品是選用開源產(chǎn)品還是閉源產(chǎn)品
目前來看,無論是開源還是閉源都可以滿足銀行的運維需求,選用開源產(chǎn)品無非就是銀行自身的技術(shù)實力允許,有一定的開發(fā)實力,或者和第三方外包一起結(jié)合熱點開源產(chǎn)品進行二次開發(fā)。當(dāng)然對開源產(chǎn)品的選型要慎重,如果是銀行自己采用開源產(chǎn)品,建議選擇無代理模式的自動化運維工具,對系統(tǒng)無侵入還是比較重要的,否則的話,就應(yīng)該深入介入了解開源代理的底層代碼。如果是和有技術(shù)實力和案例的第三方外包一起進行開源的二次開發(fā)的話,那么無代理和有代理都是可以選擇的,因為可以通過外包轉(zhuǎn)嫁開源風(fēng)險。選擇閉源產(chǎn)品目前也是很多,基本是通過有代理的模式進行的,有代理模式的效率要比無代理更高,而且客戶端無需和服務(wù)端建立互信關(guān)系,弱化服務(wù)端的用戶權(quán)限,但是客戶端的代理基本是通過ROOT賬戶運行,可能會有后門。
2、通用的底層工具產(chǎn)品包括哪些部分
(1)自動化底層運維工具:CMDB及配置自動化發(fā)現(xiàn)工具;腳本及作業(yè)管理中心;Agent及管控中心,用來執(zhí)行命令獲取數(shù)據(jù);自動化編排引擎;集成中心,API集成和訪問權(quán)限管理;
(2)在此之上構(gòu)建的專業(yè)領(lǐng)域運維工具:網(wǎng)絡(luò)自動化工具;防火墻自動化工具;操作系統(tǒng)運維工具;中間件運維工具;云資源管理工具;應(yīng)用發(fā)布工具;
(3)基于各種運維場景構(gòu)建的運維工具:巡檢工具;補丁及基線管理工具;軟件安裝配置工具;日志自助查詢工具;抽數(shù)工具等等。
難點三:自動化運維項目,如何合理規(guī)劃工程實施步驟?
大致的步驟有以下幾個方面:
1、規(guī)劃自動化運維場景、模塊和整體架構(gòu)
2、自動化運維管理節(jié)點和模塊軟硬件資源部署
3、在節(jié)點上安裝自動化運維服務(wù)端軟件,并進行相關(guān)配置
4、兩種方式建立自動化運維關(guān)系:
(1)建立服務(wù)端和客戶端的互信,客戶端安裝必要的依賴軟件,如Python
(2)客戶端安裝相應(yīng)代理和依賴包
5、驗證服務(wù)端和客戶端的自動化運維關(guān)系
6、進行自動化運維場景和功能模塊分類開發(fā)和測試
7、自動化運維外部接口開發(fā)和測試
8、自動化運維統(tǒng)一門戶搭建,并對接不同場景和功能模塊
9、自動化運維系統(tǒng)正式上線
難點四:如何從整體上和“平臺”角度規(guī)劃自動化運維平臺?
1、整體上
考慮監(jiān)、管、控、及充分結(jié)合其他運維系統(tǒng),而不僅僅是一個自動化的工具。
自動化運維作為運維技術(shù)體系中的一員,其目的就是為了減輕運維成本、提升運維效率、規(guī)范運維任務(wù)、通過自動化自愈提升業(yè)務(wù)連續(xù)性等等,其重要意義不言而喻。這點從國內(nèi)各類大行、股份制銀行等的運維人員招聘的技術(shù)要求中,也可以略知一二,經(jīng)常是需要一些既懂運維技術(shù)的,又懂運維開發(fā)的人員。但這些各自為政的自動化運維開發(fā)都為自己提供便利,往往沒有站在全局的角度去思考問題,造成開發(fā)工作重復(fù),邊界不清晰,甚至功能沖突的情況,這是自動化運維需要規(guī)避的地方,從一開始介入這個領(lǐng)域,就應(yīng)該從整體的角度,清晰的劃分不同運維團隊的自動化運維邊界,真正實現(xiàn)運維端到端的自動化服務(wù),為實現(xiàn)這些服務(wù),需要理清哪些地方要有哪些自動化工具支撐,哪些工具能夠共用合并,最后再從集成的角度,如何統(tǒng)一管控和對外提供服務(wù)等。
2、平臺角度
是一個具備集成能力,具備服務(wù)開放性,具備很好的功能擴展的一個平臺。
“平臺”在我們的理解中應(yīng)該是一個集成者和統(tǒng)一管控者,這有別于“系統(tǒng)”,系統(tǒng)是一個功能和處理個體,就好比銀行系統(tǒng)架構(gòu)中的前置-中臺-后臺的概念,系統(tǒng)屬于后臺的概念,而“平臺”屬于中臺的概念。后臺所有對外的服務(wù)都需要通過中臺來流轉(zhuǎn),中臺有一個,而后臺可以有多個,是1對多的關(guān)系。因此,從自動化運維平臺的角度來看這個問題,這個平臺不需要有多強大的功能,不需要完成例如批量調(diào)度、自動化投產(chǎn)、自動化巡檢、自動化操作、自動化軟硬件配置等具體操作,更重要的是將底層的自動化運維技術(shù)實現(xiàn)抽象化,服務(wù)化,同時對整個自動化技術(shù)實現(xiàn)統(tǒng)一管理,包括自動化服務(wù)注冊、自動化服務(wù)模板、自動化服務(wù)集成、自動化服務(wù)權(quán)限管理等等。至于具體技術(shù)實現(xiàn),則交由底層的各類自動化運維工具去實現(xiàn),或者獨立的“系統(tǒng)”去實現(xiàn)。另外,“平臺”也可以是一個多“系統(tǒng)”和工具的調(diào)度者,單一工具無法實現(xiàn)的自動化任務(wù),可以通過多工具任務(wù)編排實現(xiàn),形成大平臺,小系統(tǒng)的格局,突破傳統(tǒng)的小系統(tǒng)過于臃腫,每個系統(tǒng)都想做全,爭老大,造成功能邊界模糊的問題。
難點五:自動化運維平臺如何融入整體運維體系,劃分功能邊界?
自動化運維平臺需要很好的融入整體運維體系,清晰的劃分功能邊界,包括云管平臺、流程平臺、監(jiān)控平臺、配置管理平臺、智能運維平臺等。統(tǒng)一CMDB為所有系統(tǒng)和平臺提供統(tǒng)一的配置基準(zhǔn)數(shù)據(jù),提升聯(lián)動的數(shù)據(jù)質(zhì)量和效果;自動化運維平臺自動采集和發(fā)現(xiàn)價值數(shù)據(jù)和數(shù)據(jù)關(guān)聯(lián),供其他系統(tǒng)和平臺使用,和各項資源建立自動化關(guān)聯(lián)關(guān)系,提供不同自動化運維場景調(diào)用API,供其他系統(tǒng)和平臺調(diào)用;集中監(jiān)控平臺對接所有監(jiān)控系統(tǒng)和平臺,實時收集所有事件和告警,結(jié)合CMDB配置數(shù)據(jù),第一時間匹配和豐富事件告警內(nèi)容,以豐富的通知手段和詳盡真實的告警詳情告知相關(guān)負(fù)責(zé)人;運維大數(shù)據(jù)通過多樣化、不同通道的方式,集成各系統(tǒng)和平臺的實時或歷史的結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù),并進行過濾、清洗、加工、整合、分析、輸出和數(shù)據(jù)持久化;IT架構(gòu)可視化系統(tǒng)通過業(yè)務(wù)系統(tǒng)部署架構(gòu)圖、業(yè)務(wù)邏輯架構(gòu)圖、業(yè)務(wù)網(wǎng)絡(luò)拓?fù)鋱D三類架構(gòu)圖的方式,結(jié)合運維大數(shù)據(jù)中,不同數(shù)據(jù)源的數(shù)據(jù),包括智能運維產(chǎn)出的建議,進行實時的展示,讓數(shù)據(jù)和圖聯(lián)動,更為直觀的展示業(yè)務(wù)系統(tǒng)整體運行狀況。運維以IT架構(gòu)可視化為主,智能運維為輔,強調(diào)人在運維中不可替代性??梢詤⒖家韵乱?guī)劃圖: