雲端計算運維與傳統運維的探討

快樂程式設計師發表於2013-09-20

雲端計算運維與傳統運維的差異性

51CTO:阿里巴巴雲端計算運維是在什麼樣的背景下產生的?

柯旻:由於阿里巴巴業務的發展需要,資料量飛速膨脹。雲端計算、分散式計算等(包括我們自主開發的飛天系統),都是在這樣的背景下產生的。

51CTO:雲端計算運維與傳統運維的區別在哪裡?

柯旻:其實最主要區別是量的膨脹。

傳統的運維可能只有幾十,或者上百的機器,這些機器上面有十個、二十個應用,但是在雲端計算運維這塊,可能面臨的情況是三千臺、五千臺機器這麼一個量級的,是一個極速膨脹的狀態。再者,關注點可能會有一些偏差,因為傳統運維可能涉及的業務線會很多,所以對於某些技術點的深挖可能精力不夠。

雲端計算運維主要是對整體的把控,包括機房網路、頻寬之類的,一些伺服器的效能優化,伺服器的價格等,比方說像飛天或者Hadoop這上面的應用,這些方面都需要去關注,底層的東西也需要了解得更多。

從大的方向來講,雲端計算運維和傳統運維都是做保證伺服器穩定執行之類的這些事情,沒有什麼本質的偏差,因為這個是運維人員的職責,不過在具體的執行層面,可能偏向的會不一樣。

51CTO:雲端計算的核心是虛擬化技術,而在雲端計算時代,系統規模更加龐大,結構更加複雜,系統運維自動化是必然趨勢,阿里巴巴有沒有虛擬化平臺的運維自動化案例呢?

柯旻:我們內部會有一些系統做相對來說自動化的一些工作,但是這個東西也是雲端計算運維或者大資料運維這方面的,跟傳統運維有一些差別,可能傳統運維一臺兩臺機器去執行的時候,你需要快速的響應去處理,對線上的影響比較大,而對於雲端計算運維來說,可能三臺、五臺或者十臺機器掛掉,也不會產生很大的一些影響,或者說某種意義上來講,對於這種單機的處理上面,我們可能比傳統的運營商運維人員面臨的條件會更好,我們更容易去處理一些故障。我們目標是希望一臺普通的機器,它在上線整個生命週期裡面,是不需要人為去幹預的,都是一套自動的東西,對於我們現場的工作人員來說,可能就是他接到一個工單就是這臺機器什麼方面壞掉了,他去把它換掉,然後確認後會自動的把它恢復了,加入到叢集裡面去。

51CTO:雲端計算運維過程中,需要運維人員注意的方面是什麼?

柯旻:在雲端計算過程中,你需要更多的去了解系統底層的東西,怎麼樣跟這個應用上面的優化達到最合適的情況。同時也需要去關注一下,使用者的需求是什麼樣的。因為你的使用方可能相對來說是一個比較集中的狀態,而實際上使用的是你的大的平臺,所以說他們基本上都是在這個上面,這個上面他們可能根據自己的任務的情況,有一些優化一些東西,可能對這個平臺有一些不同的需求,這個地方你也需要去更多的去了解,或者說幫助使用者去更好地使用這些平臺。

51CTO:這整個過程中,遇到的最大的挑戰是什麼?

柯旻:我們目前來說遇到的最大挑戰可能就是軟體層面的,我們規模越大,挑戰就越大,這個上面可能更多的需要開發人員在程式碼上的做一定的更改和優化,或者構架上的調整,然後去解決這個問題。在這個過程中間,運維人員是需要配合開發人員的。

阿里巴巴的自動化運維案例

51CTO:自動化運維有很多方面,比如系統部署,監控,程式碼自動部署與回滾,命令執行與資源配置等。阿里巴巴主要運用的是自動化哪個方面?

柯旻:阿里巴巴自動化運維是全方位的,你提到的這些都是要做的,因為這個東西需要整體一套全部打通,你才能談得上自動化去運維。然後這裡面會有不同的分工,比方說從我們應用層面上面來說,舉一個簡單的例子,假如一臺機器某塊盤壞掉以後,你的應用需要自動的能夠把這個壞的盤下線掉,我們後臺的監控程式會去輪詢去找到這個發現這個盤,會把這些盤從sys裡進行下線,重新做一些修復處理,看能不能加過去,如果加不回去,那就說明這個盤可能就徹底壞掉了,壞掉了以後,然後我們會自動在工單系統裡面去提交一個報修,這整個過程中間是沒有人為干預的。

然後到了報修的時候,可能我們現場的工作人員就會接到這個工單以後,他們會安排時間,一週兩次或者說一次,他們會統一去把這些盤全部都換掉。如果是這些盤是系統盤都掛掉以後,他們可能會幫我們換掉以後,也會觸發自動安裝,然後它會自動去安裝,部署完了以後,如果是某一塊資料盤壞掉的話,他把盤換掉以後,因為這個本身就是線上上在運轉,我們後臺有程式會發現這個盤正常以後,我們會把這個加到系統裡面去,然後應用發現這塊盤後它會自動的識別新增到服務中來。也就是說在這整個過程中間,可能就只是現場的人員更換硬體,需要人為處理。

如果對於機器重灌的情況,我們會統一在一個時間段,比方說我一週或者一個月的時間,我把這個機器整理以後,會統一有一個自動化的部署的觸發,它會把這整個機器初始化掉,讓裡面的系統環節各個方面應用部署的狀態,它會去找到自己的兄弟節點去做一次克隆,恢復成跟線上的"兄弟姐妹"一模一樣的狀態,然後再上線。這個地方也是人員的觸發,就是一個很簡單的命令或者web點選觸發。當然後續目標是能做到更加自動的恢復

