1. 程式人生 > >下一代的DevOps服務:AIOps

下一代的DevOps服務:AIOps

AIOps是一個總稱,用於指代使用複雜的基礎設施管理軟體和雲解決方案監控工具來實現自動化資料分析和日常的DevOps操作。

 

那些10年前甚至是5年前構建的系統監控工具的主要缺陷是它們不是為了滿足大資料時代的需求而構建的。它們既不能處理數量龐大的輸入資料,也不能處理種類繁多的資料型別,更加不能與輸入資料的速度保持一致。根據以往的經驗,這樣的雲監控解決方案必須將資料分塊,將看似重要的內容進行分離,並切斷看似不需要的內容,最後使用焦點組和統計樣本進行操作,而不是處理整個完整的資料。

這樣做的結果是,在資料分析階段,一些重要的模式可能會被忽略,資料視覺化的檢視被完全排除。這可能使得整個過程毫無用處,就好像大資料分析不能產生可操作的業務洞察一樣,它將無法提供大資料分析中最重要的價值。

 

讓AIOps進入場景

當然,要及時處理所有機器生成的資料是不可能的。然而,這正是人工智慧演算法(如深度學習模型)所擅長的那種任務。剩下的唯一問題是:如何在DevOps工程師的日常生活中讓這些機器學習工具發揮作用?

下面是在IT部門中適合使用AIOps的一些案例:

  • 快速處理資料。可以訓練一個ML模型來處理系統生成的所有型別的資料——這是未來的方向。如果必須新增新的資料型別,模型也可以相對容易地進行調整和再訓練,以保持高效能。這將確保資料的完整性和保真度,從而產生全面的分析和具體的結果。
  • 深入的資料分析。當你能夠實現對所有資料進行分析時,隱藏的模式就會出現,可操作的見解也會出現。然後,DevOps工程師就可以分析出基礎設施需要調整的地方,以避免效能瓶頸的出現,並且可以坐在高管的桌前,為優化基礎設施和改進運營提供具體的基於資料的建議。
  • 日常工作的自動化。識別出事件模式後,就可以設定自動觸發器。因此,當統計資料顯示某些事件總是導致特定的(負面的)結果,並且必須執行某些操作來糾正問題時,DevOps工程師就可以建立觸發器並自動對此類事件做出響應。 

因此,如果監控解決方案報告了由於連線數量增加而導致了CPU使用率的增加,諸如此類。Kubernetes就可以啟動額外的應用程式例項,並使用負載平衡來分配訪問流和減少負載。這是最簡單的場景,而現實世界的用例則要複雜得多,需要允許自動執行任何的日常DevOps任務,使ML模型能夠在特定條件下啟動它,並預先處理問題,而不是在停機後。

 

使用AIOps的好處

部署AIOps解決方案可以實現以下的積極成果:

  • 不間斷的產品可用性,帶來積極的終端使用者體驗
  • 優先解決問題,而不是永久性的滅火
  • 消除資料孤島並實現根本性的故障修復,因為您分析了業務生成的所有資料而不是使用精簡樣本
  • 日常任務的自動化,使您的IT部門能夠集中精力於改進基礎架構和流程,而不是處理重複且耗時的任務
  • 更好的協作,因為對日誌的深入分析有助於顯示管理決策的影響,並評估採用的業務戰略的效率

與此同時,真正具有創新精神的公司已經在努力將人工智慧演算法、ML模型和DevOps系統相結合,以提供未來最先進的雲監控和基礎設施自動化解決方案。應用這些實踐可以極大地改善客戶體驗,縮短產品的上市時間,更有效地使用基礎設施,以及在團隊中更好地進行協作。然而,即使是這些創新者也沒有現成的解決方案來滿足他們的需求,他們不得不使用Splunk、sumeoric、Datadog、promethus + Grafana、Kubernetes和terra form等流行的DevOps工具來構建這樣的系統。更重要的是,儘管這個想法本身非常重要,但實施它所需的基礎設施管理水平遠遠超過了普通公司的能力。

 

原文標題:What Is AIOps: The Next Level of DevOps Services,作者:Vladimir Fedak