為何說自動化運維三大要素是標準化、工程化和智能化?
前兩期我們在《百度自動化運維演進》中提到,2014年以來,百度運維開始向智能化方向邁進。智能運維時代,如何提高智能運維效率,降低通用運維操作(典型如故障場景)開發難度和成本,成為首要難題。
本文將向大家介紹面向感知、決策、執行的百度智能運維工程化解決方案。
1
何為智能運維開發框架?
故障處理和操作變更是運維兩大主題。在過去,為維護系統穩定性,需要投入大量人力進行故障處理工作,除直接人肉運維外,針對不同業務深度制定的運維工具、系統被研發出來。隨著業務規模擴張和形態變遷,傳統運維模式受到極大挑戰,表現如下:
無統一的開發管理模式,運維服務開發及維護成本大,運維效率低。
橫向擴展能力差,運維經驗難以復用,各產品線「重複造輪子」。
智能運維開發框架,提供了一種以軟體工程方式解決運維問題的解決方案。通過提供統一的開發模型和管理機制,支持不同業務運維操作的設計、實現和管理。目的如下:
降低設計、開發難度與成本,使業務OP傳統運維人員專註自身的業務邏輯,提高開發和迭代效率。
促進基於代碼的跨業務經驗積累與分享,提升整體的業務運維能力。
充分運用和發揮自動控制、機器學習、人工智慧等領域的技術成果,提高運維效率。
2
標準化、工程化和智能化
智能運維開發框架以Noah(百度運維管理平台)的運維經驗為基礎,通過對運維概念和操作的統一,整合當前運維繫統,提供運維操作的統一入口;讓更多的業務線OP傳統運維人員加入到運維社區建設中,共享運維經驗,滿足業務日益多樣化的需要。具體解決思路分為三部分。
1、運維模式標準化
統一開發模式:提供統一的開發規範,社區化開發模式,業務線OP傳統運維人員共同參與運維操作開發,沉澱運維經驗。
統一運維對象:通過知識庫,統一描述機器、實例、服務、應用等運維對象的屬性,聚集分散的運維狀態數據,達到公司內運維對象的統一。
統一運維操作:屏蔽具體平台操作實現,提供統一的運維對象操作介面。
2、運維開發工程化
提供統一的運維開發框架:封裝常用功能組件,提供高擴展的開發框架,使業務專註於自身業務邏輯,開發」智能運維機器人」。
提供模擬系統:通過提供服務拓撲搭建及模擬故障的能力,完成機器人上線前功能驗證,提高」機器人」可靠性。
提供託管平台:通過提供高可用的機器人託管環境,降低服務運維成本。
3、運維操作智能化
智能感知:依賴監控系統提供的智能異常檢測、多維度異常分析,感知滿足時效性和準確度的異常事件。
智能決策:自定義演算法實現決策機制,充分利用機器學習、人工智慧成果,提供決策可靠性。並沉澱人對問題的決策經驗,做到經驗可遷移。
智能執行:提供豐富的執行策略,滿足業務線通用運維操作的需求。
3
實現方案
整體解決方案
以智能運維機器人為主體,深度整合公司內代碼管理工具,持續交付平台,部署系統等devops工具鏈,幫助業務同學快速完成源碼構建、鏡像打包、應用部署,提供開發、測試、運維整套解決方案,大幅提升開發效率。
智能運維開發框架自身提供的功能
智能運維開發框架提供了高擴展、易使用的智能運維機器人開發框架,具備線上服務拓撲結構搭建和query級別異常模擬能力的模擬系統,具備單地域故障處理能力的高可用服務部署託管平台,完成開發至上線流程的全覆蓋,用戶只需要在智能運維開發框架基礎上嵌入自己的業務代碼,即可完成滿足自身業務的運維操作。
4
總結:穩定性優先
智能運維開發框架以變革運維模式為目標,提供了開發、驗證、運維工程化解決方案。一經上線,便作為各類故障自愈、高可用架構項目的基礎支撐,大幅提高了項目開發效率,減小了開發難度和成本,表現出了極強的穩定性。
相信在不久的將來,智能運維開發框架會成為百度運維操作的載體,不斷達成智能運維的使命。
智能運維開發框架的具體實現和最佳實踐將在後續文章中詳細介紹,敬請期待!
本文作者介紹:運小韓,百度高級研發工程師。負責百度運維部智能運維分散式任務調度系統、智能運維開發框架及可用性相關工作,在分散式系統、AIOps、可用性方向有廣泛經驗。
往期
回顧
2018百度雲智峰會 Inspire智能金融報名通道開啟!
TAG:百度雲 |