python 運維那些事兒~ <轉>

今天想談談「運維」這一行,我將從如下五個部分來和你們分析一下目前Linux這個行業的現狀以及如何學好Linux、成爲專業運維人員和雲服務對運維的影響。linux

1、linux行業現狀
    咱們知道Linux誕生於1991年,它在國外的發展是很是迅速的,即便目前國內愈來愈多的應用轉向linux平臺,但Linux在大多數人的眼中仍是不太瞭解,甚至一個多年從事windows平臺下的開發人員,可能也從未使用過。究其緣由主要有如下幾點:shell

   1.入行門檻較高
   因爲linux是類UNIX操做系統,咱們都知道UNIX是一個相對早期的操做系統,它的設計自己就不是針對普通大衆的而是從事計算機的專業人員。雖然linux相對UNIX對大衆已經相對友好,但仍然不是普通人可以輕鬆掌握的操做系統。因爲不少人受Microsoft的windows操做系統影響太深,對於linux這種主要以命令行形式操做的系統很是不習慣。因此Linux這行的門檻仍是較高。數據庫

   另外一個重要的因素是因爲絕大多數的發行版中對中文的支持並很差,其實換句話說是沒辦法對中文的支持太好。因爲Linux涉及的知識相對底層,除去GUI所能提供的中文界面,基本上咱們看到的都是英文。若是你是一個Linux運維人員,你很清楚的知道,你天天打交道的linux不多可以看到中文。因此英文是學習Linux一大障礙,尤爲是計算機英語與咱們上學所學的英文徹底是兩碼事。爲何這麼說呢?apache

   應試英語着重語法,考過CET-4的人都知道,幾乎每一題都是變着法的考語法。而計算機英語實際上是很是厚道的,計算機告訴你的必定是一個陳述句而不是做死的提示你一個反問句或者複雜的語句。好比,你在輸入一個命令執行時,若是這個命令計算機沒有找到,它會直接的告訴你:xxx  command is not found 它不會問你: 這個命令難道真的存在嗎?這種想抽它的語句。因此計算機英語關鍵在於須要掌握大量的名詞和術語。編程

   2.精通難
   國內目前的情況是你們都知道windows的運維相對不如Linux運維的薪資水平。因此不少想作運維和windows運維的人員都想選擇Linux運維,目前也有不少的相關培訓機構,網上的書籍視頻層出不窮。可是真正想要深刻到高級的linux運維卻並不是一件容易的事情,究其緣由主要以下:windows

    能力與工做成正比。「能力有多大,責任就有多大」,在運維這一行,沒有人一畢業就是大神,要知道運維不一樣與其餘行業,運維須要的不是「天賦異稟」而是「經驗豐富」。運維這行要的是一個穩字,一個好的運維人員應該是一個好管家,他最好的狀態是保證家裏一切正常的前提下「無所事事」。沒有狀況就是最好的狀況,但咱們一般沒法決定能不能出問題,因此出現問題第一時間找到解決方案並實施是一個專業運維人員所需具有的。在這種大前提下,越是有大項目經驗越是能力越強,說白了越有經驗越能hold住場面。而這種能力的成長與你工做的環境息息相關,若是你是一個小公司,你再怎麼作可能也沒法接觸大集羣運維,若是你在一個大公司,一個大項目就能帶領你提高一個檔次。想要精通難的不是學習的能力而是磨練的機會。後端

   3.前景好
   十年前全部的公司都注重網絡技術,因此那個時候網絡工程師大熱。現在大公司的網絡都早已成形,市場上的CCIE處處可見,網絡技術的門檻愈來愈低。現在,linux行業崛起,在雲計算大環境下,市場上對linux高級運維人員的需求將愈來愈大。這樣的人才是不可批量生產的,高級運維不是你想作,想作就能作的。一個職位最怕的是從事其餘職位的人能夠輕鬆取代你,若是是這樣,這個職位就不值錢。若是你是不可取的的,那麼薪資天然也是不可取代的。在Linux運維的初級階段,實際上是能夠取代的,Linux畢竟是一個操做系統,只是一個工具。一個常常在linux下作開發的開發人員就能夠取代一個linux初級運維人員。但若是高級運維,開發人員是沒法取代運維人員的。高級運維是一個很是專業職位,高級運維須要掌握至關多的知識,包括但不限於網絡技術、系統編程、運維流程及思想、虛擬化、自動化運維體系構建、數據庫管理,雲計算平臺應用,大數據等。一個運維人員須要具有有開發人員的思想,但一個開發人員是否可以掌握常年積累下來的運維流程、思想和經驗體系就不是一朝一夕的事情了,因此高級linux運維絕對是目前大公司的稀缺人才。可能有人會反駁個人話說:一個高級的開發人員是更稀缺的。沒錯,我贊成你的觀點,那麼我會爲你分析爲什麼我認爲linux高級運維更加稀缺。服務器

   分析:一個行業從業人員是否稀缺咱們要從供需的角度來看,咱們首先看需求。網絡

   需求。目前國內愈來愈多的應用應用在linux上,某些大公司更是將整個平臺從原來的windows轉移到Linux上,windows運維也許你能夠找一些別的人員兼作,但我相信無論你是大公司仍是小公司,毫不會對Linux運維不重視。大公司不差錢,小公司壓根就不懂,你不懂的東西你越想找個專業的人幫你打理。因此雖然需求基數不大,但需求意願強烈。運維

   供給。如今哪一個大學沒有開設編程課程,可是Linux相關課程卻少之又少。而目前從事Linux運維的多半是半路出家,一出校門就去作Linux運維的太少,這是由於運維是一門以經驗爲主導以能力爲輔助的行業,因爲是高級Linux運維,不通過多年的鍛鍊達不到較高的境界。而linux高級運維人員每每隨着公司的項目一同成長,而這種人每每都是公司中的關鍵崗位,試想一個公司的高級Linux運維掌握了公司的大量運維資料和項目經驗,公司不想輕易放人,我的也不會輕易跳槽。每家公司不同,換一家公司你要適應新的運維團隊,開發新的運維工具和平臺,這種風險我的也不會輕易嘗試,因此高級Linux運維的人員流動性不大。

   還有一個很重要的緣由,一流高手不屑於作運維,確實運維是一個後勤部門,就像你們踢足球都喜歡踢前鋒,不多有人喜歡當後衛,畢竟這種吃力不討好的事情你們都不喜歡作。並且在同一水平線上開發確實比運維的工資高。然而正是由於如此,像咱們這種普通人才有機會作大神不肯作的事,不用和那些學霸大神們競爭。

   因此,我我的以爲,linux高級運維將是雲計算大環境下的稀缺人才,注意我說的是高級。

 

2、學習Linux兩種人
   就我身邊的圈子而言,大多數學習Linux的其實分爲兩種狀況:

   1.興趣
   這種狀況下以學生居多,有一些是經過老師瞭解到linux以爲很感興趣,而後去學習linux。因爲學生時間多,大多數不會去報專門的培訓班,因此以自學居多。我身邊的這種例子不多有學的好的,多半會進入一個誤區,去研究GUI哪一種好看哪一種絢麗去了。致使這種狀況的緣由是在學習了linux的基礎知識後,不少人會進入一個瓶頸,因爲沒有工做實踐的機會,不知道該用本身所學的知識作哪些事情。一旦咱們所學的知識不知所用,那便會對所學的知識產生排斥心理,以爲沒用,產生了玩GUI的誤區。不過我認識的也有學的好的例子,不過這個學生是作開發的,學習linux只是由於須要在linux下開發,因此學的很快很好,但他未來會是一個優秀的後端開發人員,卻不必定會作運維。

   關於linux的GUI,我想囉嗦幾句。GUI是一個好東西,但對於linux的初學者來講並很差。學習Linux第一要克服的一點就是擺脫windows的所長久影響的使用習慣。對於linux來講,GUI其實也是一個shell,只不過是圖形化的shell,因此說不能說命令行就好,GUI就很差。若是你真的是作GUI方面的開發,那麼研究GUI無可厚非,若是你只是個菜鳥,也就是玩玩壁紙,換換主題,這些東西對於學習linux毫無用處。

   2.工做須要
   這種狀況下多半是工做中須要使用Linux系統,不得不學。有一些會選擇自學,不過因爲上班了大多數仍是有一些經濟基礎,也有很多人上培訓班以達到短期的速成。這些人員入門會較快,有很多人都可以學好,並慢慢發展爲一名不錯的linux運維人員。

   以上這兩種狀況,後者其實更容易學好linux,根本緣由在於:若是是興趣使然,學與不學不會對你的生活有很大的影響,你該上課上課,該上班上班,沒有人督促你學習,沒人迫使你學習。即便對Linux失去興趣,也能夠去學別的感興趣的知識,這實際上是一個愛好問題。

   但後者不一樣,公司要求的,不會就無法交代,不會就無法幹活。老闆吩咐的任務就在那,學會了就能幹活,學不會就走人,你說這種壓力下你能學不會嗎。我相信你加班加點不睡覺也想學會Linux,不會就沒工做,沒工做就沒飯吃,這是一個生存的問題。因此二者本質上是不一樣的,因爲後者是因爲實際工做需求來驅使學習,因此學到的東西立刻就能夠在實際的工做中應用,因此會以爲學到的東西頗有用,那麼學習就更加的有動力,當你的boss給你加工資的時候,你就會更有動力,這一切都是學習Linux帶給個人財富,有什麼理由不更好的學習它呢?

 

