肯定有;
可能大多数同学都泛指的是公司内部运维,那肯定是上的完整的监控平台,但是由于工作的不可控性吧,我近几年一直是接项目运维,既然是接项目,那么就会遇到各种各样的问题;
就拿我们公司来说吧,承接了很多企业的项目,那么后期的运维怎么做呢,我们不可能说每个项目都给人家搭建一套完整的监控平台,单项目也就10几台服务器,单独弄监控平台也是不合理的,客户也无法接受这个成本,那么此时就体现了我们的脚本功底,每个服务都有专属的监控脚本;
可能是我们公司的产品不靠谱,总是会遇到各种各样的问题,比如有些请求处理失败了,那么怎么弄呢?提BUG?提需求?都是没问题的,但是需要的是什么?时间啊~~~从提起-讨论-开发-测试-修改-测试-上线~~~往往一个月就过去了,那么这一个月的时间里,出现问题怎么弄呢?这个时候我们的脚本功底就起到作用了,我们知道怎么处理,直接写脚本干上去就完事儿,虽然这个是过渡阶段,但是这个阶段往往很重要,而且用到的机会还是蛮多的~~~
个人觉得没有任何东西是“没用的”,既然存在,就有其道理,如果你学好了使用python写脚本,其实可以完成很多东西,比如监控、数据处理、业务逻辑分析、接口调用、简单测试、随时随地都可以解决很多问题~~~
答案是肯定的, 做运维很多时候是做重复的工作, 这时候一个好的脚本工具的重要性就体现出来了。当然, Python绝对是一个不错的选择, python直接集成在linux系统里面这一特点也足以说明它非常适合用来做运维。
其实就单从运维这个工作本身的内容来讲,用什么方式去做不是最重要的。初阶的运维工作可能使用shell脚本一般就可以满足日常运维的需求, 然后进阶一点的运维工作就可以使用Python脚本来做, 还有的项目型运维可能会直接使用一些高级语言, 如Java和Golang甚至是C来写一些常用的运维工具了。
大家通常所说的Python运维, 其实是因为shell虽然很灵活, 但是它的扩展性不够, 这时候就需要选择一门开发语言, 为什么大家都选择了Python呢, 因为它语法结构比较干净简单, 上手容易,既灵活又好扩展, 而且整个Python的开源包也都比较完善, 所以后来搞运维的基本都会做Python相关的开发,只是看更加偏重于做什么事情。
其实, 要想把Python脚本和运维相关联起来很容易, 之前写的shell脚本都适合用python重新实现一遍,另外只要在运维过程中的操作会重复多次的, 都应该尝试用编程的方式来进行自动化方式实现, 这个实现的过程初期可以用简单的脚本实现, 后期完全可以用python将整个逻辑封装成一个项目或者直接开发成运维管理系统, 让之前在主机上操作的运维过程可以直接在页面上自动地完成操作。这些过程其实都是可以用Python去做的, 当然都到这个程度了, 就不限于用什么语言了。
从我的知乎转过来的,运维分的类别比较多,例如一般的sa,网管等确实不需要什么开发,工作场景中用shell甚至不懂shell语法,直接当批处理用都可以。但是类似SRE这种类型的运维,不仅会用到py而且还需要其它的语言,技术栈和开发类似。我平时的工作不仅会用到python和shell,而且还会用到js和golang和c++。
使用场景如下:
1.shell:日常工具脚本编写,不多说
2.python,js:技术栈为vue.js+django的运营系统开发和维护,好处是开发效率高。
3.golang,c艹:与业务系统有交互的运营模块开发和维护,以及较在意执行效率的工作,如机器管控平台,agent诸如此类,主要是为了和业务系统的rpc协议兼容,所以用业务系统的框架开发偏运维类的系统
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/6983.html