運維新手們,別再問需不須要學PYTHON了!!!

 

 

常常有人在羣裏問,運維人員需不須要學開發?需不須要學PYTHONPYTHONSHELL有什麼區別?每天問這種好水的問題,我實在受不了,決定幫你們掃掃盲,求求新手們,之後別他媽瞎問了。python

 

 

 

 

現階段,掌握一門開發語言已經成爲高級運維工程師的必備計能,不會開發,你就不能充分理解大家系統的業務流程,你就不能幫助調試、優化開發人開發的程序,開發人員有的時候不多關注性能的問題,這些問題就得運維人員來作,一個業務上線了,致使CPU使用太高,內存佔用過大,若是你不會開發,你可能只能查到進程級別,也就是哪一個進程佔用這麼多,而後呢?而後就交給開發人員處理了,這樣咋體現你的價值?ios

 

另外,大一點的公司,服務器都上幾百,上千,甚至數萬臺,這種狀況下怎樣作自動化運維?用SHELL寫腳本FOR循環?呵呵,歇了吧,SHELL也就適合簡單的系統管理工做。到複雜的自動化任務還得要用專門的開發語言。你可能說了,自動化管理有專門的開源軟件\監控也有,直接拿來用下就行了,可是現有的開源軟件如Puppet\Saltstack\OpenStack\Zabbix\Nagios 等多爲通用的軟件,不可能徹底適用你公司的全部需求,當你須要作定製、作二次開發的時候,你咋辦?找開發部門?開發部門不懂運維的實際業務邏輯,寫出來的東西爛爛不能用,我本身也作運維繫統,6年運維工做經驗,開發出來的初版照樣爛的不行,這仍是懂的運維業務邏輯的,讓開發人員來作,跑偏可能更多了,這就是爲何我見過不少公司自行開發運維平臺,最後都扔那了。編程

 

其次,不會運維開發,你就不能本身寫運維平臺\複雜的運維工具,一切要藉助於找一些開源軟件拼拼湊湊,若是是這樣,那就請不要抱怨你的工資低,你的工做不受重視了,話說人家FaceBook一個運維工程師管2萬臺機器,運維工程師年薪十幾萬USD,你覺得人家是蓋的呢?哪一個不是身懷絕技,開發運維兼備?後端

 

爲何要學PYTHONruby

PYTHON第一是個很是牛B的腳本語言, 能知足絕大部分自動化運維的需求,又能作後端C/S架構,又能用WEB框架快速開發出高大上的WEB界面,只有當你自已有能力作出一套運維自動化系統的時候,你的價值才體現出來,你纔有資格跟老闆談重視,不然,仍是老老實實回去裝機器吧。服務器

 

運維開發爲何要用PYTHON多線程

Good question, 爲何不用PHPJAVA C++RUBY,這裏我只能說,見人見智, 若是你碰巧已經掌握了除PYTHON以外的其它語言,那你愛用啥用啥,若是你是一個連SHELL都還沒寫明白的新手,想學個語言的話,請用PYTHON, 爲何呢?首先,PHP是跟PYTHON比的最多的,其實他倆根本就不用比,爲何呢?兩個語言適用性不一樣,PHP主要適用於WEB開發,能夠迅速的作出中小型,輕量級的WEB網站,但後端嘛,基本仍是要藉助其它語言,藉助什麼語言呢?SHELLPYTHON?呵呵。PYTHON呢, 是個綜合語言, 先後端均可以,單拿出來比WEB,也一點不比PHP差,但爲何WEB方向上PHPPYTHON要火? 先入爲主嘛,PHP 90年代誕生就是作WEB的,PYTHON2000年後纔出現WEB框架,但論優秀程度上,PYTHONWEB框架基本上出其無左,至少是跟PHP比。 架構

 

JAVA呢?好吧,一個臃腫\中庸\豪無新意的語言,仍是老老實實用它來作ERP吧,搞個運維小平臺,用JAVA真心沒啥必要,在我看來,JAVA就是穩定的中年男人,穩定\成熟\禿頂,而PYTOHN表明的就是青春, 簡潔\快\乾淨\帥!併發

 

C++C,這個嘛,我只能說,若是你會了PYTHON,又會C的話,那你會更吃香,可是不會C的話,其實也無大礙,基本上作運維的人,搞搞C就是爲了來裝B的,由於多數狀況下你都到不了看系統底層源碼的程度, 不過若是你學好了PYTHON以後,仍是建議你學習下C++,畢竟相比python這個動態語言來說,C++的效率仍是高不少的,但對新手來說,不建議作爲第一門語言開始學習, 爲何呢?打擊自信心。。。。呵呵,你懂的框架

 

RUBY,小日本開發的,還不錯,風格跟PYTHON有點像,由於ruby onrails出了名,國外用的比較多,國內,放心吧,沒戲,PYTHON已經把它的想象空間都佔死了。

 

固然還有新的語言GO有些搞運維的看見作開發的人員搞GO,也想湊熱鬧,以爲是將來,我想說,別瞎沒事跟風,GO再成功,也不會變成運維開發語言。

 

 

有些人以爲PYTHON效率底,說他不能支持多線程,OH,好吧,這個還有點說對了,可是我想問,看我這篇文章的有幾個作過搜索引擎開發?有幾個作個上億PV的併發網站開發? 有幾個看過LINUX內核源碼?若是沒有,請別瞎跟着傳了,知道PYTHON爲何不支持多線程嗎?這句話問錯了,其實PYTHON支持多線程,只是不支持多CPU多線程,也就是一個程序spawn出來的多線程只能佔用一個CPU,可是爲何呢?噢,由於GILGIL是什麼東東,請自行補腦。。。可是你非得用多線程嗎?你能夠用多進程呀,再牛B你還能夠用協程呀,這些PYTOHN支持的都很好呀,若是你的程序邏輯很差,搞個多線程也快不起來。我認識一個博士講過一句話,我以爲不錯,他說,程序效率高低,80%都是寫程序的人決定了,語言自己就佔20%,因此下次有人再說PYTHON效率低的時候,請讓他先回去本身檢查下本身的程序多了多少無用的邏輯、循環等等。這個博士本身用PYTHON寫的WEB程序,一臺服務器天天能處理上億請求,一秒併發近兩萬,什麼WEB框架這麼牛B? 別問它是誰, 它叫tornado。 

 

 

PYTHON可否自學?

固然能夠,什麼均可以自學,前提是你得能學得會,見過N多菜鳥踏上上自學的不歸路,他媽的什麼都能自學的話,還用大學幹什麼?本身在家鱉不就好了?動不動就說PYTHON是個腳本語言,本身看看就不會了,說這話的只可能有兩種人,一種是高手,一種是SB,對於高手來說,他確定已經會其它語言,PYTHON在這種狀況下,自學固然就很容易學會,幾年前我剛接觸PYTHON時,代碼遇到問題,找了個開發的哥們幫調試,哥們幫調了十幾分鍾就搞定了,結果人家之前一句PYTHON代碼也沒寫過,爲何,由於語言都有相通之處,一門掌握好了,其它門本身學學就會了。但對於新手來說,沒任何語言基礎就開始自學,那麼恭喜你,菜鳥們見此文章爲證,從今天開始自學,一年後,你要是能本身作出個軟件來,來找我要一千塊錢。 哈哈,真的。 基本上自學是屬於專業人員乾的事情,就像會一門樂器了,本身學下就可能學會另外一門,但我以前沒音樂基礎,跟着老師都沒把吉它學會。 

 

因此奉勸沒基礎又想學PYTHON的同窗,花點錢去報個班學吧,拿錢換時間,時間是生命,錢沒了可再掙錢,時間過去了就不再會回來,若是你不信邪,非要本身學,那我佩服你的勇氣,不過本身試試就知道了。


知乎上的一個問題:爲何零基礎自學編程者,大多半途而廢?

http://www.zhihu.com/question/21423201 


固然天下沒有絕對的事情,我大天朝牛X的人多了去了,不少人也能過自學編程,最後變成高手了,個人PYTHON也是自學的,可是我能夠說自學過程當中走過了N多坑好麼,好多時候糾結在一個簡單的小問題上好幾天都卡住,當時若是不是由於工做需求,估計早放棄了,這仍是python,就別說其它複雜的語言了,我相信除了少數的大牛以外,多數人不比我聰明到哪去,選擇自學的同鞋們,一路珍重。

 

說了這麼多,只想告訴那些迷茫不知所措該學什麼語言的新手們, 在你還沒學好走路的時候,不要老想着,未來我當上老闆了,我是開寶馬呢?仍是開奔馳呢?先學會騎自行車吧。。。



最後借用國外一位python大牛說過的話, Life is short,you need Python! 人生苦短,我用Python.


老男孩python培訓:python培訓


總是有人私信我問我QQ號,不單一回復了,建了個技術討論羣 IT自動化討論1羣(29215534),有興趣的加入吧,進來罵個人也能夠,呵呵。

相關文章
相關標籤/搜索