运维工程师是要学python仍是学go那?

在咱们的认知中,运维工程师就是一个背锅侠,那么我们怎么样来避免作背锅侠那?python

可能有人会告诉你,你须要去懂一门开发语言,其实在现价段,掌握一门开发语言已经成为高级运维工程师的必备计能。不会开发,你就不能充分理解大家系统的业务流程,开发人员是不多关注性能的问题,他们只会把功能开发完成就能够了,那么性能问题就须要运维人员来作。一个业务上线了,致使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++的效率仍是高不少的,但对新手来说,不建议作为第一门语言开始学习,为何呢?打击自信心…呵呵,你懂的spa

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有不少的第三方的库已经帮你实现了这个功能,你只须要拿过来直接使用就能够了

相关文章
相关标签/搜索