混合云環(huán)境運維手段治理方案
點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!隨著IT云區(qū)域中心的不斷拓展,在響應“集中化”、“降本增效”發(fā)展戰(zhàn)略的同時,基于多云環(huán)境的物理雙中心架構也帶來了混合云架構下的運維難題。
為保證核心系統(tǒng)平穩(wěn)無中斷遷移和運行在混合云架構上,高效拉通異構云環(huán)境下的的部署、監(jiān)控、故障處理等運維能力,需統(tǒng)一構建PaaS平臺運維接口、日志和指標統(tǒng)一采集功能以及運維數(shù)據(jù)匯聚展現(xiàn)功能。
混合云架構下的運維困難來源于對于異構云的分別運維管理。無論是系統(tǒng)問題的定位,還是發(fā)現(xiàn)問題后的運維保障手段,都比運維單純一套云平臺要更加復雜,其中異構云的運維手段的割裂也是限制了運維效率提升的重要原因。為了保證核心系統(tǒng)能盡量平穩(wěn)無中斷遷移和運行在混合云架構上,保障業(yè)務系統(tǒng)在部署、監(jiān)控、故障處理等方面的運維支撐效率,我們將混合云運維能力建設要達到的目標明確為:異常事件快速發(fā)現(xiàn),影響范圍快速分析,業(yè)務快速恢復。發(fā)生異常要能在1分鐘內發(fā)現(xiàn)。這個主要依靠對多種云環(huán)境內的各類運維數(shù)據(jù)實時采集,通過實時計算能力進行數(shù)據(jù)的格式化處理、建立多維數(shù)據(jù)之間的關聯(lián),并基于事件識別判斷能力進行監(jiān)控和告警輸出。這個能力將通過建設統(tǒng)一的運維數(shù)據(jù)管理和運維數(shù)據(jù)分析能力來實現(xiàn)。5分鐘內分析確定事件的影響范圍。分析重點是定界,而不是定位。以往在發(fā)生故障時,我們都是要定位到問題原因后才能做相應的故障恢復操作,但這個定位往往是最難,也是最耗時的。用戶在等待系統(tǒng)恢復的過程中焦慮是在指數(shù)級增長的。并且在混合云的架構下,發(fā)生異常時定位問題的難度更大,因此我們的目標不是要在在最短時間內定位到發(fā)生異常的問題點,而是要快速分析出問題的影響范圍。我們將影響范圍以平面來進行定義。以往我們建立的主備策略、災備環(huán)境或者雙中心環(huán)境往往是最大平面的維度,難以支撐小范圍的故障。畢竟切換的面越大,整體業(yè)務中斷的風險也越大,評估下來因為單個業(yè)務無法使用或者單個模塊無法使用切換整個中心或啟用災備環(huán)境是不現(xiàn)實的,也是得不償失的。我們根據(jù)實際經(jīng)驗得到的方案是將業(yè)務系統(tǒng)劃分為更微小平面維度,例如業(yè)務維度、應用維度、模塊維度、網(wǎng)絡維度等等。
當發(fā)生異常時,通過分析快速確定問題影響的最小粒度平面。我們將這些不同維度平面的高可用方案以策略的形式進行定義,并納入智能切換策略管理。智能切換策略管理針對各維度平面的保障方案,包括負載流量的分流、灰度平面切換、業(yè)務的限流、熔斷策略等等,這些策略的執(zhí)行可能包含一個或多個自動化運維流程的序列執(zhí)行,而這些自動化的運維流程需要在運維流程管理中進行預置。以上的運維事件發(fā)生和處置過程,都應該在演練及應急保障管理中制定演練計劃,通過反復的日常演練來推動運維過程和運維操作能力的優(yōu)化。當生產(chǎn)系統(tǒng)真實出現(xiàn)異常事件時,基于上述平臺的全流程自動化能力,將異常恢復時間壓縮到10分鐘以內。通過建立這樣一個以快速恢復系統(tǒng)為目標的混合云智慧運維能力平臺,來保障部署在混合云上的各業(yè)務系統(tǒng)模塊能維持正常運行,提供業(yè)務支撐。根據(jù)上述的建設思路,我們整理出該統(tǒng)一的運維能力平臺的功能架構和技術架構如下所示:
1. 功能架構
在實現(xiàn)對多個異構云的運維能力原子化的基礎上,構建運維數(shù)據(jù)管理、運維流程管理來對接異構云的運維數(shù)據(jù)納管能力和運維操作能力;以及通過運維數(shù)據(jù)分析模塊來實現(xiàn)對混合云的各類運維事件的統(tǒng)一分析管理;為了支撐對各種不同類型運維事件的快速響應能力,增加智能切換策略管理和演練及應急保障管理來形成與運維操作的對接。同時,在云化遷移的過程中,運維場景將面臨目標部署環(huán)境經(jīng)常變動的難題,為了滿足對異構云上不同運維場景建設的時效性,還將引入低代碼運維場景構建管理能力,通過低代碼開發(fā)方式快速支撐運維場景建設。2. 技術架構
其中針對混合云產(chǎn)生的運維數(shù)據(jù)量巨大的難點問題,考慮以Redis、MySQL、Elasticsearch、HBASE多種存儲組件協(xié)同的方式來實現(xiàn)運維數(shù)據(jù)的分級分類存儲。運維數(shù)據(jù)從采集到最終入庫存放的處理流程如下所示:1. 運維能力原子化
能力原子化包括對異構云的運維操作和運維數(shù)據(jù)獲取能力做接口化,形成統(tǒng)一的可調用的能力接口。通過云上提供的大數(shù)據(jù)組件對接(例如將數(shù)據(jù)吐到kafka-topic的方式),或通過容器內部署的agent、腳本、或遠程jdbc連接等方式來獲取。運維操作能力主要通過對k8s容器管理、組件管理等接口進行封裝,實現(xiàn)對容器及容器內應用組件的運維操作管理。在云平臺能力不滿足需求的情況下,還將引入其他開源的采集組件、執(zhí)行組件,結合本地運維開發(fā)腳本,共同形成原子能力層。圖片來源于網(wǎng)絡
運維數(shù)據(jù)包括:
- 集團XXX云:租戶內的資源數(shù)據(jù)、業(yè)務模塊部署組件性能指標數(shù)據(jù)、業(yè)務模塊應用日志數(shù)據(jù)、業(yè)務鏈路數(shù)據(jù)、業(yè)務數(shù)據(jù)存儲組件數(shù)據(jù)等,通過對接平臺大數(shù)據(jù)組件、業(yè)務應用吐出到Kafka-topic管道、日志文件采集等方式輸出到本平臺。
- 本地XXX云:包括本地云和裸金屬部署環(huán)境的資源數(shù)據(jù)、主機或容器內組件性能指標數(shù)據(jù)、業(yè)務應用日志數(shù)據(jù)、業(yè)務鏈路數(shù)據(jù)等,通過在原有運維數(shù)據(jù)采集獲取通道上將運維數(shù)據(jù)做轉發(fā),實現(xiàn)輸出到本平臺。
運維操作包括:
- 集團XXX云:包括對云平臺的命令操作、任務管理、啟停服務管理、軟件操作管理、配置庫管理、文件管理等。將這些云平臺能力統(tǒng)一封裝為可調用接口,通過本平臺的調用傳參來實現(xiàn)運維操作管理。
- 本地XXX云:包括對省內的云平臺的自動化運維場景程序、自動化腳本、CMDB資源管理、文件管理、應用發(fā)布管理等能力封裝為可調用接口,通過本平臺的調用傳參來實現(xiàn)對本地云環(huán)境的運維操作管理。
2. 運維數(shù)據(jù)管理
支持對任意運維數(shù)據(jù)的接入納管,實現(xiàn)對異構云的可觀測性能力建設。支持對性能指標類的時序數(shù)據(jù)、日志類非結構化數(shù)據(jù)、還有業(yè)務鏈路數(shù)據(jù)的統(tǒng)一匯聚納管到同一平臺,并構建基于流批一體計算框架的數(shù)據(jù)加工處理以及數(shù)據(jù)關聯(lián)能力,實現(xiàn)對海量數(shù)據(jù)的秒級指標生成以及多條件規(guī)則判斷能力。資源數(shù)據(jù)是運維數(shù)據(jù)的關聯(lián)基礎,運維數(shù)據(jù)管理模塊實現(xiàn)從異構云平臺定時同步,將資源數(shù)據(jù)統(tǒng)一接入平臺的資源池。圖片來源于網(wǎng)絡
支持對海量數(shù)據(jù)按不同的使用場景的分類存儲管理,制定不同數(shù)據(jù)類型的存儲周期管理,并按規(guī)則進行數(shù)據(jù)備份和清理。
數(shù)據(jù)檢索工具支持對關系型數(shù)據(jù)、時序數(shù)據(jù)、key-value數(shù)據(jù)的檢索展現(xiàn),能在不同類型的數(shù)據(jù)對象之間實現(xiàn)關聯(lián)檢索。例如根據(jù)數(shù)據(jù)庫中查詢到的業(yè)務訂單數(shù)據(jù),自動按此作為關鍵字查詢日志數(shù)據(jù)、鏈路數(shù)據(jù)返回報錯信息或鏈路數(shù)據(jù)。在該模塊的實時計算框架中需要實現(xiàn)以下類型的數(shù)據(jù)加工處理規(guī)則或邏輯判斷規(guī)則:數(shù)據(jù)處理類
結構化數(shù)據(jù)的二次加工、屬性項新增、數(shù)值轉換等;非結構化數(shù)據(jù)提取生成結構化數(shù)據(jù)。- 簡單指標計算(最值計算、均值計算、分類統(tǒng)計等);復合指標計算(對已生成指標或告警的二次統(tǒng)計計算);關聯(lián)指標計算(實現(xiàn)對兩個或兩個以上指標做關聯(lián)生成新的指標);加工指標計算(對指標的二次加工,如數(shù)值轉換,key值轉換,key值新增等)。
- 同比環(huán)比規(guī)則(與歷史同期數(shù)據(jù)或時序前列數(shù)據(jù)的比對判斷);動態(tài)基線比對規(guī)則(以歷史數(shù)據(jù)根據(jù)配置規(guī)則生成動態(tài)基線);指標未生成規(guī)則(有基線數(shù)據(jù),無實時數(shù)據(jù)時產(chǎn)生)。
3. 運維數(shù)據(jù)分析
運維數(shù)據(jù)的分析的對象不光是系統(tǒng)故障,還包括網(wǎng)絡攻擊、內外部用戶的行為異常、應用發(fā)布動作帶來的系統(tǒng)變化(例如業(yè)務影響、性能影響等等)、還有網(wǎng)絡上的異常(比如閃斷、連接風暴、負載不均衡、數(shù)據(jù)不同步等),另外還有長期的業(yè)務容量發(fā)展趨勢變化,都屬于事件分析的范疇。這也對數(shù)據(jù)分析管理功能模塊提出了很高的建設要求,要能對實時的各類運維數(shù)據(jù)做分析,也要能對運維數(shù)據(jù)的長期變化趨勢做分析,對各類事件建立判斷規(guī)則模型。運維數(shù)據(jù)分析包括前臺的事件管理及后臺的事件分析過程。1)前臺事件管理包含以下幾個子模塊
- 事件樣本庫:存放歷史事件發(fā)生時各類運維數(shù)據(jù)的樣本,用于提取事件判定規(guī)則(指標閾值規(guī)則、動態(tài)基線規(guī)則、時間范圍規(guī)則、特定業(yè)務環(huán)境規(guī)則等)。
- 事件模型管理:支持對各類運維事件的定義及分類管理。包含了對事件的歷史樣本、事件判斷的識別規(guī)則、事件觸發(fā)的執(zhí)行策略的管理。
- 識別規(guī)則管理:包含對事件發(fā)生時的一個或多個指標閾值的定義,或定義事件多個指標項的動態(tài)基線,并建立基于動態(tài)基線的事件識別判斷規(guī)則。
- 事件策略管理:定義事件發(fā)生時的觸發(fā)動作,包括但不限于對配置派單接口、告警短信接口、事件接收角色等策略的管理。
2)后臺的事件分析包括三個處理步驟
- 第一步是數(shù)據(jù)接入,建立事件分析需要接入的數(shù)據(jù)源(數(shù)據(jù)流)。
- 第二步是模型匹配,將需要判斷的數(shù)據(jù)流與已建立的事件分析規(guī)則模型進行匹配,滿足條件則觸發(fā)事件。
- 第三步是策略執(zhí)行,根據(jù)事件定義的策略執(zhí)行告警輸出、工單派發(fā)等動作。
4. 運維流程管理
在將異構云平臺、自定義腳本、開源工具的能力進行接口化納管后,應用運維流程管理的能力管理、腳本管理、工具管理實現(xiàn)注冊管理。該模塊中的后臺流程引擎實現(xiàn)對配置的靜態(tài)運維操作流程加載,支持通過前臺界面配置定時任務、手工觸發(fā),或通過后臺的接口調用,來觸發(fā)運維流程的啟停操作。在運維流程執(zhí)行過程中,引擎支持對節(jié)點的串行執(zhí)行或并行執(zhí)行,支持帶條件判斷的多分支執(zhí)行,也支持對多個執(zhí)行分支的并流判斷。流程引擎支持人工節(jié)點。由人工通過表單輸入?yún)?shù)來執(zhí)行后續(xù)節(jié)點,也支持人工審核節(jié)點來觸發(fā)高風險運維操作自動執(zhí)行。流程引擎可通過調用接口節(jié)點執(zhí)行異構云或其它開源工具的運維操作能力,也支持通過執(zhí)行配置的自定義腳本來執(zhí)行更加靈活的運維操作動作。運維流程執(zhí)行過程中每個節(jié)點的執(zhí)行日志數(shù)據(jù)、執(zhí)行結果數(shù)據(jù)、執(zhí)行耗時數(shù)據(jù)都通過采集并統(tǒng)一存儲,為后續(xù)追溯運維現(xiàn)場提供數(shù)據(jù)支持,也為運維操作的優(yōu)化提供分析依據(jù)。模塊前臺提供流程管理,支持對流程的增刪查改等操作,并可通過復制、導出、導入等功能實現(xiàn)運維流程的快速構建。流程編輯器支持對運維自動化流程的可視化編排。編輯器中包含各類能力接口組件、自定義腳本組件、人工審核組件、條件判斷組件、分流組件、并流組件,可通過托拉拽方式編排運維動作的執(zhí)行過程。5. 智能切換策略管理
該管理模塊納管業(yè)務系統(tǒng)各模塊在各個維度的平面級運維保障動作,包括快速切換、限流、降級、熔斷等等。是對多個運維操作流程面向事件場景的封裝。以各維度平面為單元對應用架構梳理,實現(xiàn)更小粒度的管理單元,并明確管理單元的高可用方案。通過構建多維度平面級保障策略中心,在應用發(fā)布、應急切換、故障自愈等場景中,提供不影響業(yè)務的的自動化處置方案。這個能力需要依賴對于應用系統(tǒng)在各個平面維度的梳理,制定當某個網(wǎng)絡節(jié)點出現(xiàn)異常時的切換策略。在這個過程中就涉及到引流,切換負載,自動擴容,動態(tài)修改參數(shù)等處置動作,以及處理時序,這都屬于平面切換策略的范疇。該功能模塊包含切換場景管理、切換策略制定、切換執(zhí)行管理、運維流程對接等前后臺功能子模塊。
- 切換場景管理確定不同類型主題的場景分類,分別納管業(yè)務故障、系統(tǒng)故障、環(huán)境故障、應用發(fā)布、環(huán)境割接、網(wǎng)絡攻擊等實際可能影響業(yè)務的場景。制定各維度的平面在場景中的高可用切換方案。
- 切換策略制定面向切換場景管理中的各方案,通過可視化拖拉拽的方式提供對多個運維流程的時序編排和依賴控制。
- 切換執(zhí)行管理實現(xiàn)對切換動作的前臺白屏化操作能力。并建立平面切換過程的可觀測性和質量、效率管理。
- 運維流程對接是切換執(zhí)行管理的后臺模塊,將前臺配置的策略及執(zhí)行動作與運維流程管理模塊中配置的流程動作對接,并獲取流程的執(zhí)行過程數(shù)據(jù)和反饋結果信息。
6. 演練及應急保障管理
通過建設日常演練及應急保障管理模塊,在該模塊中構建運維大腦,實現(xiàn)運維數(shù)據(jù)分析管理與平面切換策略管理的對接能力,建立運維事件與切換場景的關聯(lián),完成運維場景全流程的閉環(huán)。并通過定期演練,對演練結果進行評估并做出相應的優(yōu)化改進,以確保各類事件或故障發(fā)生時,系統(tǒng)恢復計劃持續(xù)可用。圖片來源于網(wǎng)絡
應急預案管理模塊支持配置各類運維分析結果事件與切換場景策略的執(zhí)行關系。不同類型的事件,如果造成同樣的業(yè)務影響,其所對應的平面切換策略也會是相同的。通過該子模塊建立運維數(shù)據(jù)分析模塊的事件策略管理與平面切換策略管理模塊的切換場景管理的關聯(lián)。運維大腦作為后臺應用部署。它接收實時運維數(shù)據(jù)分析輸出的事件信息,在運維大腦中根據(jù)在應急預案管理中關聯(lián)的切換場景,執(zhí)行對切換執(zhí)行管理接口的調用,觸發(fā)運維流程開始。過程跟蹤管理實現(xiàn)對事件產(chǎn)生到切換場景執(zhí)行的全過程跟蹤管理。支持對事件自動觸發(fā)切換場景的手動重新執(zhí)行或修改當次執(zhí)行策略觸發(fā)。支持對歷史運維切換動作實例的查看和追溯,為優(yōu)化運維執(zhí)行流程提供歷史數(shù)據(jù)依據(jù)。演練計劃管理支持制定運維場景的演練計劃,并在計劃時間實現(xiàn)對模擬事件的數(shù)據(jù)觸發(fā),以此來驗證運維流程方案的可靠性和平面切換動作的快速準確性。演練計劃管理支持與外部審批流程系統(tǒng)對接,形成自動化運維管理中日常應急演練的閉環(huán)管理。7. 低代碼運維場景構建管理
建設低代碼構建能力,在將云平臺工具的能力原子化基礎上,形成運維能力庫。應用低代碼方式實現(xiàn)運維場景的交互配置、操作流程配置等功能等實現(xiàn)對各類運維場景的前臺操作支撐。這些不同運維操作場景將在運維應用市場中以小程序形式提供給運維人員使用。圖片來源于網(wǎng)絡
該模塊主要是解決運維場景定制化的效率問題。在面臨同時運維多個云環(huán)境的情況下,運維場景開發(fā)構建時效性要求高,特別是和特定業(yè)務時段相關的,例如特定的促銷時期的運維場景,如果按正常定制化開發(fā)的流程周期太長,難以滿足運維工作的需要。還有一些比較靈活的報表、儀表盤或其他可視化場景,如果應用低代碼的方式快速構建,能更快更好的滿足使用方面的需求。應用低代碼運維場景構建能力,實現(xiàn)數(shù)據(jù)分析的場景固化。對日常運維中的數(shù)據(jù)獲取、數(shù)據(jù)加工、指標計算、數(shù)據(jù)分析、數(shù)據(jù)判斷等數(shù)據(jù)應用流程固化,將日常分析需要使用的運維數(shù)據(jù)以儀表盤、報表、拓撲圖等形式做可視化展現(xiàn)。這些場景的固化也是知識沉淀的過程,可以提升我們分析問題時的效率,避免在多種異構云的運維管理平臺界面之間跳轉的時間損耗。運維場景構建管理作為低代碼運維場景的管理入口,實現(xiàn)對運維場景實例的統(tǒng)一管理功能。支持對運維場景的增刪查改及發(fā)布、下線、復制、導入、導出等操作,滿足對構建運維場景過程的管理需求。運維場景設計器:提供拖拽式應用交互場景構建,借助所見即所得設計能力,應對靈活多變的應用場景需求,縮短運維場景定制開發(fā)周期,提升運維類應用的開發(fā)質量。可視化組件庫提供對運維場景設計器的組件支撐,滿足運維所需的各類可視化場景以拖拉拽組件的形式進行構建。組件庫包括但不限于:
組件支持配置可視化樣式及綁定數(shù)據(jù)源,并支持通過變量參數(shù)來實現(xiàn)對復雜運維場景的構建需求。另外組件之間支持通過變量傳參方式形成聯(lián)動或自動刷新。運維能力庫提供對運維場景設計器的能力支撐。在低代碼運維場景構建過程中,涉及到需要對多個異構云進行操作的動作,或對開源工具、自定義腳本的使用,都將在對運維能力做原子化改造后以運維能力庫的形式統(tǒng)一管理,并提供給設計器選擇使用。在運維流程管理中定義的運維流程也將以接口調用形式提供給低代碼平臺來構建人工分析+自動化操作執(zhí)行的完整運維場景。
通過低代碼或定制化方式開發(fā)實現(xiàn)的運維場景,最終以運維應用市場的形式向其他運維人員、管理人員、業(yè)務人員提供運維支撐服務。運維應用市場中的應用支持權限劃分管理,可對不同使用角色賦權,也將通過對接資源權限管控來限制不同使用者的操作范圍,避免誤操作風險。通過該運維能力平臺的構建,拉通多云環(huán)境的運維管理,統(tǒng)一構建包含異構云的PaaS平臺運維能力,實現(xiàn)混合云架構下的1分鐘發(fā)現(xiàn)、5分鐘定位、10分鐘恢復的系統(tǒng)高可用保障目標。
在平臺中引入基于流批一體的通用計算框架,實現(xiàn)對多云環(huán)境產(chǎn)生的各類日志數(shù)據(jù)、指標數(shù)據(jù)、鏈路數(shù)據(jù)的統(tǒng)一采集接入、統(tǒng)一處理平臺、統(tǒng)一數(shù)據(jù)存儲,并建立多維度類型的數(shù)據(jù)關聯(lián),面向運維事件構建數(shù)據(jù)分析能力。做到對運維事件的1分鐘內快速發(fā)現(xiàn)。在運維事件分析方面,除了建立事件規(guī)則與策略規(guī)則的對應關系,還通過低代碼平臺構建一系列輔助運維分析場景,在事件發(fā)生的5分鐘內,確定事件的影響范圍及業(yè)務保障策略。在將云環(huán)境的運維能力實現(xiàn)原子化改造的基礎上,構建的統(tǒng)一運維編排調度能力,實現(xiàn)一套平臺同時運維混合多云。運維操作通過平面切換策略,與運維團隊的日常演練和應急保障形成對接,結合低代碼構建的運維操作場景的應用,真正做到閑時練兵,戰(zhàn)時殺敵,實現(xiàn)系統(tǒng)故障發(fā)生時的10分鐘內快速恢復業(yè)務的目標。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129399.html