51CTO:阿里在監控方面用了哪些工具?監控系統的報警流程是什麼樣?

柯旻:由於傳統的監控工具可能滿足不了我們現在的需求,所以我們內部有一套自己開發的監控系統,像阿里巴巴、百度、騰訊這樣的公司,因為量比較大,所以說基本上都是內部開發的一套系統,可能騰訊有騰訊自己的,百度有百度自己的,可能都是根據企業自身的發展需求來定的。

就拿我們來說,除了一些重要節點的單機報警以外,這個系統可能會加一些基礎的報警,它可能是一種批量的,我們會設一個閥值,比方說下面同時有十臺機器掛了,或者十五臺機器掛了,同時掛掉,在一個檢查週期裡面同時掛掉的時候,可能才會發一個報警,如果掛掉一臺兩臺,可能我們就不報警了。或者說我可能發了報警就只是一個訊息,可能一個郵件出來,可能哪天我花點時間去看看今天大概有多少,然後會去看一眼,或者說覺得今天可能做別的事情比較多,可能這個事情我會放在後面集中再去處理。

51CTO:在大規模叢集的情況下,如何才能做好自動化運維呢?

柯旻:我個人覺得這是一個意識問題,如果是熱衷於去手動處理的話,可能自動化這些東西,你就會投入精力去更少,而應當你發現一件事情重複三次以後,就應該需要去考慮怎麼能夠不需要人為自動去處理,但是這個過程中間,是有一些陣痛。如果正常的情況下,你不停的人為去處理的話,到了一個階段以後,就會成為一個瓶頸了,因為你的精力已經不夠用。所以要去做自動化,可能在剛剛開始的時候,你效率的提升比較小,因為你要花很多時間去想怎麼樣自動化,怎麼樣不要出現問題,但是如果你這個自動化做好以後,你就會發現後面你的效率會越來越高。

阿里Hadoop叢集效能優化和故障排查

51CTO:阿里是什麼時候開始有Hadoop叢集的?現階段Hadoop叢集大致的規模是?

柯旻:2009年開始應該是200臺左右開始慢慢發展。目前來說,基本上接近單叢集五千臺。

51CTO:對於Hadoop叢集效能優化這方面,您認為比較可行的方法有哪些?

柯旻:效能優化這個東西,這塊開發方面去要優化很多東西的,對於運維來說,我們的效能優化,可能更多的專注在硬體裝置,sys層面和應用層面結合的一些優化。我們會根據情況跟開發人員提需求和建議,但是真正來說,本質上的效能優化來說,更多的還是開發在程式碼上的改動,減少各類開銷和鎖的力度,提高併發度等。

51CTO:雲端計算環境下,傳統的網路運維人員壓力倍增,您怎麼看待這個問題?

柯旻:其實這跟運維的職業有關,運維的職業基本上24小時要oncall,可能隨時隨地會有電話打給你,因為你不知道這個故障會什麼時候發生,所以說運維人員的壓力是比較大的。對於變化比較小的行業運維人員而言,可能會相對輕鬆一點,但對雲端計算來說目前整個行業在飛速發展,可能會有各種各樣的問題,作為運維人員來說的話,可能這方面的壓力是更大的。

自動化運維這個東西是一個長期過程,可能隨著你的雲端計算,或者大資料發展,外在的環境,機房網路,這些環境都在變,你的自動化是一個持續性發展下去的事情。而且你要通過這些自動化工具提高你的工作效率,你才能有精力去做更重要的一些事情。所以不會出現自動化了就不需要運維人員的情況。

隨著現在的發展自動化,下一步從我們這邊來看的話,可能就變成一個數字化運維。可能更需要去動腦子去想怎麼樣去實現,所以說自動化不是說是會讓你失業的東西。而是說能夠讓你有更多的精力去做一些更有一些意義的事情。

51CTO:您認為數字化運維這條路應該怎麼走?

柯旻:隨著叢集規模的擴大,機器的數量的膨脹,使用者數量的增加,我們已經很難再去找到一些經驗借鑑。當你沒有經驗可以借鑑的時候,唯一有一個東西是不會去忽悠你,那就是資料,資料一定是真實的,怎麼樣能夠快速的真實的拿到這些真實的資料,然後通過我們的資料化分析去得到我們想要得到結果。這實際是一個探索的過程,我們現在有一點點的想法,但是這個想法的實現,我們還在做,這條路是不是一定是這麼走的,其實我們也不是那麼有把握。因為這種硬體的投入和成本投入非常大,所以說如果依靠拍腦袋或者怎麼樣,你可能會有一些失誤的判斷,而你這個失誤的判斷,可能給公司造成的損失是巨大的,通過這些資料分析去預測的話,可能不能百分之百的避免出問題,但是它可能會最大化的去減少到出問題的概率。因為資料是真實的,你只要把這些資料,去挖掘得足夠深,它其實是能夠告訴你很多東西該怎麼去做。你可以通過這些東西去推斷,去分析,可能最後到某種意義上來說,一個靠譜的資料分析師就能去做一些運維決策工作,因為其實做資料分析這塊是非常需要想象力的。對於我們運維來說,因為我們自己的運維資料也非常多,比方說程式的溫度、負載、磁碟、應用的狀況,各個方面的資料,其實也是在一個飛速的膨脹,然後怎麼樣能夠快速的去分析這些資料,這也是一個比較大的挑戰。

好的,專訪就到這裡,非常感謝大舞的分享。也歡迎大家留言討論雲端計算運維這些事兒。


相關文章