3、如何入門
   這實際上是一個老生常談的問題,說的簡單一點:只要功夫深鐵杵磨成針。學習不是一朝一夕的事情,長時間的堅持纔會給你彙報。但我依然想給那些想自學linux的同窗一點建議:

   1.無論你基礎多差,找一本系統的書籍從頭至尾的看一遍,無論能不能看懂至少混個臉熟。若是你以爲很吃力,能夠去找找網絡上的視頻教程。切記看視頻是效率最低的學習方法但倒是最容易入門的自學方法。若是看書我強力推薦《鳥哥的Linux私房菜》,很系統很詳細很深刻。

   2.不要碰GUI

   3.多提問多思考,本身尋找答案不要輕易求助於他人。你問的問題都不會是國家機密,百度以及google上都會有大把的資料供你學習,要知道你求教的那個大神他也是從網絡上獲取的這些知識,你不想有一天能成爲和他同樣的大神嗎?

   4.不要擔憂英文,只要你堅持看英文文檔,不會的單詞去查字典,用不了多久你會發現看英文比看中文理解的更好。(即便你和我同樣CET-4都沒過^_^)

   5.堅持就是勝利,半途而廢不如不學,想好了就走下去,不然請不要邁出第一步。

   6.多和別人交流討論,幫助別人也是一件開心的事情同時也可以提高本身,也許他問的問題就多是你下一個要遇到的問題。

   7.關於培訓班,若是想了解RHCE證的話請移步個人另外一篇博文《關於紅帽RHCE考試的那些事兒》http://blog.csdn.net/apache0554/article/details/7740405

 

4、如何成爲一名專業的linux高級運維人員
   若是你有機會和條件,請大膽的作你從未作過的項目,每個項目都是對自身的極大提高,環境可以磨練一我的的能力和意志。有好的環境資源不要浪費,好好把握,慢慢進步。

   若是你暫時沒有這些機會,請努力提高本身的能力,作一個有準備的人,也許機會不久後就會來臨。

   若是你感到毫無發展的空間,嘗試改變現狀,安逸的環境不會使一個專業的運維人員進步。

   無論什麼時候何地始終保持好的心態,細心、冷靜、自信、上進、謙遜,性格決定命運,習慣影響成就。

 

