aiops(artificial intelligence for it operations ),即智慧型運維,是將人工智慧的能力與運維相結合,通過機器學習的方法來提公升運維效率。
在傳統的自動化運維體系中,重複性運維工作的人力成本和效率問題得到了有效解決。但在複雜場景下的故障處理、變更管理、容量管理、服務資源過程中,仍需要人來掌控決策的過程,這阻礙了運維效率的進一步提公升。而ai方法的引入,使得機器能夠代替人來做出決策,從而讓真正意義上的實現完全自動化成為了可能。
在aiops的落地實施過程中,最關鍵的因素還是人,即aiops的建設者們。
單機房故障自癒是乙個典型的aiops落地專案。該方案主要解決的問題場景如下:某個業務由於網路、裝置、變更、程式bug、容量等原因造成故障,但故障範圍僅侷限在單個機房或單個region內部。那麼,我們可以基於流量排程等手段,將訪問流量排程到非故障機房或region,實現該型別故障的自動止損。
整個故障自癒過程分為如下幾個階段:
在這個過程中,需要aiops四種角色分工明確、緊密配合,來完成整個aiops解決方案的落地實現。在單機房故障自癒場景下,四種角色的關係如下圖所示:
在單機房故障自癒專案中,運維工程師基於日常運維工作中所積累的場景、問題和經驗,確定以單機房故障止損作為主要需求和突破口,通過定義單機房故障止損的問題域、解決思路以及風險點,明確ai可以發力的領域。運維工程師的職責主要包括如下幾個方面:
在完成問題域的定義後,運維工程師需要跟蹤整個單機房故障自癒解決方案的落地,包括在策略設計前期提供資料標註支援,在中期進行效果的驗收,在後期將單機房故障自癒方案實際部署執行到生產環境。
運維工程師承擔線上服務質量的責任,是服務質量的關鍵保證。在工作過程中,會與研發、產品、運營等各類角色、不同團隊進行深度的溝通和協作。
傳統運維中,運維工程師的主要職責分為三個方面:質量、成本、效率。
主要包含如下工作內容:
在aiops落地實施中,運維工程師是處於中心的角色,也賦予了新的職責,他們是aiops具體實施的需求提出者和成果驗收者。具體職責包括:
在aiops時代,運維工程師一方面需要熟悉運維領域的知識,了解運維的難題和解決思路;另一方面需要了解人工智慧和機器學習的思路,能夠理解哪些場景問題適合用機器學習方法解決,需要提供怎樣的樣本和資料,即成為ai在運維領域落地實施的解決方案專家。
在單機房故障自癒場景中,運維ai工程師將機器學習的演算法與實際的故障處理業務場景相結合,針對單機房故障場景的風險點,進行策略研發與實驗工作。如下圖所示:
運維ai工程師分別設計了如下演算法策略來滿足整個複雜故障場景的自動決策:
異常檢測演算法:解決故障發現時指標異常判斷問題,基於ai方法實現較高的準確率和召回率,作為整個故障自癒的資料基礎。
策略編排演算法:基於當前線上的實際流量和服務狀態,設計損益計算模型,判斷基於何種方式的操作組合或步驟,能夠使整個自動止損帶來收益最大,風險最小。
流量排程演算法:基於線上服務容量與實時流量情況,進行精確流量比例計算,防禦容量不足或不准風險,並實現流量排程收益最大化。
在完成策略設計與研發後,需要根據歷史資料進行case回溯,並進行**case模擬,來驗證策略效果,並進行逐步迭代調優,以達到線上執行的準確率和召回率要求。
運維ai工程師是將ai引入運維的核心角色。他們針對運維資料、運維經驗進行理解和梳理,使用機器學習的方法將海量運維資料進行彙總、歸納,使得資料中的價值顯現出來。
運維ai工程師首先需要具備ai工程師的技能,需要對數學及機器學習方法有足夠的掌握程度,並能應用實踐。如下圖所示ai工程師技能表:
如單機房故障自癒場景中的介紹,運維ai工程師需要具備機器學習知識並在運維領域落地的能力。運維ai工程師的職責如下:
在單機房故障自癒場景中,平台研發工程師需要關注三類平台的建設。如圖所示:
平台研發工程師負責運維平台及基礎元件的研發與建設。
在傳統運維場景中,平台研發工程師負責平台、基礎元件、類庫和工具的研發工作。在針對運維的場景中,會覆蓋運維相關的服務管理、監控、變更、流量排程等相關平台。
這部分平台是運維的基礎,在aiops時代仍然需要依賴於這些平台的建設。
基於多個業務線場景抽象出的單機房故障自癒解決方案,能夠滿足大部分場景需求,但並不意味著可以直接提供給各個業務線來使用。原因如下:
流量排程、容災策略等策略,針對不同的業務線,配置並不相同。例如某些業務對響應時間敏感,跨地域的排程會帶來較大的延遲,影響使用者體驗,這時就需要根據業務情況配置機房之間的跨機房流量排程延遲係數,來實現流量優先排程到延遲係數最低的機房。
部分業務線需要對原有的策略進行部分重寫才能夠滿足需求。例如,部分業務在流量排程時,需要聯動服務降級來滿足容量需求,這就需要額外增加服務降級聯動的邏輯。
那麼,就需要運維研發工程師出手來解決這個問題。根據業務線的實際情況,對策略和引數進行配置和調優,對通用框架無法滿足的需求,進行定製化研發,使得單機房故障自癒方案能夠實際應用在不同業務線上。
運維研發工程師負責基於業務線特徵的運維研發工作,在傳統運維中,是運維自動化的實施者,實現了針對業務場景的自動化運維實施落地。其職責如下:
在aiops時代,運維研發工程師承擔了aiops智慧型化運維解決方案在業務線實施落地的職責。他們是aiops場景的實踐者,將aiops解決方案與業務架構特徵相結合,實現aiops在業務線的落地。
一方面,他們會與運維工程師緊密配合,對業務問題進行深度分析,理解業務的特點。另一方面,他們與平台研發工程師、ai工程師相配合,基於aiops解決方案的策略和框架,進行定製化開發,使其適合自身業務線的特徵。
本文介紹了運維工程師、運維ai工程師、平台研發工程師、運維研發工程師四種角色在自動化運維時代和aiops智慧型化運維時代,其職責和技能的拓展和變化。aiops技術為運維技術的發展帶來了更多的機遇,對於每個參與到aiops實施的個人或團隊也是如此。四種角色既有術業專攻,同時又緊密協作,共同將ai能力引入為運維賦能。那麼,你的選擇是什麼呢?
作者簡介
支撐AIOps的運維角色和技能有哪些?
aiops artificial intelligence for it operations 即智慧型運維,是將人工智慧的能力與運維相結合,通過機器學習的方法來提公升運維效率。在傳統的自動化運維體系中,重複性運維工作的人力成本和效率問題得到了有效解決。但在複雜場景下的故障處理 變更管理 容量管理 ...
智慧型運維(AIOps)中幾處問題的解決方案與思路
運維人員必須隨時掌握伺服器的執行狀況,除常規的伺服器配置 資源占用情況等資訊外,業務在執行時會產生大量的日誌 異常 告警 狀態報告等,我們統稱為 事件 通常每台伺服器每個時刻都會產生大量這樣的 事件 在有數萬台伺服器的場合下,每天產生的 事件 數量是數億級的,儲存量可能是tb級別的。在過去,我們通常...
運維資料之運維的痛點和思路
1 故障的發現 2 故障的止損 3 故障的修復 4 故障的規避 1 發生了什麼 2 怎麼解決 3 多長時間能解決。由人力來回答這些問題效率低 不準確 不及時。因為我們要對付的這個系統實在是太複雜了。aiops提高運維生產力的一種方式就是把處理突發故障時的人力分析盡可能的都替換成機器來做。我們現在有非...