题记:
之所要写这篇文章,是因为昨天去国内某大型互联网公司面试,我在抱怨目前的这家公司的人员配置太少很多事情做不了,然后面试官紧接着就问,如果给你配备完整人马,你会怎么分配工作,或者说你打算做什么,有什么规划?还说,公司之所以不再招人进来,是因为我在提招人要求的时候没有提供一个打动公司的规划出来,招人可以但是要讲清楚为什么要招人进来。面对面试官的提问我竟然一时语塞,无言以对。这是一个很好的问题,我被面试官说到点子上了,我努力去思考这个问题,我的回答是:招进来的人先是保障线上的业务,然后去完善监控与解决自动化问题。这个回答好像不是面试官所期望的,这回答太笼统,他想要的是细节,比如说研究某个技术可以解决某个问题然后在部门内推广类的,不过这时我却想不起来有什么技术可以值得去研究,现在想想我之所以没有回答出来,是因为我的那些最初的想法在过去的一年多的时间里已经慢慢的逐个被自己否定,在现实面前阻力太大,我所做的一切老板都不关心,都安于现状追求稳定;这也是我要离开的主要因素,感觉自己快被it界给遗忘了。
纵观运维整个行业最为核心工作内容可以归为三类:
监控
发布
日常维护,问题处理
前两者可以引入自动化运维概念,通过自动化来完成监控和发布工作;
监控系统的构想:
1)完善:在不影响系统性能的情况下尽量完善监控条目;
2)知识库:当告警出来时可以根据错误信息到知识库中查询资料;
3)处理:建立合理处理流程,重大操作审批流程,这块可以引入itil的理念去做;
4)总结:处理过的问题最好总结成文档存入到知识库中,方便以后再遇此问题可以借鉴(铁打的营盘流水的兵)。
拓展研究课题:
1)自动发现:当有新设备接入到监控系统的网络中时,会发现该设备并识别它,然后自动添加监控项;
2)监控agent自动部署:这个课题不是什么新的课题,但是在比较复杂的环境中,自动部署的兼容性会受到严峻的挑战。
发布的构想:
1)流程:俗话说“没有规矩不成方圆”,第一步就要确定发布与审核的流程,由于每家公司的环境不一样所以这个需要适情况而定;
2)自动化:发布时尽量做到自动化,将运维的大部分时间用在解决问题与研究新课题上;
3)总结:统计分析一周的发布量,成功的、失败后回滚的、有问题线上解决的等等;然后找出失败的原因并存入知识库。