企業級IT運維平臺的發展趨勢與規劃要點
之前我寫的一篇文章 ofollow,noindex"> 《IT運維發展趨勢及運維人的轉型升級》 談到了企業IT運維的幾個趨勢,很多從事IT系統運維的朋友與我就這個話題展開了一些溝通和討論,其中一個大家都比較關注的正是IT運維工具平臺。
這可能與我們所處的崗位和角色有密切關係,畢竟大家都是幹運維這個行當,對於手上是否有稱手的工具或平臺幫助有著共同的訴求。然而,不同企業的IT環境和IT發展階段導致了他們的IT運維平臺處於不同發展階段。
就此稍稍歸納了一下朋友們在IT運維平臺建設中常見四個階段,發現IT運維平臺與我們社會生產發展階段居然有著極其相似的地方,大致分別對應為IT運維的“農耕時代”、“工業時代”、“資訊時代”以及“智慧時代”。
一、IT運維農耕時代——手工運維
一些IT資訊化建設程度還不算高的企業,正在以他們的核心業務為中心構建IT資訊化的支撐和管理系統。例如,我剛畢業時就維護過電信行業的97系統,首次將業務受理、管線資訊管理、業務開通等電信行業的核心業務和資訊實現統一的資訊管理。
當時的系統架構及基礎設施架構異常簡單,數十臺伺服器及一些基礎軟體如中介軟體、資料庫等,就是企業資訊化的全部家當。同時,IT運維體系以及業務對IT系統依賴程度等因素,決定了這個時候運維人員對於IT工具和平臺的需求暫時相對較低。
在IT系統手工運維階段,企業IT規模較小和技術棧的單一,使企業的運維水平往往決定於團隊中核心運維人員的經驗,幾個技術大牛往往是運維團隊的核心。所以,這種以人為核心運維機制下,使運維人員往往都形成自己的維護指令碼庫,將一些日常工作中常用到的解決方案和操作方式以指令碼的儲存下來,成為各自的運維“葵花寶典”。
(那些年,我們用過的寶典)
存在的問題
總體而言,手工階段體現了人類農耕時代的特點——以人為主勞動,效率相對較低。因此,在這個階段當企業IT系統發展到一定規模後,就會引發很多問題,例如:
1、運維資源不足的困境
企業IT系統規模、複雜度和運維團隊的人力資源之間並不對等的增長,兩者之間的差距往往越拉越大。此外,企業IT環境中還逐步引入如雲、開源軟體等新技術。這些新技術引入更加劇了運維資源不足的困境。
2、運維知識體系轉移較慢
例如,大量運維的經驗和知識分散在各自的“葵花寶典”中,不利於團隊中運維知識的有效傳播。
即使增加人力資源,新運維人員加入需要大量的時間熟悉環境,並需要在實際環境和團隊成員傳、幫、帶過程中積累經驗,上手過程往往非常長;同時,運維團隊中關鍵人員的離開,也會引起不同程度IT運維質量波動。
3、 運維標準化程度低
不同的人根據其經驗做同一個操作可能帶來不同的效果,甚至引起大規模的故障。我曾經就碰到過一個“給資料庫增加資料空間 ” 這樣的常規操作導致系統癱瘓半天的事件,究其原因正是運維人員想當然,沒有按規範的操作執行造成。
4、企業對IT系統依賴過高
企業對IT系統的依賴與日俱增,IT系統一旦出現故障對企業業務產生巨大影響,單靠人力的運維模式已經遠不能滿足這種要求。
因此,在手工運維階段後期,許多運維團隊也自發性地編寫一些簡單的工具以便利於自己的運維工作。同時,更多企業為解決這些迫切的問題,開始著手引入各式的專業運維工具,解決存在的各種各樣問題,逐步走向自動化運維。
二、IT運維工業時代——自動化運維
在手工運維的時代,其實許多有遠見的技術大牛深感這種運維方法的不足,開始著手建立各種運維工具去解決運維效率低下、操作不規範等問題。
例如,我們公司及dbaplus社群專家鄒德裕,早在十多年前就為運維團隊用簡單的shell指令碼開發出一套極簡的OraZ工具。
此工具堪稱當時Oracle資料庫運維的神作,它將大多數Oracle資料庫操作、效能分析、問題分析和查詢的指令碼整合集於一身。此工具攫得資料庫運維團隊喜愛,到了後來我們服務一些新客戶時,運維工程師第一反應就是從筆記本上將這個工具上載到客戶的環境中並部署使用。原因無他,離開了它就需要憑記憶寫大量操作語句,會令操作效率大打折扣。
因此,針對於不同場景下的各類專門的自動化運維工具和平臺應運而生,例如:
-
自動化監控類: 各種提供應用效能監控、基礎軟體服務監控、主機儲存裝置、網路裝置等自動化監控和告警的軟體服務。
-
管理類: 各種提供IT運維支撐服務以及配置管理等方式的軟體服務,例如,各種ITSM系統和CMDB軟體系統。
-
自動化運維類: 各種提供自動化運維手段的工具和軟體。
-
其他專項工具: 如應用效能管理APM、資料庫運維管理DPM等工具。
帶來的意義
1、 代表了人類社會工業化的精神
從本質上而言,自動化運維代表了人類社會工業化的精神。以機器代替人類大部分機械而又重複的手工勞動,解決了系統運維工作與人力資源不足之間的矛盾,原來監控、巡檢、軟體安裝部署等耗時且易出事的工作通過工具和平臺交由機器來處理。
2、 實現企業IT運維的集約化
自動化運維實現了企業IT運維的集約化,通過一個運維UI介面可以監控和管理企業範圍內所有的軟、硬體裝置。集約化使運維人員簡化了在一個複雜運維環境中的運維操作及管理,進一步減輕運維人員的工作量。
3、實現 運維操作的標準化
實現運維操作的標準化,同時通過專家評審下的完善指令碼管理和標準操作,進一步約束運維操作,以工具和平臺的方式固化不同場景下的運維操作,避免給資料庫增加資料空間這樣常規操作導致系統癱瘓的悲劇發生。
4、 實現運維操作的專業化
各種專業化工具平臺提供不同場景下的專業級運維服務,一定程度上補充許多運維團隊專業技能上存在的不足。例如,專業的DPM資料庫運維管理平臺,可以實現常見關係型資料庫的各種資料採集、問題分析和處理等專家級的能力。
5、 實現運維知識有效傳承
最後,自動化運維還實現運維知識有效傳承。各種運維專家的精力得以從繁重的工作中解放出來,他們得到將有效的運維知識以場景化方式沉澱到運維平臺中,不斷豐富和完善運維平臺的能力。
(基於運維場景的運維自動化)
因此,運維自動化平臺的建設本質是運維團隊基於運維場景的服務化能力的變現過程,它讓我們從大量重複無規律的人肉操作中解放出來,專注於運維服務質量的提升。如何進一步提升運維質量,大家都不約而同地開始研究運維工作與資料的結合。
三、IT運維資訊時代——資料化運維
自動化運維工具和平臺大幅度提升運維效率,讓運維團隊從機械、重複的勞動中解放出來。此時,運維人員得以重新審視整個運維過程,發現我們現有的運維過程中仍然出現一些問題,自動化運維體系仍然未對這些問題做出很好解答。
自動化運維體系仍存在的問題
1、基於運維者經驗/拍腦袋決策
例如,運維操作和問題分析過程仍然是基於運維者的經驗做出判斷,很大程度上缺少了資料化和量化的支撐,仍然是依靠運維者的經驗甚至直覺來分析處理,運維決策靠各種經驗判斷和拍腦袋決策。
2、運維操作與事件間深層次關係不明
許多運維操作和事件之間的深層次關聯關係未能有效評估和分析出來。例如,我們即將上線一個全新版本的應用,這個應用將會涉及到多方面的變更操作。那麼,這些變更的操作影響面究竟將會有多大,可能會影響到其他應用和系統的執行,上線前需要知會哪些具體的相關人員。
運維工具資料化趨勢
一些運維出現的故障或者問題,其實是長時間積累的結果。
例如,一個數據庫的資料空間出現空間容量不足的故障,絕大多數情況下並非一朝一夕造成,它的發生是一個較為長時間積累的過程。
通過對空間容量資料基於時間軸跟蹤分析,可以在一個較長的時間段之前就可以做出較為準確前瞻性預測,這樣我們就可以提前做出應對和處理,避免故障和問題的發生。
早在十多年前,IT行業中資料倉庫、BI等領域利用業務資料進行專門的資料分析和挖掘。而如今,大資料更成為企業業務的主要推動力,這為IT運維提供了重要的啟迪,如何利用運維過程中產生各種資料,進行有效的分析和應用,進一步提升運維質量。因此,運維工具資料化成為自動化之後的必然趨勢。
運維資料化的特徵
所以,運維資料化的特徵之一是將一切運維事件和操作資料化,將來自於各種監控系統、自動化運維、CMDB、日誌檔案以及各種專業運維工具等各種各樣的資料進行採集、清洗、整合和結構化,並將所有的資料整合集中 到 運維資料平臺,讓原來孤立於企業IT環境中的各種運維資料產生更多連線和碰撞。
其次,構建一個更為開放且透明的運維資料體系,讓更多的運維人員參與到運維資料分析中,讓運維人員各展所長,從不同的角度去分析和應用資料。因為,如同業務資料一樣,資料價值體現於應用的過程中,應用越多資料價值才越高。
另外,建立一套簡單且有效的視覺化運維資料分析手段,讓運維人員通過視覺化資料分析圖表和報表,可以直觀地洞悉運維資料中潛在的關係和趨勢。
最後,基於運維資料分析的視覺化運維大屏,使運維工作更為顯性化。讓運維工作這個原來領導看不見“黑匣子”,用視覺化技術形象直觀地展現出來,一方面,視覺化將運維工作更加公開、透明,提升其他部門對運維的感知,提升運維工作的體驗;另一方面,運維視覺化實現程度的高低,在一定程度上反映出我們對運維工作的理解程度。視覺化程度越高,運維就越簡單,運維效率也就越高。
通過採集當前環境中的運維資料,整合現有運維平臺和工具,利用大資料及資料分析的技術,對IT系統中各個環節的問題進行快速定位、故障排除和預測。對來自業務環節中各個分佈系統的資料進行整體分析,合理優化IT服務。
四、IT運維智慧時代——智慧化運維
最近一兩年,AI人工智慧成為業界的研究熱點。運維人也開始著手研究如何將AI與運維相結合,讓機器實現真正自我管理。
目前,業界對智慧化運維( AIOps )有著兩種不同的解讀,其實我認為無論 AIOps 是指基於演算法(Algorithmic IT Operations)的IT運維還是基於人工智慧(ArtificialIntelligencefor IT Operations)的IT運維,兩者的本質並沒有實質的差距,都是圍繞海量的運維資料通過大資料、現代機器學習及更多高階資料分析技術,提供具備主動性、人性化及動態管理的能力,使運維工作一定程度上擺脫對人經驗和知識的依賴。
目前常見的應用場景包括:
-
告警收斂: 根據歷史事件和告警資料,發現這些事件和告警之間的關係,整合頻繁一起出現的事件和告警,並將其認看作同一類故障的告警,從而把多個告警和指標合併,推送給運維人員,做到精細化告警,避免傳統監控工具因一故障而導致的告警風暴,生產告警噪音。
-
故障分析: 通過運維資料及事件、告警,結合以前發現問題的經驗知識庫和模型,建立故障樹分析,結合決策樹等相關演算法,通過推導路徑使運維人員對於問題的定位更加快速、直觀,使得問題的解決更加容易。
-
趨勢預測: 進行歷史資料擬合等演算法,進行資源趨勢/容量預測。例如,主機CPU,交換頁不足、記憶體不足、儲存不足會逐漸導致系統故障或應用故障,該系統建立關聯模型,提醒使用者可能後繼會發生系統故障或應用故障。在故障產生真正業務影響前,告知運維人員事先解決問題。
-
故障畫像: 通過採集多維度運維資料,構建多元結構化底層運維資料模型,配合各類運維場景,並在場景裡對故障進行畫像,通過各種故障畫像標準形式來輔助企業進行IT運維決策和處理過程。
異常告警: 根據歷史監控指標資料,運用基於時序的相關演算法對監控指標異常分析,並對出現異常的監控指標發出精準告警。
總體來說,我認為 AIOps 是自動化運維及基於資料分析的運維的進一步延伸。利用自動化運維階段積累的大量運維資料,基於運維資料分析和自動化運維時打下的基礎的各種運維場景和應用,結合各種人工智慧技術,提供更為便捷運維操作和分析。
運維 近幾年才逐步跨入 智慧時代,它的目前的應用場景集中於異常告警、告警收斂、故障分析、趨勢預測以及故障畫像等一些比較基礎的方面,但是它體現了運維工具平臺未來的主要發展趨勢。有理由相信,隨著AI技術的不同發展及運維人的不斷努力, AIOps 將會逐步完善並實現更多的應用場景,未來實現無人值守的IT運維繫統 或 將不只是一個空想。
五、企業IT運維平臺的規劃
最近一次討論中,有個朋友問了一個問題:“我們企業IT運維裡面碰到了很多問題,是否可以跳過自動化這個階段,直接實施AIOps智慧運維這個階段呢?”
對於這個問題,我的觀點是否定的。 原因主要來自於兩個方面:
一方面,正如 《IT運維發展趨勢及運維人的轉型升級》 一文中提到的例子: 經濟基礎決定上層建築。
我個人認為:IT運維平臺或工具總是必須與企業IT技術架構及運維體系階段相匹配。IT運維平臺落後於整個技術架構和運維體系,會產生很多問題,例如,運維人力資源的不足、各種問題反覆出現得不到根治等等。IT運維平臺要是過於超前,也會出現用不起、不必要的投資浪費,甚至出現更多反效果。
如果是一些IT資訊化程度還不高,並且IT環境規模也不大的企業,它的IT運維平臺可以考慮先從自動化監控做起,逐步完善集中化的操作體系。後面,隨著IT資訊化程度的逐步提升,再逐步引入IT運維平臺其他方面的功能與模組,有步驟、有規劃地建設IT運維平臺,將有限的預算和資源投入到關鍵的地方。
另一方面,IT運維平臺的建設也如經濟建設的過程一樣,是有規劃分多個階段、循序漸進地持續建設過程,而 不能一蹴而就。
這是因為:
首先,運維平臺建設和落地需要一個過程,運維平臺也涉及到運維的方方面面。
例如,以自動化運維平臺為例、它本身就會涉及到監控、自動化運維、配置管理資料庫(CMDB)、日誌採集以及其他專業工具等各種不同方面的功能建設。“羅馬不是一天建成”,適合企業特點的運維平臺當然也更是如此。
再者,企業IT運維平臺的建設對當時的IT體系有巨大的驅動作用,IT體系需要根據運維平臺的建設而做出必要的調整。
例如,自動化運維的落地使大量日常人工完成的工作轉由機器完成,運維人員從繁重的工作中解放出來,必然會對當前的運維體系帶來改變,需要將富餘的人力資源投入到更為重要的崗位和角色中,如豐富自動化運維的場景、將更多複雜的運維操作標準化等,進一步提升企業IT運維的質量和效率。這種調整並不是一朝一夕的事情,需要逐步轉化、調整和消化的過程。
最後,運維平臺建設的四個階段有極強關聯性和前後順序,後一階段往往需要前一個階段的積累和經驗為基礎。
例如,手工運維階段中運維人員頭腦中或各自寶典中的經驗和指令碼,將以運維場景的方式在自動化運維階段實現標準化、集中化和自動化;而自動化運維中積累的大量運維資料,又為運維資料資訊化分析和智慧運維提供了必要的基礎;智慧運維,則是運維資料分析資料、演算法和場景的結合體。
因此,運維平臺每一個階段的建設,往往對後續階段有重大影響。
(結合企業現狀及痛點的平臺整體願景和分階段建設規劃)
因此,對於如火如荼的企業運維平臺建設,我的觀點如下:
-
企業運維平臺建設非常重要,它直接推動企業IT運維效率的巨大提升,降低企業運維資源投入,同時也是企業運維質量提升的不二利器。
-
運維平臺建設將會對整個運維體系有明顯的驅動作用,運維體系包括管理制度、流程、人員等各種因素需要與之做出適當的排程。
-
需要針對企業現有的IT環境及未來一段時間的發展做出合理的運維平臺未來藍圖和建設規劃。規劃很重要,有規劃才能有計劃、有目的地進行運維平臺建設。
-
企業運維平臺需要有一定的前瞻性,但是由於落地實施需要時間和資源的配合,絕不能貪大求全。
-
基於運維平臺構建企業自身特點和需求的各種運維場景,建設自身的運維平臺,並不能生搬硬套,適合自己的才是最好的。
-
運維資料視覺化是體現運維價值的一個重要途徑,將運維資料更為公開、透明,讓企業管理層帶來更明確的運維體驗。
-
企業IT運維人員是運維平臺建設的主力,他們長期在企業運維中積累的思想、經驗和知識,將歸納和總結到運維平臺中並傳承下去。