1. 程式人生 > >AIOps時代,你準備好了嗎?

AIOps時代,你準備好了嗎?

乾貨概覽

在運小皮《百度自動化運維演進》文章中提到,2014年以來,百度運維開始向智慧化方向邁進。智慧運維時代,如何提高智慧運維效率,降低通用運維操作(典型如故障場景)開發難度和成本,成為首要難題。本文將向大家介紹面向感知、決策、執行的百度智慧運維工程化解決方案

背景介紹

故障處理操作變更是運維兩大主題。在過去,為維護系統穩定,各業務線都投入大量人力進行故障處理工作,除直接人肉運維外,各產品線深度定製的運維工具、系統被研發出來。隨著業務規模擴張和形態變遷,傳統運維模式受到極大挑戰:

  • 無統一的開發管理模式,運維服務開發及維護成本大,運維效率低。
  • 橫向擴充套件能力差,運維經驗難以複用,各產品線”重複造輪子”。

智慧運維開發框架,提供了一種以軟體工程方式解決運維問題的解決方案。通過提供統一的開發模型管理機制,支援不同產品線運維操作的設計、實現和管理。從而:

  • 降低設計、開發難度與成本,使業務OP專注自身的業務邏輯,提高開發和迭代效率。
  • 促進基於程式碼的跨產品線經驗積累與分享,提升百度整體的業務運維能力。
  • 充分運用和發揮自動控制、機器學習、人工智慧等領域的技術成果,提高運維效率。

解決思路

智慧運維開發框架以Noah(百度自動化運維管理平臺)時代的運維經驗為基礎,通過對運維概念和操作的統一,整合當前運維繫統,提供運維操作的統一入口;讓更多的業務線OP加入到運維社群建設中,共享運維經驗,滿足業務日益多樣化的需要。

具體解決思路如下:

1.運維模式標準化

  • 統一開發模式:提供統一的開發規範,社群化開發模式,業務線OP共同參與運維操作開發,沉澱運維經驗。
  • 統一運維物件:通過知識庫,統一描述機器、例項、服務、應用等運維物件的屬性,聚集分散的運維狀態資料,達到公司內運維物件的統一。
  • 統一運維操作:遮蔽具體平臺操作實現,提供統一的運維物件操作介面。

2.運維開發工程化

  • 提供統一的運維開發框架:封裝常用功能元件,提供高擴充套件的開發框架,使產品線專注於自身業務邏輯,開發”智慧運維機器人”。
  • 提供模擬系統:通過提供服務拓撲搭建及模擬故障的能力,完成機器人上線前功能驗證,提高”機器人”可靠性。
  • 提供託管平臺:通過提供高可用的機器人託管環境,降低服務運維成本。

3.運維操作智慧化

  • 智慧感知:依賴監控系統提供的智慧異常檢測、多維度異常分析,感知滿足時效性和準確度的異常事件。
  • 智慧決策:自定義演算法實現決策機制,充分利用機器學習、人工智慧成果,提供決策可靠性。並沉澱人對問題的決策經驗,做到經驗可遷移。
  • 智慧執行:提供豐富的執行策略,滿足業務線通用運維操作的需求。

實現方案

整體解決方案如下:

AIOps

能運維機器人為主體,深度整合公司內程式碼管理工具,持續交付平臺,部署系統等devops工具鏈,幫助產品線同學快速完成原始碼構建、映象打包、應用部署,提供開發、測試、運維整套解決方案,大幅提升開發效率。

智慧運維開發框架自身提供的功能如下:

智慧運維開發框架提供了高擴充套件易使用的智慧運維機器人開發框架,具備線上服務拓撲結構搭建和query級別異常模擬能力的模擬系統,具備單地域故障處理能力的高可用服務部署託管平臺,完成開發至上線流程的全覆蓋,使用者只需要在智慧運維開發框架基礎上嵌入自己的業務程式碼,即可完成滿足自身業務的運維操作。

總結

智慧運維開發框架以變革運維模式為目標,提供了開發驗證運維工程化解決方案。一經上線,便作為各類故障自愈、高可用架構專案的基礎支撐,大幅提高了專案開發效率,減小了開發難度和成本,表現出了極強的穩定性。

相信在不久的將來,智慧運維開發框架會成為百度運維操作的載體,不斷達成智慧運維的使命。

作者:

運小韓    百度高階研發工程師

負責百度運維部分散式任務排程系統、智慧運維開發框架及可用性相關工作,在分散式系統、AIOps、可用性方向有廣泛經驗。

原文來自微信公眾號:AlOps智慧運維