近年(nián)來(lái)運維技術(shù)飛速發展,運維團隊大(dà)多建設好了各種系統,虛拟化、容器化、持續集成等等。但(dàn)是如(rú)何有效的利用這些系統最終實現站(zhàn)點的高可(kě)用、高性能、高可(kě)擴展?随着智能化技術(shù)的發展,爲了解決上述運維領域的問(wèn)題,智能運維的呼聲越來(lái)越高。
在日(rì)志易産品總監饒琛琳看(kàn)來(lái),目前國(guó)内智能運維發展還(hái)處于一個探索階段,要想盡快(kuài)在智能運維領域有所突破,首先要主抓好監控系統和告警系統,并利用機(jī)器學習算法進行快(kuài)速監控和排障。饒琛琳,日(rì)志易産品總監,曾任新浪微博系統架構師(shī)、大(dà)數據運維技術(shù)專家,從(cóng)事(shì)運維 11 年(nián),精通大(dà)規模互聯網性能優化,機(jī)器數據處理(lǐ)分(fēn)析,監控和管理(lǐ)平台的部署開發。
這裡(lǐ),就(jiù)将饒琛琳對智能運維的發展一些早期觀點和看(kàn)法整理(lǐ)出來(lái),和大(dà)家一起探討(tǎo)下運維未來(lái)的發展方向。
1對當下國(guó)内運維領域現狀的看(kàn)法
簡單來(lái)講,目前國(guó)内運維界在自(zì)動化方面已經達到了一定的水平,就(jiù)現階段而言,自(zì)動化和監控兩部分(fēn)還(hái)是有一定距離(lí)。例如(rú),你(nǐ)拿到了監控類的報警,可(kě)能不清楚立馬去(qù)做哪一項自(zì)動化的部署。如(rú)果能把自(zì)動化和監控這兩部分(fēn)有機(jī)的結合起來(lái),運維的工(gōng)作(zuò)會運轉的更加順利。
2移動端和微服務給運維工(gōng)作(zuò)帶來(lái)的挑戰
在 PC 端的時代,運維的很多工(gōng)作(zuò)受限于浏覽器,運維人(rén)員(yuán)拿不到用戶端真實的數據。這種狀況下,大(dà)家就(jiù)會普遍采購(gòu)一些第三方服務,嘗試獲取終端數據。而在移動端時期,我們都(dōu)有自(zì)己的 IP,可(kě)以把一些采點的邏輯放(fàng)在自(zì)己的 IP 裡(lǐ),然後獲取到更準确、更真實的客戶數據。相(xiàng)對于挑戰來(lái)說(shuō),這其實是移動端帶來(lái)的好處。
微服務的出現給運維工(gōng)作(zuò)帶來(lái)一些難題。沒有出現微服務之前,運維人(rén)員(yuán)在一台或者兩三台機(jī)器中就(jiù)可(kě)以完成問(wèn)題排查。出現微服務之後,這些問(wèn)題可(kě)能拆到了好幾十個分(fēn)布式的地方,各自(zì)的輸出,甚至啓停會很方便,你(nǐ)有可(kě)能遇到在找問(wèn)題的時候混淆的情況。而解決這些麻煩就(jiù)是需要智能運維。
3在大(dà)數據時代,智能運維與數據之間、自(zì)動化運維之間有何關系
智能運維的理(lǐ)想狀态就(jiù)是把運維工(gōng)作(zuò)的三大(dà)部分(fēn):監控、管理(lǐ)和故障定位,利用一些機(jī)器學習算法的方法把它們有機(jī)結合起來(lái)。
在大(dà)數據時代,智能運維是基于大(dà)數據之上。目前看(kàn)來(lái),運維想要把監控、管理(lǐ)和故障定位這三部分(fēn)有機(jī)結合起來(lái),就(jiù)不可(kě)避免的需要用到智能算法,而體(tǐ)現智能算法價值的一點就(jiù)是:智能算法需要大(dà)量的數據去(qù)做支撐。
自(zì)動化運維這幾年(nián)處在一個良性發展的狀态,包括像 Puppet 這種配置管理(lǐ)的自(zì)動化,像 Docker 這種部署的自(zì)動化。進一步的發展就(jiù)是需要把這三部分(fēn)融合起來(lái)。目前能夠把這三部分(fēn)融合起來(lái)的辦法就(jiù)是利用人(rén)工(gōng)智能的手段,最後達到一種智能運維的狀态。
4智能運維當下的狀況及智能運維發展的預測
智能運維當下還(hái)是一個初步探索的階段。可(kě)以舉幾個時間數字,我所看(kàn)到一個和智能運維相(xiàng)關的開源項目是在 2013 年(nián),而我看(kàn)到的第一個主動出來(lái)宣講和智能運維相(xiàng)關的應該是在 2015 年(nián)百度在一個大(dà)會上的宣講。然後大(dà)量的出現在宣講上有關智能運維的應該是在 16 年(nián)下半年(nián)。而這些宣講和我的一些宣講都(dōu)還(hái)是說(shuō)我們現在有這樣的思路(lù),做了一些嘗試。而這些嘗試的效果還(hái)是需要大(dà)家去(qù)碰撞,看(kàn)是否還(hái)有什麽更好的辦法,因爲我們現在是用普通的機(jī)器學習算法,還(hái)沒有用到像 AlphaGo 的深度神經網絡這部分(fēn)内容。轉變爲智能運維是一個需要大(dà)量投入和學習的過程。
想盡快(kuài)在智能運維領域有所突破,更實際一點的辦法就(jiù)是主抓好監控系統和告警系統。傳統的 IT 運維需要管理(lǐ)大(dà)量的告警,極大(dà)地分(fēn)散了企業的注意力,消耗運維人(rén)員(yuán)大(dà)量的時間和創新力。想辦法能把一天收好幾千封告警這種狀況,高效地解決,把運維人(rén)員(yuán)從(cóng)紛繁複雜的告警和噪音中解脫出來(lái)。這是一個在衆多辦法中産生(shēng)價值的第一步。
現在比較明确的是大(dà)家會朝着智能運維方向發展,并且智能運維的發展一定是一個長期演進的過程。
對于智能運維的發展預測,我的簡單看(kàn)法如(rú)下:
第一步就(jiù)是前面所說(shuō)的,智能運維在告警系統上的價值,;
第二步就(jiù)是智能地去(qù)判斷告警,而不是現在靠人(rén)力的經驗去(qù)設定一個阈值。設定告警阈值是一項耗時耗力的工(gōng)作(zuò),需要運維人(rén)員(yuán)在充分(fēn)了解業務的前提下才能進行,還(hái)得(de)考慮業務是不是平穩發展狀态,否則一兩周改動一次,運維工(gōng)程師(shī)絕對是要發瘋的。
第三步是利用一些 NLP(自(zì)然語言處理(lǐ)),把故障報告、文本化的語言提煉出來(lái)去(qù)自(zì)動反饋到這個系統裡(lǐ)。這一點可(kě)能是更遙遠(yuǎn)的一個設想,但(dàn)是目前來(lái)看(kàn)會是将來(lái)發展的一條道路(lù)。
在智能化時代,大(dà)家開始思考:如(rú)何将智能化和運維工(gōng)作(zuò)結合起來(lái),成爲智能運維?如(rú)何利用機(jī)器學習來(lái)進行快(kuài)速監控和排障?