歡迎光臨
每天分享高質量文章

從科研角度談“如何實現基於機器學習的智慧運維”

      清華大學計算機系副教授 裴丹於運維自動化專場發表了題為《基於機器學習的智慧運維》的演講,現場分享了基於機器學習的智慧運維目前面臨的挑戰和解決思路。以下為演講實錄,今天大概內容包括智慧運維背景介紹、如何從基於規則上升到基於學習

      首先會做一個背景的介紹;為什麼清華大學的老師做的科研跟運維有那麼多關係?智慧運維現在已經有一個很清晰的趨勢,從基於規則的智慧運維自動化逐漸轉為基於機器學習了。再介紹幾個跟百度的運維部門搜索部門進行合作的案例;最後,還要講一下挑戰與思路。

一、智慧運維背景介紹

      談一下參加這次大會的感受,昨天各位講師們的報告,特別是今天早上幾位講師的報告特別精彩,講到了在生產一線過程中遇到的各種挑戰以及大家的實踐和經驗,我們又加了運維的群,對於像我這樣在科研領域做運維相關科研的工作者來說,感覺找到了組織。


      介紹一下我的經驗,特別是跟海峰老師開場的時候,講的一個概念是相關的。海峰老師提到說我們做運維很苦,正好我大概在去年這個時候,我在百度的運維部門,講了一下做運維如何做得更高大上一些,我的題目叫做《我的運維之路》。我們先簡單看一下,我個人學術上的官方簡歷。

      我讀了博士,然後在AT&T;研究院實習,AT&T;研究院前身是貝爾實驗室的一部分,這裡面大概有200個博士,有C發明者、防火牆之父,當然我其實沒有怎麼見到過他們,但是辦公室是在一起的。之後在裡面做了大概6年時間,發了不少論文,得了一些獎,發表了23項運維相關的專利。然後回清華做了不少科研,這是我的官方簡歷。

      實際上我在做什麼事情?我就是一個運維人員。在一個30萬人的大公司裡面做運維,當然主要是通過大資料分析的方法。我讀博期間跟美國各種運維人員打交道了五年;在實習過程中,喜歡上了分析實際的運維資料;真正在那邊工作的時候,基本上就是一個第五級的運維,做的事情是基於大資料技術管理網絡和應用的性能,各種網絡協議、IPTV、Video等等。


      回到清華做科研的時候,開設的也是網絡性能管理/應用性能管理相關的課程,所有的科研都是跟運維相關的,在國內有一些合作者,包括百度的運維部門、搜索部門以及中石油資料中心等等。我可以認為自己是一個運維人員,很高興在這裡跟大家分享我們之前的一些經驗。

      為什麼說運維是可以做得很高大上的事情?這是一個會議叫SIGCOMM,網絡裡面最頂級的會議,如果計算機網絡的事情是像電影一樣,這就是奧斯卡,每年大概錄用三四十篇論文,錄用一篇,就跟中彩票一樣。我們看它的Submission,就是這麼多,跟我們運維相關的占了40%。

      再看評委會,我只列出了AT&T;研究院裡面的前實習人員和前員工的一些同事們,基本上現在都到大學里當教授了。所以說運維苦不苦,是不是可以做得更高大上一些,取決於怎麼做。


      資料分析機器學習,這是很好的路線。再看評委會,我只列出了AT&T;研究院裡面的前實習人員和前員工的一些同事們,基本上現在都到大學里當教授了。所以說運維苦不苦,是不是可以做得更高大上一些,取決於怎麼做。資料分析、機器學習,這是很好的路線。

      不光是最頂級的會議,我們還有一個專門做運維相關的會議。這個會議,就是這撥人裡面,覺得SIGCOMM這個會一年30多篇,實在是收得太少了,我們再開一個會議,全部都是運維相關的,這是一個頂級的會議,是我科研領域一個主要的戰場之一。

      鋪墊一下,就是說運維是有很多可以鑽研的地方,有很多科研問題。


      簡單介紹一下我在清華大學的實驗室,叫NetMan。我的網絡管理實驗室做的科研,基本上都是跟NPMAPM運維相關的。我們跟互聯網公司做一些合作,主要做運維相關的自動化工作,跟SmoothAPP相關的運維工作,跟清華校園網WiFi做一些網絡性能優化的工作。我們做了一個核心的基於雲的運維演算法平臺,具體這些運維的應用,下麵都有一個核心的演算法,再下麵還有一個大資料分析的平臺,就是常用的各種開源工具。

      前面所講的是背景部分。我想要表達的一點,工業界、學術界應該在運維領域裡面能夠密切合作,各取所需。工業界有很多實際問題,有很多的經驗,也有實際的資料,學術界老師們有時間有演算法有學生,大家一起結合,這樣就會產生很好的效果。

      值得各位運維界同仁們關註的就是學術界的頂級會議,我比較推薦的是上面圖中的這些會議,這些會基本上一年三五十篇論文的樣子,簡單瀏覽一下,跟大家做得工作是不是相關,瀏覽一下最新的會議論文集,看看有沒有相關的,還是很有幫助的。美國的工業界,像谷歌Facebook都已經在這些會議上發表過一些論文,包括他們在工程上的一些實踐。

