技术开发 频道

亲身经历:远离培训机构才能做好运维

  【IT168 评论】运维自动化是2010年开始炒得很热的一个概念,也让很多工程师、用人单位瞎激动了很久,我也跟风学过puppet和python,求职双方也经常在面试时花大量时间谈运维自动化。

  但冷静下来想想,所谓自动化,只是让培训机构赚钱的噱头而已。

  一句话概括运维自动化

  单说“运维自动化”几个字太抽象容易被主观塞进去很多概念,上百科搜索到IT运维自动化的介绍又太详细、大帽子太多。

  如果把运维自动化在一句话说清楚,比较官派的说法就是:“运维自动化就是在企业业务越来越复杂、对IT人员要求越来越高……balabalabla……的前提下,靠人工已经无法满足运维工作的需求,只能靠自动化技术来解决这一问题。”

  如果用比较粗糙的说法就是“活多人少的情况下,运维不想靠堆人力去解决繁琐的问题,只能靠运维自动化来给自己减负。”

  运维自动化理论与现实相悖

  粗看这些理论挺有道理,但仔细分析根本不是这么回事。首先,我们真的忙了吗?

  我认为运维的工作量并没有随着企业需求越来越复杂而变大,就算变大也不是靠自动化能解决的体力活。

  运维自动化是给运维用的,请各位运维想想,我们的日常工作,这些年来有太大变化吗?

  初级运维大部分时间在做上线和监控,高级运维在改结构修bug。对于那些重复性的工作,云计算供应商能比你做的更好,云主机、云监控、云RDS、云存储等等服务都是在给运维减负。

  企业业务需求越来越复杂是真的,具体来说是技术进步企业要求越来越刁钻了。数据库要求主从实时同步,存储不能用NFS要用分布式,前端业务要求无缝切换等等。我是不是谈偏题了,这些东西跟运维自动化有什么关系?你意识到问题就好,我们这些年新增的业务需求,没多少是可以靠运维自动化解决的,要解决这些问题,还要靠我们自己的脑子。

  运维自动化=shell脚本

  其实我们一直在做运维自动化,因为我们会用shell脚本。

  我们可以说只要企业需求有变动,我们就要搭服务、搭监控,做这些事情都要写自动化脚本。当你激动的说到“自动化脚本”的时候,我想问一下,你不会写shell脚本吗?

  搭完某个服务以后,一个有经验有责任心的运维,自然会写好系统优化脚本,复制监控监控模版。如果我们用puppet,用python,最后一样脱不了指定主机名的工作。

  我们完全可以用shell脚本完成各种模拟运维操作的动作,熟练使用shell脚本也是每个运维的必修课,我们有必要为了一个噱头去学习python吗?

  我曾经看过puppet的官方文档,他能管理的资源列出来的有“文件”“属主属组”“挂载”“软件包”“服务”“-exec使用本地shell”,在我看来其实也就是“文件”和“-exec”。

  在Linux shell脚本里,关于运维有这么多命令“cp、scp、nc、ssh、rsync、svn、chmod、chown、service、/etc/init.d/”,这些命令已经够用了。

  我用puppet的时候,只是用他频繁监控几个重要的系统配置文件。上线的工作真正繁琐在要把realserver从LB上摘下来,且需要用人力去判断能不能摘。

  具体摘设备、传新备老代码、重启java容器、回滚代码的工作我都写好脚本了,就这样还因为麻痹大意而出了几次高负载或丢步骤的情况。

  如果能运维自动化的东西,必然能写shell脚本搞定,如果用shell脚本搞不定的东西,“运维自动——挂”。

1
相关文章