運維工程師是要學python還是學go那?


在我們的認知中,運維工程師就是一個背鍋俠,那么咱們怎么樣來避免做背鍋俠那?

可能有人會告訴你,你需要去懂一門開發語言,其實在現價段,掌握一門開發語言已經成為高級運維工程師的必備計能。不會開發,你就不能充分理解你們系統的業務流程,開發人員是很少關注性能的問題,他們只會把功能開發完成就可以了,那么性能問題就需要運維人員來做。一個業務上線了,導致CPU使用過高,內存占用過大,如果你不會開發,你可能只能查到進程級別,也就是哪個進程占用這么多,然后呢?然后就交給開發人員處理了,這樣咋體現你的價值?如果是這樣的話,那么你活該做背鍋俠。

回到咱們的問題:

運維工程師是要學python還是學go那?

答案是顯而易見的:必須是python,那么為什么是python那?為什么不用PHP,JAVA, C++,RUBY,這里我只能說,仁者見仁智者見智, 如果你碰巧已經掌握了除Python之外的其它語言,那你愛用啥用啥,如果你是一個連SHELL都還沒寫明白的新手,想學個語言的話,請用Python,為什么呢?

首先,PHP是跟Python比的最多的,其實他倆根本就不用比,為什么呢?兩個語言適用性不同,PHP主要適用於Web開發,可以迅速的做出中小型,輕量級的WEB網站,但后端嘛,基本還是要借助其它語言,借助什么語言呢?Shell?Python?呵呵。而Python呢,是個綜合語言,前后端都可以,單拿出來比Web,也一點不比PHP差,但為什么Web方向上PHP比Python要火?

先入為主嘛,PHP 90年代誕生就是做Web的,Python2000年后才出現Web框架,但論優秀程度上,Python的Web框架基本上出其無左,至少是跟PHP比。

那JAVA呢?好吧,一個臃腫、中庸、豪無新意的語言,還是老老實實用它來做ERP吧,搞個運維小平台,用JAVA真心沒啥必要,在我看來,JAVA就是穩定的中年男人,穩定、成熟、禿頂,而Python代表的就是青春,簡潔、快、干凈、帥!

C++/C,這個嘛,我只能說,如果你會了Python,又會C的話,那你會更吃香,但是不會C的話,其實也無大礙,基本上做運維的人,搞搞C就是為了來裝B的,因為多數情況下你都到不了看系統底層源碼的程度, 不過如果你學好了Python之后,還是建議你學習下C++,畢竟相比Python這個動態語言來講,C++的效率還是高很多的,但對新手來講,不建議做為第一門語言開始學習,為什么呢?打擊自信心…呵呵,你懂的

Ruby,小日本開發的,還不錯,風格跟Python有點像,因為Ruby onrails出了名,國外用的比較多,國內,放心吧,沒戲,Python已經把它的想象空間都占死了。

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

有些人覺得Python效率低,說他不能支持多線程,OH,好吧,這個還有點說對了

但是你知道PYTHON為什么不支持多線程嗎?其實Python支持多線程,只是不支持多CPU多線程,也就是一個程序spawn出來的多線程只能占用一個CPU,但是為什么呢?噢,因為GIL,GIL是什么東東,請自行補腦。。。但是你非得用多線程嗎?你可以用多進程呀,再牛B你還可以用協程呀,這些Python支持的都很好呀,如果你的程序邏輯不好,搞個多線程也快不起來。

那如果說python效率低,那么為什么這么多的軟件都在用python開發那?運維同學們所熟知的軟件,如ansible、saltstack、openstack哪一個不是python開發的?你能說這些軟件效率都很差嗎?

這個時候可能就會有人說了:GO的效率高,這點我不得不承認,GO的效率高。那么我想問問GO有這么多成熟的第三方的庫讓你來調用嗎?你當然可以使用GO來操作zabbix,那不好意思,你可能需要自己去寫request請求了,而python有很多的第三方的庫已經幫你實現了這個功能,你只需要拿過來直接使用就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM