【作者】zjwy82,系統(tǒng)架構(gòu)師。曾經(jīng)在大型國(guó)有企業(yè)工作多年,參與多個(gè)大型企業(yè)級(jí)應(yīng)用的規(guī)劃、開(kāi)發(fā)與實(shí)施,對(duì)于傳統(tǒng)企業(yè)級(jí)應(yīng)用的自動(dòng)化集成與部署有良好的實(shí)踐經(jīng)驗(yàn)。 1、背景1.1背景分析隨著銀行業(yè)務(wù)的快速發(fā)展,支撐業(yè)務(wù)的IT基礎(chǔ)設(shè)施的變化節(jié)奏也大大加快。運(yùn)維團(tuán)隊(duì)擔(dān)負(fù)著對(duì)IT基礎(chǔ)設(shè)施運(yùn)維的重要使命,核心任務(wù)是保障生產(chǎn)安全運(yùn)營(yíng),并提高軟硬件環(huán)境的交付質(zhì)量。 運(yùn)維管理規(guī)模的不斷擴(kuò)大,運(yùn)維人員的不斷擴(kuò)充,使我們的日常運(yùn)維工作面臨更大的壓力與風(fēng)險(xiǎn)。 在很長(zhǎng)一段時(shí)間里,應(yīng)用運(yùn)維嘗試通過(guò)腳本輔助來(lái)提升工作效率,但仍然面臨著繁重的工作壓力: (1)管理工作繁重,所管理的資源類(lèi)型和數(shù)量眾多,但是缺乏一個(gè)準(zhǔn)確的整體資源視圖,每次當(dāng)有用戶申請(qǐng)資源時(shí),難以快速地進(jìn)行分配。 (2)生產(chǎn)操作以登錄生產(chǎn)主機(jī)進(jìn)行手工操作為主,在手工操作時(shí)可能存在一些有意或無(wú)意的違規(guī)操作,給生產(chǎn)環(huán)境造成操作風(fēng)險(xiǎn)。 (3)應(yīng)用變更是以紙質(zhì)的變更操作步驟為依據(jù),由運(yùn)維人員登陸生產(chǎn)系統(tǒng)后進(jìn)行手動(dòng)操作,操作過(guò)程中對(duì)變更前后的環(huán)境變化內(nèi)容沒(méi)有記錄。 (4)巡檢工作通過(guò)操作系統(tǒng)的定時(shí)任務(wù)用腳本完成了數(shù)據(jù)采集,仍需由專(zhuān)人負(fù)責(zé)應(yīng)用系統(tǒng)相關(guān)的日?qǐng)?bào)生成與發(fā)布。采集的數(shù)據(jù)項(xiàng)、定時(shí)任務(wù)沒(méi)有統(tǒng)一的管理界面,不利于數(shù)據(jù)采集內(nèi)容的修訂與管理。對(duì)日?qǐng)?bào)的查看與分析工作也依托于管理員自覺(jué)進(jìn)行,即使出現(xiàn)問(wèn)題也沒(méi)有工作界面進(jìn)行記錄與跟蹤。 (5)數(shù)據(jù)分析目前主要是通過(guò)運(yùn)維人員的個(gè)人經(jīng)驗(yàn)進(jìn)行,業(yè)務(wù)量增長(zhǎng)、交易變化等等都依賴(lài)于運(yùn)維人員的個(gè)人能力。 1.2運(yùn)維痛點(diǎn)在運(yùn)維管理工作中的主要痛點(diǎn)可以歸納總結(jié)為以下幾個(gè)主要問(wèn)題: (1)、手工操作的風(fēng)險(xiǎn)不可控:日常巡檢、服務(wù)請(qǐng)求、問(wèn)題查詢(xún)都通過(guò)登錄生產(chǎn)主機(jī)進(jìn)行操作。 (2)、運(yùn)維工作及時(shí)性差異:各運(yùn)維人員管轄的應(yīng)用系統(tǒng)、主機(jī)數(shù)量多,巡檢工作都是手工進(jìn)行,無(wú)法做到及時(shí)有效在系統(tǒng)開(kāi)門(mén)前做全面巡檢。 (3)、工作規(guī)范性不強(qiáng):新員工對(duì)現(xiàn)有的工作制度、工作流程需要一個(gè)逐步適應(yīng)和熟悉的過(guò)程。不同人員對(duì)應(yīng)用系統(tǒng)的運(yùn)維管理工作細(xì)致程度存在差異,缺少統(tǒng)一標(biāo)準(zhǔn)。 2、建設(shè)目標(biāo)應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)的建設(shè)初衷是希望能建設(shè)一個(gè)服務(wù)于運(yùn)維人員的統(tǒng)一管理工作平臺(tái),完成日常的生產(chǎn)系統(tǒng)操作任務(wù),隔離運(yùn)維人員與生產(chǎn)系統(tǒng)的直接接觸。 下圖展示了應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)與流程管理工具、監(jiān)控工具之間的關(guān)系,也描述了應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)的功能藍(lán)圖。 通過(guò)應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)的建設(shè)可以提供一種新的IT運(yùn)維管理和工作模式。在這種模式下,我們的運(yùn)維工作可以跟流程結(jié)合,提供自動(dòng)化的運(yùn)維管理手段。主要功能目標(biāo)可以總結(jié)為三個(gè)方面: (一)實(shí)現(xiàn)調(diào)度自動(dòng)化 從以前依賴(lài)手工的實(shí)現(xiàn)轉(zhuǎn)換到通過(guò)自動(dòng)化的工具來(lái)實(shí)現(xiàn)變更與日常巡檢。 (二)實(shí)現(xiàn)日常運(yùn)維工作標(biāo)準(zhǔn)化、規(guī)范化 對(duì)現(xiàn)有的運(yùn)維工作事項(xiàng)(包括變更、巡檢等)進(jìn)行梳理和優(yōu)化,建立標(biāo)準(zhǔn)化的應(yīng)用自動(dòng)化運(yùn)維工作項(xiàng),以促進(jìn)日常運(yùn)維工作的規(guī)范化。 (三)實(shí)現(xiàn)生產(chǎn)配置統(tǒng)一視圖 對(duì)全行的服務(wù)器、存儲(chǔ)、軟件資源進(jìn)行集中管理,形成資源池,集中管理核心的配置信息和關(guān)系。 對(duì)資源池中各種資源的配置信息進(jìn)行自動(dòng)化采集和更新,隨時(shí)掌握其可用狀態(tài)。建立資源的整體視圖,并通過(guò)可視化視圖直觀展現(xiàn)資源之間(如宿主機(jī)與之上運(yùn)行的虛擬機(jī))的依賴(lài)關(guān)系以及與業(yè)務(wù)的邏輯關(guān)系。 3、設(shè)計(jì)原則運(yùn)維狹義定義為對(duì)IT業(yè)務(wù)系統(tǒng)支撐環(huán)境的運(yùn)行維護(hù)活動(dòng)。維護(hù)的對(duì)象包括應(yīng)用程序、基礎(chǔ)軟件、操作系統(tǒng)、主機(jī)設(shè)備、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備、機(jī)房環(huán)境等各個(gè)層次的運(yùn)行實(shí)體。 運(yùn)維活動(dòng)一般由運(yùn)維人員進(jìn)行實(shí)施,包括上線、更新、下線等。在應(yīng)用自動(dòng)化運(yùn)維的建設(shè)中要解決的是運(yùn)維人員實(shí)施的各項(xiàng)運(yùn)維活動(dòng)可以由機(jī)器替代實(shí)施。在日常的運(yùn)維實(shí)踐中,利用定時(shí)任務(wù)、批量腳本等方式做了很多簡(jiǎn)化人工操作實(shí)施的工作,但由于這些活動(dòng)每次實(shí)施的對(duì)象/約束條件存在差異,仍然會(huì)有大量操作需要人工干預(yù)。 自動(dòng)化平臺(tái)建設(shè)應(yīng)考慮平臺(tái)的可重用性與易用性,在架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)中需遵循以下建設(shè)原則: 4、關(guān)鍵設(shè)計(jì)思路結(jié)合前文所提出的設(shè)計(jì)原則,我們認(rèn)為做好自動(dòng)化系統(tǒng)有以下幾個(gè)關(guān)鍵點(diǎn):一是須有一個(gè)可用的、完善的配置信息庫(kù),引入面向?qū)ο缶幊趟枷霕?gòu)建合適的運(yùn)維對(duì)象模型;二是梳理出規(guī)范性的日常運(yùn)維活動(dòng)場(chǎng)景,將運(yùn)維活動(dòng)工具化,實(shí)現(xiàn)場(chǎng)景組合;三是建立有效協(xié)同機(jī)制,推動(dòng)自動(dòng)化建設(shè)可行性與實(shí)用性。 自動(dòng)化系統(tǒng)是以配置管理為基礎(chǔ)的監(jiān)管控一體化,利用與運(yùn)維日常操作實(shí)際相關(guān)的應(yīng)用系統(tǒng)配置信息管理為基礎(chǔ)構(gòu)建應(yīng)用模型,將應(yīng)用系統(tǒng)與模型、配置、監(jiān)控、流程銜接,圍繞生產(chǎn)系統(tǒng)運(yùn)行的運(yùn)維操作實(shí)現(xiàn)監(jiān)管控一體化。 4.1 面向?qū)I(yè)領(lǐng)域的配置庫(kù)配置管理是運(yùn)維管理中一個(gè)恒古不變的話題。配置庫(kù)對(duì)自動(dòng)化系統(tǒng)建設(shè)的到底有什么影響,應(yīng)該如何梳理兩者之間的關(guān)系? 配置管理的重點(diǎn)是數(shù)據(jù)生產(chǎn)、處理及消費(fèi),同時(shí)要關(guān)注數(shù)據(jù)的質(zhì)量。在此不對(duì)配置管理整體建設(shè)做贅述,只是提出幾個(gè)關(guān)鍵點(diǎn):一、配置數(shù)據(jù)應(yīng)建立統(tǒng)一的配置項(xiàng)標(biāo)準(zhǔn);二是配置信息不應(yīng)是靜態(tài)信息,需要利用自動(dòng)化實(shí)現(xiàn)動(dòng)態(tài)采集,盡可能減少人工維護(hù)的入口與實(shí)施;三是配置信息應(yīng)充分被使用即消費(fèi),充分消費(fèi)并合理維護(hù),保障配置信息可用性。 在應(yīng)用自動(dòng)化建設(shè)中我們也認(rèn)為必須要有合適的配置信息庫(kù)。這里所需要的配置信息并不需要傳統(tǒng)配置管理管控范疇那么龐雜。而在應(yīng)用自動(dòng)化建設(shè)過(guò)程中我們不需要如CPU個(gè)數(shù)、MAC地址等信息,更關(guān)注的是自動(dòng)化操作所需要實(shí)施的對(duì)象,以及誰(shuí)對(duì)這個(gè)對(duì)象有操作權(quán)限。 應(yīng)用自動(dòng)化作為配置信息的消費(fèi)者,如果已經(jīng)有合適的配置管理工具(即生產(chǎn)者)做好接口,充分運(yùn)用數(shù)據(jù),避免自己維護(hù)獨(dú)立的配置數(shù)據(jù)。 4.2 面向?qū)ο笏季S建模面向?qū)ο笃鹪从诰幊陶Z(yǔ)言,是一種建立在“對(duì)象”概念基礎(chǔ)上的方法,是目前軟件開(kāi)發(fā)方法中的主流方法,把面向?qū)ο蟮乃枷霊?yīng)用于軟件開(kāi)發(fā)過(guò)程,指軟件導(dǎo)開(kāi)發(fā)活動(dòng)。面向?qū)ο蟮闹饕匦园ǚ庋b性、繼承性、多態(tài)性。運(yùn)維對(duì)象也存在著同樣的一些特性,在梳理定義運(yùn)維事項(xiàng)時(shí)也可以采用這種方法,將運(yùn)維事項(xiàng)中的活動(dòng)和運(yùn)行實(shí)體建立對(duì)應(yīng)關(guān)系。 引入面向?qū)ο笤O(shè)計(jì)理念,解決不同業(yè)務(wù)系統(tǒng)采用不同的技術(shù)架構(gòu)和同一個(gè)業(yè)務(wù)系統(tǒng)在不同環(huán)境下的部署結(jié)構(gòu)差異;建立應(yīng)用環(huán)境模型,將環(huán)境模型與組件模型組合,實(shí)現(xiàn)應(yīng)用與環(huán)境的關(guān)聯(lián)性解耦。通過(guò)解耦規(guī)避了包括應(yīng)用發(fā)布、運(yùn)維工具、系統(tǒng)巡檢等功能在開(kāi)發(fā)、測(cè)試、生產(chǎn)環(huán)境上的差異,并實(shí)現(xiàn)多個(gè)同類(lèi)型應(yīng)用服務(wù)的重用??焖俑咝ы憫?yīng)了運(yùn)維需求及應(yīng)用部署,在多個(gè)數(shù)據(jù)中心和混合云模式之間實(shí)現(xiàn)簡(jiǎn)單配置應(yīng)用部署并支持持續(xù)交付。 以應(yīng)用系統(tǒng)為例說(shuō)明,應(yīng)用系統(tǒng)是一組應(yīng)用程序功能組件,可以獨(dú)立運(yùn)行于操作系統(tǒng)之上,也可以運(yùn)行在一些特定的中間件上,應(yīng)用組件根據(jù)功能劃分為不同的組件組,整體組成提供某一類(lèi)業(yè)務(wù)的支撐服務(wù),我們把應(yīng)用系統(tǒng)定義為一個(gè)運(yùn)維對(duì)象,包括該系統(tǒng)的程序、配置文件、數(shù)據(jù)文件等,這些可以理解為封裝性。在不同的環(huán)境下(如,開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境等),有不同的配置(如,數(shù)據(jù)庫(kù)連接、操作系統(tǒng)用戶、不同組件合并部署等),對(duì)這個(gè)對(duì)象主要的運(yùn)維活動(dòng)有程序更新、配置更新、數(shù)據(jù)文件修改、程序啟動(dòng)、程序停止等活動(dòng),這些形成了應(yīng)用系統(tǒng)的多態(tài)性。 我們把應(yīng)用系統(tǒng)的發(fā)布活動(dòng)以面向?qū)ο蟮乃枷刖呦蠡罂梢钥偨Y(jié)出如下圖示:
應(yīng)用模型是基于配置管理構(gòu)建的,將IT環(huán)境中的物理設(shè)備全部抽象出來(lái),把不同的東西看成統(tǒng)一的一種對(duì)象。利用配置項(xiàng)和它們的屬性來(lái)體現(xiàn)IT環(huán)境中的對(duì)象,再用關(guān)系把它們?cè)贗T環(huán)境的關(guān)系表現(xiàn)出來(lái),得到了一個(gè)簡(jiǎn)單有效的環(huán)境模型,可以用統(tǒng)一的方法來(lái)進(jìn)行管理,利用以面向?qū)ο蟮募夹g(shù)提供通用數(shù)據(jù)模型,可視化管理,自定義建模型,快速繼承,可再進(jìn)行擴(kuò)展,可在線調(diào)整模型。 合理的模型設(shè)計(jì)與應(yīng)用場(chǎng)景結(jié)合是有效手段,對(duì)于模型設(shè)計(jì)的特點(diǎn)簡(jiǎn)單歸納如下:
4.3 運(yùn)維場(chǎng)景化應(yīng)用自動(dòng)化運(yùn)維的主要目標(biāo)是要提升運(yùn)維工作中的效率、規(guī)范和可靠問(wèn)題。效率的提升直接體現(xiàn)是可并行實(shí)施的運(yùn)維活動(dòng)數(shù)量,對(duì)單個(gè)運(yùn)維活動(dòng)實(shí)施時(shí)的服務(wù)停機(jī)時(shí)長(zhǎng)控制;而規(guī)范和可靠更多的是從不同人員在執(zhí)行同一運(yùn)維活動(dòng)時(shí)所帶來(lái)的效果和質(zhì)量的一致性。 以日常運(yùn)維場(chǎng)景為基礎(chǔ),將運(yùn)維手冊(cè)中的操作以操作簡(jiǎn)單、可重用原則為基礎(chǔ)進(jìn)行原子化拆分,規(guī)范輸入輸出,由專(zhuān)業(yè)運(yùn)維人員在平臺(tái)中進(jìn)行原子工具步驟實(shí)現(xiàn),根據(jù)不同應(yīng)用場(chǎng)景對(duì)原子操作進(jìn)行組合,形成場(chǎng)景工具/流程交付給使用。 在系統(tǒng)設(shè)計(jì)方面將功能、服務(wù)、操作等進(jìn)行原子化設(shè)計(jì)實(shí)現(xiàn),上層設(shè)計(jì)場(chǎng)景組合模型,不同的場(chǎng)景組合通過(guò)自由定制原子服務(wù)即可完成場(chǎng)景服務(wù)的構(gòu)建與應(yīng)用。 如基于原子化的應(yīng)用變更一鍵式發(fā)布場(chǎng)景,以應(yīng)用模型組件為基礎(chǔ)對(duì)發(fā)布活動(dòng)拆分成細(xì)粒度的發(fā)布步驟,實(shí)現(xiàn)原子步驟在不同形態(tài)發(fā)布中的重用。利用應(yīng)用組件實(shí)現(xiàn)步驟與環(huán)境的松耦合,通過(guò)參數(shù)化實(shí)現(xiàn)環(huán)境差異性支持;如基于原子化的自動(dòng)化一鍵式驗(yàn)證組合工具,通過(guò)將原子工具進(jìn)行自由組合完成定制,也可將已定制的組合工具作為一層原子工具進(jìn)行組合,實(shí)現(xiàn)靈活的場(chǎng)景組合。 4.4 運(yùn)維知識(shí)的工具化設(shè)計(jì)項(xiàng)目建設(shè)中為了更好的實(shí)現(xiàn)大一線運(yùn)維體系中知識(shí)的轉(zhuǎn)移與運(yùn)用,我們引進(jìn)工具箱的設(shè)計(jì)理念,由三線、二線人員將專(zhuān)業(yè)知識(shí)固化為工具,系統(tǒng)將工具與監(jiān)控告警實(shí)現(xiàn)自動(dòng)匹配,通過(guò)關(guān)聯(lián)自動(dòng)展現(xiàn)給一線具體運(yùn)用,實(shí)現(xiàn)監(jiān)控告警信息的自動(dòng)診斷與快速處理。 5、系統(tǒng)定位應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)在實(shí)現(xiàn)運(yùn)維工作自動(dòng)化的同時(shí),也需要考慮與流程管理、監(jiān)控等工具實(shí)現(xiàn)有效對(duì)接,提升聯(lián)動(dòng)效率,實(shí)現(xiàn)流程即服務(wù)。 在系統(tǒng)功能上著重考慮與已有的配置管理、流程管理、應(yīng)用監(jiān)控等工具系統(tǒng)之間關(guān)聯(lián)性: 一、與配置管理系統(tǒng)的關(guān)系 行內(nèi)統(tǒng)一建設(shè)CMDB標(biāo)準(zhǔn),自動(dòng)化系統(tǒng)從CMDB獲取各系統(tǒng)的設(shè)備信息,包含設(shè)備信息、管理員信息、配置參數(shù)等。 二、與流程管理系統(tǒng)的關(guān)系 所有ITIL流程都在流程管理系統(tǒng)中實(shí)現(xiàn),自動(dòng)化側(cè)重于將目前應(yīng)用管理員的生產(chǎn)操作進(jìn)行集中管理,專(zhuān)業(yè)化工具做專(zhuān)業(yè)范疇的事。 三、與應(yīng)用監(jiān)控的關(guān)系 報(bào)警聯(lián)動(dòng):告警出現(xiàn)后的自動(dòng)系統(tǒng)檢查與現(xiàn)場(chǎng)保存在監(jiān)控項(xiàng)目中統(tǒng)一實(shí)現(xiàn),自動(dòng)化平臺(tái)側(cè)重于生產(chǎn)操作工具集的建設(shè),這些工具可以通過(guò)腳本、或者菜單形式提供給一線團(tuán)隊(duì)。 6、技術(shù)方案6.1 功能概述在應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)建設(shè)思路上,以一個(gè)完善的生產(chǎn)配置庫(kù)為基礎(chǔ),實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)的服務(wù)請(qǐng)求處理、操作工具箱使用、應(yīng)用投產(chǎn)、系統(tǒng)變更、日常巡檢及性能數(shù)據(jù)分析。 應(yīng)用自動(dòng)化運(yùn)維系統(tǒng)在功能上包含自動(dòng)發(fā)布、自動(dòng)巡檢、運(yùn)維工具等功能模塊,實(shí)現(xiàn)應(yīng)用發(fā)布、巡檢自動(dòng)化、運(yùn)維工具箱的所能操作的基礎(chǔ)設(shè)備的管理和相關(guān)的功能權(quán)限管理,通過(guò)運(yùn)行數(shù)據(jù)分析對(duì)所有的操作進(jìn)行整體監(jiān)控。 整體功能架構(gòu)圖如下: 6.2 總體架構(gòu)示意系統(tǒng)總體架構(gòu)可以劃分為門(mén)戶展現(xiàn)、流程調(diào)度引擎、操作調(diào)度引擎三層。門(mén)戶是統(tǒng)一的web操作入口門(mén)戶,為各類(lèi)用戶提供統(tǒng)一的B/S操作界面;流程調(diào)度引擎模塊實(shí)現(xiàn)統(tǒng)一的操作流程串接,將原子化作業(yè)組合形成批量文件分發(fā)、腳本執(zhí)行、合規(guī)檢查、軟件安裝部署等運(yùn)維活動(dòng)場(chǎng)景的具體實(shí)現(xiàn);操作調(diào)度引擎模塊實(shí)現(xiàn)具體腳本命令在目標(biāo)機(jī)上的執(zhí)行。示意圖如下: 6.3 物理架構(gòu)示意系統(tǒng)部署上應(yīng)考慮多機(jī)房部署及多活部署,具備橫向擴(kuò)展能力,具備對(duì)各類(lèi)基礎(chǔ)環(huán)境的管理能力。示意圖如下: 7、主要場(chǎng)景實(shí)踐7.1 發(fā)布自動(dòng)化在發(fā)布流程管理上需要協(xié)調(diào)開(kāi)發(fā)、測(cè)試和運(yùn)維三個(gè)部門(mén)之間的溝通、協(xié)作和集成。自動(dòng)化發(fā)布流程由開(kāi)發(fā)進(jìn)行構(gòu)建,測(cè)試進(jìn)行驗(yàn)證,運(yùn)維進(jìn)行實(shí)施。制定核查任務(wù)清單,投產(chǎn)前核查逐一確認(rèn)檢查結(jié)果,確保參數(shù)、步驟、流程正確性。 在自動(dòng)化系統(tǒng)部署上,考慮將開(kāi)發(fā)、測(cè)試與生產(chǎn)環(huán)境獨(dú)立部署與物理隔離,以規(guī)避開(kāi)發(fā)測(cè)試環(huán)境對(duì)生產(chǎn)的誤操作。
由于整個(gè)發(fā)布過(guò)程涉及開(kāi)發(fā)、測(cè)試、運(yùn)維等多個(gè)環(huán)節(jié),在多環(huán)境差異的背景下,充分考慮平臺(tái)的易用性、流程的可復(fù)用性,通過(guò)設(shè)計(jì)環(huán)境模型、組件模型解決開(kāi)發(fā)、測(cè)試、生產(chǎn)不同環(huán)境的服務(wù)器差異,實(shí)現(xiàn)發(fā)布請(qǐng)求、環(huán)境、服務(wù)器的解耦;通過(guò)設(shè)計(jì)參數(shù)模型,解決服務(wù)器配置信息的差異,解耦發(fā)布步驟與目標(biāo)服務(wù)器;通過(guò)發(fā)布流程遷移功能,實(shí)現(xiàn)發(fā)布請(qǐng)求、發(fā)布作業(yè)、發(fā)布參數(shù)經(jīng)開(kāi)發(fā)、測(cè)試、生產(chǎn)三個(gè)過(guò)程的自動(dòng)化遷移,充分保證整個(gè)發(fā)布流程的可復(fù)用性與完整性,整個(gè)發(fā)布流程僅在開(kāi)發(fā)階段構(gòu)建并測(cè)試完成后,即可整體遷移至生產(chǎn)環(huán)境,充分保證生產(chǎn)發(fā)布的正確性。
發(fā)布自動(dòng)化模塊主要包括發(fā)布請(qǐng)求構(gòu)建、發(fā)布作業(yè)構(gòu)建、發(fā)布流程遷移等功能。自動(dòng)化發(fā)布通過(guò)構(gòu)建發(fā)布作業(yè),創(chuàng)建應(yīng)用發(fā)布步驟,完成發(fā)布過(guò)程請(qǐng)求的構(gòu)建,然后進(jìn)行發(fā)布請(qǐng)求排期、授權(quán)、執(zhí)行來(lái)完成整個(gè)應(yīng)用發(fā)布過(guò)程,實(shí)現(xiàn)應(yīng)用發(fā)布規(guī)范化、流程化管理。 請(qǐng)求構(gòu)建可為大部分常規(guī)應(yīng)用系統(tǒng)發(fā)布提供標(biāo)準(zhǔn)請(qǐng)求模板,各應(yīng)用系統(tǒng)通過(guò)選擇請(qǐng)求模板和簡(jiǎn)單定義可快速制定發(fā)布請(qǐng)求流程,流程可以最大程度復(fù)用模板內(nèi)容,不需要重復(fù)定義。同時(shí)也提供離線的Excel導(dǎo)入構(gòu)建發(fā)布請(qǐng)求的功能,實(shí)現(xiàn)簡(jiǎn)單、快速定制發(fā)布請(qǐng)求流程。 發(fā)布請(qǐng)求定義對(duì)單機(jī)多實(shí)例、多機(jī)單實(shí)例等負(fù)載均衡模式提供支持,不需要分別定義每個(gè)實(shí)例、機(jī)器的發(fā)布步驟,可以通過(guò)資源組指定實(shí)現(xiàn)請(qǐng)求步驟執(zhí)行;單個(gè)步驟支持跨服務(wù)器功能的調(diào)用;請(qǐng)求定義與服務(wù)器資源定義分離,方便同一請(qǐng)求在投產(chǎn)驗(yàn)證環(huán)境和生產(chǎn)環(huán)境的實(shí)施。 發(fā)布作業(yè)構(gòu)建功能提供自動(dòng)化發(fā)布作業(yè)的新建、查詢(xún)、修改、刪除功能,在構(gòu)建作業(yè)時(shí),用戶只需指定系統(tǒng)等條件并上傳自動(dòng)化發(fā)布腳本,整個(gè)自動(dòng)化發(fā)布作業(yè)的構(gòu)建過(guò)程都有平臺(tái)后臺(tái)程序自動(dòng)創(chuàng)建,大大降低用戶構(gòu)建作業(yè)的復(fù)雜度,提升用戶的體驗(yàn)。 發(fā)布流程遷移提供包括發(fā)布請(qǐng)求、發(fā)布作業(yè)、發(fā)布參數(shù)等的遷移功能,可將構(gòu)建的發(fā)布流程等信息經(jīng)開(kāi)發(fā)、測(cè)試環(huán)境無(wú)縫遷移至生產(chǎn)環(huán)境,實(shí)現(xiàn)由開(kāi)發(fā)進(jìn)行一次構(gòu)建,測(cè)試進(jìn)行驗(yàn)證,運(yùn)維進(jìn)行實(shí)施的整個(gè)過(guò)程。在降低構(gòu)建復(fù)雜度、提供工作效率的基礎(chǔ)上,充分保證生產(chǎn)發(fā)布的正確性。 發(fā)布請(qǐng)求審批授權(quán)功能實(shí)現(xiàn)自動(dòng)化發(fā)布流程啟動(dòng)執(zhí)行前的審批授權(quán)功能。自動(dòng)化發(fā)布作業(yè)構(gòu)建完成后,需要構(gòu)建發(fā)布請(qǐng)求,流程中的步驟關(guān)聯(lián)自動(dòng)化發(fā)布作業(yè),實(shí)現(xiàn)自動(dòng)化發(fā)布。 7.2 巡檢自動(dòng)化以前的巡檢工作,尤其是應(yīng)用巡檢,各個(gè)系統(tǒng)沒(méi)有一個(gè)統(tǒng)一的規(guī)范、標(biāo)準(zhǔn),導(dǎo)致巡檢的范圍和深度都存在一定的局限性,并且是基于人工的手工統(tǒng)計(jì)工作,導(dǎo)致工作效率比較低,同時(shí)耗費(fèi)較大的人力資源。 巡檢自動(dòng)化的建設(shè)通過(guò)制定標(biāo)準(zhǔn)、規(guī)范,制定統(tǒng)一的巡檢指標(biāo)、巡檢方式、基本巡檢頻度等,保證巡檢標(biāo)準(zhǔn)化、巡檢范圍、巡檢深度;通過(guò)設(shè)計(jì)巡檢作業(yè)、數(shù)據(jù)采集方式、自動(dòng)化作業(yè)調(diào)度等實(shí)現(xiàn)日常巡檢的自動(dòng)化,代替手工工作,提高效率的同時(shí),解放管理人員,釋放管理人員更多的精力,使更多的精力處理更重要的事項(xiàng)。 對(duì)于應(yīng)用自動(dòng)化巡檢的巡檢方式、巡檢內(nèi)容、巡檢規(guī)則、巡檢任務(wù)、巡檢報(bào)告、巡檢結(jié)果處理等。 巡檢頻度、巡檢指標(biāo)項(xiàng)、巡檢分類(lèi)都是需要事先約束定義的內(nèi)容。如,巡檢可分為日常檢查、重保檢查、臨時(shí)檢查等。巡檢項(xiàng)應(yīng)包括交易量、平均響應(yīng)時(shí)間、Weblogic線程數(shù)、JDBC連接池?cái)?shù)等,我們對(duì)巡檢項(xiàng)定義了多級(jí)分類(lèi),便于統(tǒng)一標(biāo)準(zhǔn)。 巡檢任務(wù)配置可以靈活定制,指定巡檢任務(wù)運(yùn)行時(shí)的目標(biāo)服務(wù)器,支持同時(shí)指定一個(gè)或者多個(gè)服務(wù)器。 巡檢任務(wù)執(zhí)行可根據(jù)需要設(shè)置不同維度的作業(yè)運(yùn)行時(shí)間表進(jìn)行調(diào)度。結(jié)果可以通過(guò)郵件等方式發(fā)送。巡檢結(jié)果要求運(yùn)維人員確認(rèn)處理。 7.3 運(yùn)維工具箱生產(chǎn)系統(tǒng)在發(fā)生故障或告警情況下,可以通過(guò)運(yùn)維工具箱進(jìn)行初步的診斷分析,同時(shí)可以進(jìn)行一些經(jīng)過(guò)預(yù)授權(quán)的應(yīng)急操作,如應(yīng)用服務(wù)重啟、生產(chǎn)參數(shù)修改等緊急操作。各個(gè)系統(tǒng)事先預(yù)定的應(yīng)急預(yù)案操作流程定制在系統(tǒng)中,一線運(yùn)維人員或管理員在緊急情況下可以通過(guò)平臺(tái)進(jìn)行應(yīng)急操作,不需要登錄生產(chǎn)系統(tǒng)進(jìn)行手工操作。 監(jiān)控告警聯(lián)動(dòng)功能將統(tǒng)一監(jiān)控平臺(tái)主動(dòng)推送的告警信息進(jìn)行展示,可通過(guò)不同的條件組合進(jìn)行告警信息的查詢(xún)。同時(shí)提供告警忽略功能,由一線人員判斷告警信息,無(wú)用的告警可通過(guò)忽略告警功能進(jìn)行忽略屏蔽,忽略后可以不針對(duì)此告警信息進(jìn)行故障診斷、分析、處置等一系列操作。 監(jiān)控告警診斷、分析、處置功能通過(guò)告警頁(yè)面單擊告警信息后跳轉(zhuǎn)至當(dāng)前頁(yè)面,當(dāng)前頁(yè)面提供診斷、忽略、完成處理、取消、業(yè)務(wù)影響分析等功能。經(jīng)診斷功能可查詢(xún)出關(guān)聯(lián)的運(yùn)維工具箱,通過(guò)執(zhí)行一系列的工具進(jìn)行告警的診斷、分析、處置,最終完成告警的處理工作,并錄入處理結(jié)果。 8、結(jié)束語(yǔ)自動(dòng)化的建設(shè)如火如荼,智能化也在蓬勃發(fā)展,但自動(dòng)化依然是一個(gè)基礎(chǔ)核心的手段。自動(dòng)化運(yùn)維非一蹴而就,需要循序漸進(jìn),在安全可控的基礎(chǔ)上逐步擴(kuò)展。這是一種新的運(yùn)維工作模式,有效的組織模式也是自動(dòng)化項(xiàng)目成功實(shí)施的關(guān)鍵。 在技術(shù)方面,合適的設(shè)計(jì)理念能夠幫助自動(dòng)化系統(tǒng)升級(jí)成為基礎(chǔ)性的工作平臺(tái),而不僅僅是一個(gè)輔助工具。 本文僅闡述了自動(dòng)化建設(shè)中的個(gè)例實(shí)踐分享,難免存在一些理解或描述問(wèn)題,也希望各位同行能夠一起暢談共勉。
|
|
來(lái)自: yi321yi > 《數(shù)據(jù)中心》