经常有人在群里问,运维人员需不需要学开发?需不需要学PYTHON?PYTHON和SHELL有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了。

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

另外,大一点的公司,服务器都上几百,上千,甚至数万台,这种情况下怎样做自动化运维?用SHELL写脚本FOR循环?呵呵,歇了吧,SHELL也就适合简单的系统管理工作。到复杂的自动化任务还得要用专门的开发语言。你可能说了,自动化管理有专门的开源软件\监控也有,直接拿来用下就好了,但是现有的开源软件如Puppet\Saltstack\OpenStack\Zabbix\Nagios 等多为通用的软件,不可能完全适用你公司的所有需求,当你需要做定制、做二次开发的时候,你咋办?找开发部门?开发部门不懂运维的实际业务逻辑,写出来的东西烂烂不能用,我自己也做运维系统,6年运维工作经验,开发出来的第一版照样烂的不行,这还是懂的运维业务逻辑的,让开发人员来做,跑偏可能更多了,这就是为什么我见过很多公司自行开发运维平台,最后都扔那了。

其次,不会运维开发,你就不能自己写运维平台\复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑,如果是这样,那就请不要抱怨你的工资低,你的工作不受**了,话说人家FaceBook一个运维工程师管2万台机器,运维工程师年薪十几万USD,你以为人家是盖的呢?哪个不是身怀绝技,开发运维兼备?

为什么要学PYTHON?

PYTHON第一是个非常牛B的脚本语言, 能满足绝大部分自动化运维的需求,又能做后端C/S架构,又能用WEB框架快速开发出高大上的WEB界面,只有当你自已有能力做出一套运维自动化系统的时候,你的价值才体现出来,你才有资格跟老板谈**,否则,还是老老实实回去装机器吧。

运维开发为什么要用PYTHON?

Good question, 为什么不用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就是稳定的中年男人,稳定\成熟\秃顶,而PYTOHN代表的就是青春, 简洁\快\干净\帅!

C++\C,这个嘛,我只能说,如果你会了PYTHON,又会C的话,那你会更吃香,但是不会C的话,其实也无大碍,基本上做运维的人,搞搞C就是为了来装B的,因为多数情况下你都到不了看系统底层源码的程度, 不过如果你学好了PYTHON之后,还是建议你学习下C++,毕竟相比python这个动态语言来讲,C++的效率还是高很多的,但对新手来讲,不建议做为第一门语言开始学习, 为什么呢?打击自信心。。。。呵呵,你懂的

RUBY,小日本开发的,还不错,风格跟PYTHON有点像,因为ruby onrails出了名,国外用的比较多,国内,放心吧,没戏,PYTHON已经把它的想象空间都占死了。

当然还有新的语言GO,有些搞运维的看见做开发的人员搞GO,也想凑热闹,觉得是未来,我想说,别瞎没事跟风,GO再成功,也不会变成运维开发语言。

有些人觉得PYTHON效率底,说他不能支持多线程,OH,好吧,这个还有点说对了,但是我想问,看我这篇文章的有几个做过搜索引擎开发?有几个做个上亿PV的并发网站开发? 有几个看过LINUX内核源码?如果没有,请别瞎跟着传了,知道PYTHON为什么不支持多线程吗?这句话问错了,其实PYTHON支持多线程,只是不支持多CPU多线程,也就是一个程序spawn出来的多线程只能占用一个CPU,但是为什么呢?噢,因为GIL,GIL是什么东东,请自行补脑。。。但是你非得用多线程吗?你可以用多进程呀,再牛B你还可以用协程呀,这些PYTOHN支持的都很好呀,如果你的程序逻辑不好,搞个多线程也快不起来。我认识一个博士讲过一句话,我觉得不错,他说,程序效率高低,80%都是写程序的人决定了,语言本身就占20%,所以下次有人再说PYTHON效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。这个博士自己用PYTHON写的WEB程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么WEB框架这么牛B? 别问它是谁, 它叫tornado。

PYTHON能否自学?

当然可以,什么都可以自学,前提是你得能学得会,见过N多菜鸟踏上上自学的不归路,他妈的什么都能自学的话,还用大学干什么?自己在家鳖不就行了?动不动就说PYTHON是个脚本语言,自己看看就不会了,说这话的只可能有两种人,一种是高手,一种是SB,对于高手来讲,他肯定已经会其它语言,PYTHON在这种情况下,自学当然就很容易学会,几年前我刚接触PYTHON时,代码遇到问题,找了个开发的哥们帮调试,哥们帮调了十几分钟就搞定了,结果人家以前一句PYTHON代码也没写过,为什么,因为语言都有相通之处,一门掌握好了,其它门自己学学就会了。但对于新手来讲,没任何语言基础就开始自学,那么恭喜你,菜鸟们见此文章为证,从今天开始自学,一年后,你要是能自己做出个软件来,来找我要一千块钱。 哈哈,真的。 基本上自学是属于专业人员干的事情,就像会一门乐器了,自己学下就可能学会另一门,但我之前没音乐基础,跟着老师都没把吉它学会。

所以奉劝没基础又想学PYTHON的同学,花点钱去报个班学吧,拿钱换时间,时间是生命,钱没了可再挣钱,时间过去了就再也不会回来,如果你不信邪,非要自己学,那我佩服你的勇气,不过自己试试就知道了。

