我之前在知乎上面回答了别人的一个问题,问题是什么我不怎么记得了,反倒是我的回答应该对很多人有帮助,我就自己留了下来。当然,这只是我的思想,而且我觉得这也只符合大部分情况。还是有少数情况不符合我的说法。我看还是有很多做运维的朋友不明白运维和python的关系,所以我还是把这个回答放到了blog上面。希望对做运维的朋友有所帮助
说起来我也是算是入门很深的op了,我的blog地址:http://itcys.top,不知道现在说是不是迟了,如果迟了的话那就算给后面到来的人一个我的看法。 op,也就是运维,和python关系很深,我相信很多运维刚入门的朋友都觉得python高大上,然后就边学运维边学python,在这里我来梳理一下
运维 和 运维开发 是两个方向,运维是运维,运维开发,说白了就是开发,那运维为什么和python相关性大呢?因为运维在做到一定程度,开源工具肯定是满足不了公司需求的。这个时候就的运维需要python了,而很多时候,像那些小公司,也在招聘简历上面写着需要会python,我说的小公司是针对那种开源软件就能完全满足的公司,根本就不需要什么自动化运维平台,也不需要针对现有的开源产品做二次开发,招一个会python的运维过来,除了多帮你们公司写几个后面来的运维维护不了python脚本,其他的还能干啥呢?而对运维来说,先会基础服务,然后就是我blog里面介绍的那些技术,等我blog里面的知识都会了的时候,差不多也能算是一个中高级运维了,这个时候才到面临开源软件实现不了的问题的时候。你一个初级运维,那么多开源软件你还不会,你学个python顶个毛用啊。当然我指的是运维路线,并不指运维开发路线。当你开源软件都会了,然后遇到了你解决不了的问题。这个时候才是需要你使用python解决的时候,作个比喻,如果你想做CEO。而你现在是普通员工,那么你现在需要做的不是看《CEO法制100条》(瞎扯的),而是《如何成为一个好员工》。如果这样你还不能理解,那很简单。等你明确知道你学了python的应用场景了(这个时候估计你也是一个中高运维了),那么你就可以着手学python了。
为什么要将运维和python学习分开呢?
1.初中级运维是用不到python的,也就是说你学了没经验拿,相信大家都非常清楚。怎么样更快更好的学一个知识?那就是实践,你用不到python,实践不了,这个时候反倒不如钻研shell(当然shell包括awk,sed,grep等。),对于很多内行人来说,shell水平才是区分初中高运维的分水岭,python在中级阶段算锦上添花,在初级阶段……那我就不描叙了。
2.用全部精力去钻研一个点,运维这块的内容真的很多,单独只钻研运维爬到高级运维都不知道要多久,更不要说拿出很大部分精力去做对现阶段无用功的python了。
当然python(或者其他语言,py对数据在数据处理上面比较强大)对于高级运维来说是必须具备的能力,你做到了高级运维,如果在小公司,那妥妥的可以担任架构师或者运维总监(经理,管理,各种各样的头衔都有),但是你要是进入大公司,做运维总监就必须得把开发和运维结合起来
就像蘑菇街运维经理分享的这个经验来看,其中大部分我都能看懂,但是还是有一些是必须有一定开发经验才能对其很熟悉的内容我是懵懵懂懂的。而且像自动化运维框架,自行开发的监控程序的监控点,性能指标等等。你不会开发你确定你能把握住?
重要的东西用图来展示,虽然说这个图不是我画的。
上面这幅图我就不做介绍了,我对其了解也不深。你认为你如果就会运维,没有深厚的开发经验,你能做到上面这幅图所展示的实现?系统架构相对来说总是那么几套。软件架构才是最根本的。
想到哪写哪,排版渣,如果想吸纳,请自行总结。