5、雲服務對linux運維的影響
         地球人都知道,將來至少十年都是雲計算的黃金時期。一個事物的發展一定要棄舊迎新,尤爲在互聯網時代,設備與技術的更新突飛猛進。雲服務不只改變了中小公司的運營方式,一樣對大公司也起到了衝擊做用。中小公司傳統狀況下,一個互聯網項目在開始階段須要網絡設備,服務器設備,機房設備,CDN和線路設備,線上運維人員、IDC機房運維人員等。也許一個項目還沒開始賺錢,光這些亂七八糟的設備和流程就已經耗費了至關多的人力和財力,項目成本天然提升,項目壓力也就愈來愈大。若是項目成功,天然苦盡甘來;但若項目失敗這些投資也就全打了水漂,也就大大增長了開發和創業的成本。而大公司雖然不差錢,但這些機構在終年的人員流動、機構擴充的影響下也愈來愈臃腫。

 

   若是企業使用雲服務,那麼線下運維將由雲服務商全程統一負責,極大的精簡了一個項目開始階段的投入。雖然多數大公司目前並不會使用公有云,轉而開發自身的私用雲。但本質上是同樣的,都是將線下運維進行集中和整合,經過雲技術提供給各個項目人員使用,達到資源的最大化合理利用。

   若是雲服務被愈來愈多的企業應用,那麼對傳統運維的影響是很是巨大的。

   1.運維人員精減
   公司不須要爲買個項目單獨配置設備和人員,運維人員更多的狀況下須要的是線上運維而不須要再去機房幹苦力。第一批被淘汰的就是IDC線下運維人員,由於你的活已經被雲服務商作了,固然大公司的IDC機房仍是不可或缺的。

   2.運維人員要求提升
   因爲第一個影響,運維人員雖然不須要作線下運維,但線上運維的難度將更大。首先,若是是使用Amazon aws或者Microsoft Azure這種大型公有云,對於平臺的配置和使用就具備比較高的專業性。因爲雲服務帶來的資源整合,自動化運維勢必是之後高級運維的發展趨勢。運維人員不只須要掌握公有云的熟練配置,某些狀況先下還須要掌握OpenStack這種私有云。配合這些雲服務須要開發和管理新的自動化運維平臺,這就對運維人員提出了至關高的要求。

   3.大膽的猜測—第三方運維
   就傳統運維而言,沒有公司會放心將涉及核心業務的運維部門交給第三方外包,但若是雲服務發展到一個至關成熟的階段,大部分的企業都採用雲服務,那麼對於高級運維的人員的需求將很是大。咱們都知道使用雲服務是沒有地域限制的,就算你在一個小山溝只要有網絡,你一樣可使用雲服務,而線上運維一樣也能夠擺脫地域限制。舉一個小例子:在小城市一個公司使用雲服務,想要招到符合雲服務要求的專業運維人員是比較困難的,由於這些人員大部分都集中在發達城市。但公司又不得不須要這些專業的人員,只能尋找線上運維。(目前其實國內已經出現了一些第三方運維團體,但只針對於小公司和我的。)一旦線上運維的需求發展到一個程度,勢必會造成產業鏈。也許不久的未來國內會有專門作運維的公司出現,固然這只是個人我的猜測,腦洞大開而已。

 

總結:只是隨心的一些想法,說出來只爲自娛自樂,只但願那些想作運維和已經成爲運維的朋友們在這一行可以越走越好,畢竟運維目前在國內不是一個被重視的行業,走一步算一步吧。

PS:以上言論爲我的觀點,僅做參考和建議,如觀點不一樣,請一笑而過,沒必要深究

相關文章
相關標籤/搜索