运维人员必选的第一门开发语言--python

概述

今天闲聊下为什么我比较建议运维人员去学python...

运维人员必选的第一门开发语言--python


建议运维一定要会开发

现阶段,掌握一门开发语言已经成为高级运维工程师的必备技能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样怎么体现你的价值?

另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用Shell写脚本for循环?Shell也就适合简单的系统管理工作。

到复杂的自动化任务还得要用专门的开发语言。可能自动化管理有专门的开源软件监控也有,直接拿来用下就好了,但是现有的开源软件如 Puppet、Saltstack、OpenStack、Zabbix、Nagios等多为通用的软件,不可能完全适用公司的所有需求,当需要做定制、做二次开发的时候,你怎么办?

最后一点,不会运维开发,你就不能自己写运维平台复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,这样怎么做大佬,人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,哪个不是身怀绝技,开发运维兼备?


为什么要学Python?

运维人员必选的第一门开发语言--python

开发语言那么多种,为什么比较建议大家去学python呢?

首先Python是个非常牛B的脚本语言,能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的Web界面,所以只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,才能自己去选公司,而不是公司来选你...

记得一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说Python效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用Python写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁,它叫tornado。


Python自学?

从开始接触python以来,我体验过阅读书籍,学习MOOC,查阅文档,谷歌搜索,逛编程社区。现在有时也有在学习python中,走了很多的弯路。成功的道路各有不同,失败的地方却是种种。

运维人员必选的第一门开发语言--python

如果想要自学的朋友,学习是一个长期和坚持的过程。既然决定学习,可以考虑每天花1-2个小时的时间去学习Python,周末的话投入4小时左右。

1.第一个周期:了解

主要系统的了解下Python,整理下Python到底可以做哪些事。

整理下比较有用的学习资料,博客,社区,网站等,方便自己的学习。

2.第二个周期:基础

搭建环境,学习语法,并能初步的习惯Python,使用Python

3.第三个周期:实战

利用Python去开发一些小工具,由小到大,同时也记录下学Python的过程,作为自己的积累。


虽然学习是件痛苦的事情,但付出总是有回报的,说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们,在你还没学好走路的时候,不要老想着将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧!

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

运维人员必选的第一门开发语言--python


分享到:


相關文章: