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

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

可能有人会告诉你,你需要去懂一门开发语言,其实在现价段,掌握一门开发语言已经成为高级运维工程师的必备计能。不会开发,你就不能充分理解你们系统的业务流程,开发人员是很少关注性能的问题,他们只会把功能开发完成就可以了,那么性能问题就需要运维人员来做。一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?如果是这样的话,那么你活该做背锅侠。

回到咱们的问题:

答案是显而易见的:必须是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有很多的第三方的库已经帮你实现了这个功能,你只需要拿过来直接使用就可以了

原文地址:https://www.cnblogs.com/xiaoyuanquanit/p/11507502.html

时间: 2024-10-13 23:25:21

运维工程师是要学python还是学go那?的相关文章

Linux运维工程师必学必备的8项IT技能

成长一名Linux工程师之后,才知道一路走来,背后的心酸.非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足.如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业.Centos是RHEL的克隆版本,免费使用,二个发行版没有任何区别.成长为一名Linux工程师,只需要掌握以下方面的技能,那日常工作一点问题都没有. 1.扎实的基础 试想如果没有最扎实的基础,如何去查看

运维工程师该干什么学些什么?[致菜鸟]

很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?今日我特来总结总结,希望能帮助即将跨入该行的人形成一个整体的思路.下面红色字体代表所要掌握的LInux免费开源工具. 运维工程师干些什么 总结两句话 1.  保障业务长期稳定运行(如网站服务器.游戏服务器等等). 2.  保障数据安全可靠(如用户名密码.游戏数据.博客文章.交易数据等等). 由这两句话推演运维工程师要学些什么 一.保障业务长期稳定运行 出一点点差错,用户就要投诉了. 1.业务跑在什么上面? 网

免费学桌面工程师、系统工程师、系统运维工程师

零学费入学! 免学费啦! 学高薪计算机技术,做IT行业白领,拿国家承认大专学历! 入学签订终生就业协议,一年学完,毕业全部分配工作! 从零学习计算机,学不会免费再学,直到学会为止! IT白领课程 课程名称 课程内容简介 课时 人数 学费 计算机基础 电脑硬件知识.系统安装.电脑组装.电脑维修.计算机打字.Office 2013 Word, Excel, PPT办公软件应用 160 50人 招 满 为 止 零学费 共 1 年 Windows7/8操作系统企业应用 Windows7的新特征及优势.安

云计算运维工程师怎么学?网管变工程师并不难

如今的Linux非常火,很多人都想参加Linux培训学习Linux开发技能高薪就业,但是对于Linux运维工程师和系统管理员有什么区别?有多少人知道或者了解呢?都知道系统管理员(俗称网管)和Linux运维工程师差距甚远,但是究竟区别在哪儿呢?很多朋友就有些不清楚了. 关于运维工程师百度上的官方解释是: 运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(Site Reliability Engineering).负责维护并确保整个服务的高可用性,同时

要做linux运维工程师的朋友,必须要掌握以下几个工具才行 ...

   本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问题了.linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 .....工具如下: 1.linux系统基础,这

如何快速成为一名Linux运维工程师

作为刚入门的同学,无非视频.书籍.网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完:网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇:书籍从目录来看就非常有条理,看书可以系统化的学习.循序渐进,不会初学者不知道从哪儿开始的感觉.建议选择一本Linux入门书籍,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了,尤其推荐想自学Linux系统的同学买一本<Linu

小白5年奋斗史-如何成为年薪50w的Linux运维工程师

--- 讲师:李学明 --- - 大公司,无所事事,没有激情. - 陆金所,创业公司,平安股份.比较保守, - 饿了么 学而优则仕,中国有个意思的情况是,一个领域做好了,就会去做管理. PPT是11月份做的,到现在终于感到有些起色,不那么失败.转变就是学会分出事情让别人做, 编程语言:python,java,sql,go.go用来编译agent. 运维两件事:1制定标准.2资源分配.发展方向:1.资深运维方向.2.走了够多的路就能转架构师了. php是最好的语言. --- 数据库管理员(Data

详解Linux运维工程师应具备的十大技能

Linux系统如果是学习可以选用Redhat或CentOS,特别是CentOS在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司. 1.Linux系统基础 这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧. 2.网络服务 服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,

【转】 要做linux运维工程师的朋友,必须要掌握以下几个工具才行

      本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. 我就大概列出这几方面,这样入门就基本没问题了. linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 ..... 工具如下: 1.linu