知乎上的一个问题:为什么零基础自学编程者,大多半途而废?

http://www.zhihu.com/question/21423201当然天下没有绝对的事情,我大天朝牛X的人多了去了,很多人也能过自学编程,最后变成高手了,我的PYTHON也是自学的,但是我可以说自学过程中走过了N多坑好么,好多时候纠结在一个简单的小问题上好几天都卡住,当时如果不是因为工作需求,估计早放弃了,这还是python,就别说其它复杂的语言了,我相信除了少数的大牛之外,多数人不比我聪明到哪去,选择自学的同鞋们,一路珍重。

说了这么多,只想告诉那些迷茫不知所措该学什么语言的新手们, 在你还没学好走路的时候,不要老想着,将来我当上老板了,我是开宝马呢?还是开奔驰呢?先学会骑自行车吧。。。

最后借用国外一位python大牛说过的话, Life is short,you need Python! 人生苦短,我用Python.

运维学python哪部分_运维新手们,别再问需不需要学PYTHON了相关推荐

  1. 运维学python哪部分_初入运维的小伙伴,别再问需不需要学Python了

    这篇文章来自百度知道(你可以搜索"运维需不需要学Python"),或许有些观点不一定正确,但运维学Python这事毫无疑问是主流了,不信可以到各大招聘网站,看看但凡招聘运维有编程技 ...

  2. 运维学python用不上_运维朋友们,别再问需不需要学 Python 了!

    运维人员需不需要学开发?需不需要学 Python?PythonN 和 Shell 有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必 ...

  3. 二维码简介_二维码基本概念_二维码基本原理

    一.二维码简介_二维码基本概念_二维码基本原理 1.二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Ba ...

  4. jquery二维码生成插件_二维码生成器

    jquery二维码生成插件_二维码生成器 下载地址:jquery生成二维码.rar 转载于:https://www.cnblogs.com/wifi/articles/3176529.html

  5. linux查看python环境_运维笔记linux环境提示python: command not found hello

    场景描述: 新部署的容器环境,终端执行python命令,提示没有该命令. 从报错异常可以看出,可能是python环境未安装. 分析思路: 检查python路径: 方式一:type -a python ...

  6. 运维部门工作总结_运维部技术工作总结

    运维部技术工作总结运维部技术工作总结 转眼间我来到中国电信运维部宽带班工作已经三个月的时间.在这三个月的时间里,自己学习到了很多有关宽带的知识.为了更好地完成工作,总结经验,扬长避短,提高自己的业务技 ...

  7. 运维部门工作总结_运维部年终工作总结范文

    运维部年终工作总结范文 运维, 这里指互联网运维, 通常属于技术部门, 与研发. 测试. 系统管理同为互联网产品技术支撑的 4 大部门, 这个划分在国内和国 外以及大小公司间都会多少有一些不同. 下面 ...

  8. jquery多维对象计算个数_多维尺度分析理论概述

    在工作中常常会遇到这样的情况,有 n 个由多个指标反映的客体,但是反映客体的指标个数是多少不清楚,甚至指标本身是什么也是模糊的,更谈不上直接测量或观察它,仅仅所能知道的是这 n 个客体之间的某种距离( ...

  9. python越学越糊涂_你越努力,编程水平越差!这样学 Python ,更容易成为高手!...

    原标题:你越努力,编程水平越差!这样学 Python ,更容易成为高手! 从事 Python 这些年中,我见过很多 Python 教程和书籍,他们大都这样讲 : 先介绍 Python 的基本语法规则. ...

最新文章

  1. shell实行mysql语句_【Mysql】shell运行mysql的sql语句_MySQL
  2. Scala数组遍历:使用for和foreach
  3. 理解 Glance - 每天5分钟玩转 OpenStack(20)
  4. 霍兰德职业兴趣测试题
  5. bootstrapTable 取消 “正在加载中...”
  6. AI学习笔记(二)图像与视频
  7. catalina.out 日志切割及定时清理
  8. PHP语言中global和$GLOBALS[]的分析(转)
  9. ELK pipeline
  10. 一.Spring boot食用指南:HELLO WORLD
  11. 史上最全SQL基础知识总结(理论+举例)
  12. 数据库时间相减_sql中两个时间类型相减得到的值
  13. foxmail超大附件密码不对的解决办法
  14. selenium模拟刷百度流量源码
  15. 【转】和老外聊天、发邮件常用英语缩写
  16. javascript基础常识问答(三)
  17. 高效人士睡觉前做的10件事
  18. python中文字符截取乱码
  19. 金海佳学C++primer 练习9.41
  20. gravity和layout_gravity的区别(有时使用layout_gravity=center时失效的原因)

热门文章

  1. EXCEL中发现不可读的内容。是否恢复此工作薄的内容?如果信任此工作薄的来源,请单击”是“
  2. 建立自己的机器人手臂-组装
  3. java通过qq邮箱发送_java实现发送QQ邮箱
  4. html扩展调用qq邮箱
  5. 通过Iconfont在线调用项目图标
  6. 荣耀卖掉会有鸿蒙系统吗,华为为什么要把荣耀卖掉 荣耀卖掉之后依然还是那个荣耀吗?...
  7. pip install下载速度太慢
  8. open stack——Nove计算服务
  9. React官网的井字棋游戏
  10. new和delete的使用