前段时间参加了EGO的高效运维专场,跟几个IT行业的技术大牛学习了运维的未来和发展方向。下面分享的内容,都是一些结合我自己工作的会后感吧。
来自触控的萧田国分享了他认为的几个运维的阶段:
手动命令处理
顾名思义,就是自己敲命令解决了。
利用各种脚本处理
这个阶段在我刚工作时候,还是高大上的。那时各种开源工具还没有这么多,ansible、puppet这些还没出现,能写个shell、python或者perl就代表能高收入了。
运维自动化平台处理
这个阶段也是大部分IT公司处于的阶段,不过做的好的也不多。比如我上家公司,平台挺多但是都脱节。资产只处理资产,监控只处理监控,部署只处理部署。没有说能够把所有信息统一归类的,比如当不部署某个应用时,自动将此应用涉及的监控需求部署上。
自动化平台的智能化
这个阶段是运维未来的发展方向了,它比上一阶段多的最主要是智能化。那些算智能化?故障隔离,智能归类报警等等都算。当应用平台有故障了,自动实现故障部分业务的迁移,自动对故障进行评级分析后报警。
我自己反思了下,我公司的现在处于脚本处理和运维自动化之间。由于我们目前也处于平台比较小,每个业务的需求不统一。所以,多数简单业务都是自己手动写脚本处理,而且脚本的复用率还不高。出了常规的监控算是有个统一的监控平台,方便统一管理和部署,其他的业务管理还是十分混乱的。最典型的就是我们没有自己的资产统计平台,现在服务器都是用的云服务器,但是账号信息不统一,每个人都不知道我们总计有多少机器。以及,这些机器里面那些是由线上应用的;那些没有线上也用只是作于测试的;又有那些只是临时测试,当不用时需要将其关闭的。
上面问题反思完了,下面想想怎么解决:
首先要做的是将所有业务分门别类,然后能做到同类业务的自动部署。
根据自己业务在云服务平台定制系统镜像,将一些基础业务(如:FreeSWITCH)包都加入里面。
研究测试平台所需的基础环境,实现快速部署测试环境。尽量做到随时使用,随时启动。这样即节约成本也缩小了管理资产的成本。
说完了平台,说说人为因素。我们现在公司平台人员少,所以也没有繁琐的流程以及负责的人际关系。但是也没有具体的权限管理,之前就由出现过疏忽导致有个内部的测试机被攻击。所以流程不必要,但是规范的操作还是要的。比如统一设置密码不能设置为弱密码,“123456”这种绝对不行。除了这些,还有root权限不能随便用。这里说下当天腾讯的运营管理总监刘栖铜分享的一个内部的培训:在腾讯内部一个运维人员没有过培训期,是不能单独自己登陆服务器进行维护。当度过培训期,会得到一个上岗证才有权限自己独立处理问题。但是,这个证像驾照一样,是有分数的。每次操作失误造成故障,会根据故障等级扣分相应的分数。当一年的分数被扣为零后,将重新培训。当然我们是没有这个资源和人力去做这些,但是我们可以做到对权限等级进行划分。常规操作都不要使用root,避免出现 rm -rf /
这样的低级失误。