二、從基於規則到基於學習

      簡單介紹一下智慧運維大概的歷程,基於規則到基於機器學習


      我簡單回顧一下,我們這個趨勢,不光是說我們這個領域的趨勢,整個人工智慧領域發展的趨勢。人工智慧也是經歷了起起伏伏,最近又非常火。基本歷程,就是從基於專家庫規則到逐漸變成機器學習,再到深度學習。

      我講一下幾年前基於專家庫規則到機器學習的經歷。


      我們在做降維分析的時候,需要一個規則集,什麼事件導致另外一個事件,再導致額外頂級的事件,最後倒推回來,什麼導致了這個事情。我們當時針對骨幹網做的各種事件的關聯分析,基本上是基於規則的。當時CDN的性能事件,這個事件導致這個事件,單獨對它進行分析,如果這個事件發生,可以通過監測到的各種事件一直推到這兒。當時做出來的時候,起到了很好的效果,發表了論文,審稿評價也很高,也有專利,現在還在非常常規地使用,並且用得很好,效果很好。


      但是這裡面有個問題,規則是由運維人員給出來的,為什麼能夠運行的很好?因為在網絡骨幹網上面情況不是那麼複雜,網絡協議一層接一層,事件比較少,所以比較容易把規則弄出來。

      我們跟百度進行合作的時候,發現不是那麼好做。因為在互聯網公司裡面,大家都在講微服務,模塊特別多,規模很大,百度這邊一百多個產品線,上萬個微服務模塊,上萬台機器,每天上萬個軟體更新,想通過人把這些規則表達出來,運行到你的系統里,根本就不行,我們試了一下,很快就碰壁了。


      最後怎麼辦?我們採用了基於機器學習,把這些規則挖出來。我們在做的過程中不斷總結,不斷遇到新的問題,實現了基於規則的智慧運維過渡到基於機器學習。

      機器學習本身已經有很多年了,有很多成熟的演算法。要想把機器學習的應用做成功,要有資料,有標註資料,還要有工具(演算法和系統),還要有應用。對於我們運維領域來說,這幾點到底是怎麼做的?

      第一點,是資料。互聯網的應用天然就有海量日誌作為特征資料,想各種辦法做優化儲存。在運行過程中遇到資料不夠用還能按需自主生成,這是很好的。

      二點,是過程反饋。在運維日常工作中還會產生各種標註資料,比如說工單系統,發生一次運維事件之後,具體負責診斷的人員會記錄下過程,這個過程會被反饋到系統裡面,我們可以從裡面學到東西,反過來提升運維水平。

      第三點,就是應用。做出來的系統,我們運維人員就是用戶,我們可以設計、部署、使用、並受益於智慧運維繫統,形成有效閉環。建模、測量、分析、決策、控制,很容易形成一個閉環。我們能夠形成閉環,因為我們有這樣的優勢。

      總結一下,基於機器學習的智慧運維具有得天獨厚的基礎,互聯網應用天然有海量日誌作為特征資料,運維日常工作本身就是產生標註資料的來源,擁有大量成熟的機器學習演算法和開源系統,可以直接用於改善我們的應用,所以我個人有一個預測,智慧運維在今後若干年會有飛速的發展(待續)。

      驀然迴首,自開號以來,本號已經創作430+篇文章,自媒體的紅海時代已經全然來臨(死傷無數),隨著百家號、今日頭條等知名媒體把推廣重點放在娛樂八卦、人體藝術和小視頻上之後,技術號生存空間變得更小。本號之所以一直堅持創作,其源動力基本來自幾萬粉絲精神的支持,如果覺得文章對大家有用,請大家不吝動動手指分享給更多讀者(源動力)。也不知道什麼時候會停筆,但不到萬不得已相信會堅持寫下去。


      利用周末時間(一般都是周末),對Ceph技術架構、生態和特性詳細對比分析進行了二版掃清,掃清內容包含Ceph架構,故障機制、後端物件儲存演進、Ceph跟Glustre FS和華為分佈式OceanStor 9000產品對比分析。感興趣的讀者可通過原文鏈接查看詳情。

>>>推薦閱讀

溫馨提示:
請搜索“ICT_Architect”“掃一掃”下麵二維碼關註公眾號,獲取更多精彩內容。

聽說點贊和分享的朋友都已走上人生巔峰了

赞(0)

分享創造快樂