如何成为一名合格的运维工程师——采访运维南非蚂蚁

2021-11-12 00:00:00 自己的 技术 环境 蚂蚁 南非


采访对象:高俊峰(南非蚂蚁)
系统管理员、系统架构师、DBA和技术顾问,从事Linux+Oracle服务器系统的运维和管理多年,在系统管理、故障诊断与排除、性能调优、集群和虚拟化等方面积累了大量的实战经验。


CU社区:
hi,高总,您好,很高兴这次能采访到您,运维版块的网友应该比较熟悉您了,经常看到您在运维版块发帖,回答网友的疑问,不过首先还是先给CU社区的网友打声招呼,简单介绍下自己嘛。

南非蚂蚁:
大家好,我是高俊峰,在网上我经常以南非蚂蚁这个昵称跟大家交流,我主要从事系统管理,web架构设计,数据库管理方面的工作,对Linux和开源运维有些认识,曾出版Linux入门书籍《循序渐进Linux》和运维实战书籍《高性能Linux服务器构建实战》,今天很高兴能在CU跟大家面对面的交流!

CU社区:
高总从事Linux运维已经多年,非常想知道在高总眼里一名合格的运维工程师是如何定义的?

南非蚂蚁:
一名合格的运维工程师,要具备两个方面的能力,分别是:
个人素质方面:
1:沟通能力、团队协作
2:主动性、执行力、精力旺盛、抗压能力强
3:工作中胆大心细、不走寻常路
4:逻辑思维能力要强,为人谦和
5:有探索创新精神
技术方面:
1、开发能力,这个很重要,因为运维工具都需要自已开发,开发语言:c/c++(必备其中之一)、perl、python、php等、shell(awk,sed,expect….等),需要有过实际开发经验,否则工作会非常痛苦。
2、应用方面需要了解:操作系统(主要是linux、bsd)、webserver相关 (nginx,apahe,php,lighttpd)、数据库(mysql,oralce),还有类似系统优化,集群方面的东西。
3、网络、安全,存储等需要相当了解。
在这里我把个人素质方面放到了位,是有一定含义的,因为从长远的职业发展来说,个人素质方面决定了一个人的职业路线和发展前景。 技术方面虽然也是重点,但是就目前国内环境来讲,技术当道还需要走很远的路。

CU社区:
现在运维安全越来越紧迫,高总是如何带领团队做好运维监控和安全防范措施的?

南非蚂蚁:
运维安全是个庞大的话题,涉及到网络设备、安全设备、机房环境、主机系统、数据库系统、应用系统等,对于这些软、硬件的监控是保证运维安全的重要工作,在运维监控方面,我们有一套安全管理流程和规章制度,在运维监控部署上,我们以nagios和cacti为基础二次开发了一套功能完备的监控软件,支持集中式和分布式相结合的部署方式,在数据采集方面,可以支持分布式主动轮询或被动接受的方式采集数据,我们的数据采集能够支持秒级单位的采样周期,后通过web界面展示物理拓扑结构,并通过物理拓扑结构提供全网的状态信息,后通过颜色变化表示出来,在软件或者硬件出现故障时,可以迅速发现网络故障点的位置,从而保证运维安全。在故障或者风险出现时,我们有多样化的响应与执行方式,常用的有声音、短信、E-mail等多种方式进行告警提示,同时结合监控系统强大的事件分析能力,迅速定位问题进而解决问题。
总而言之,对于企业安全运维管理来说,三分技术,七分管理。建立一套完善的安全管理规章制度是很有必要的。

CU社区:
在从事运维工作中,有没有遇到过工作中的瓶颈?是否走过弯路?跟大家分享下经验和教训。

南非蚂蚁:
弯路是肯定走过的,在我刚接手运维团队的时候,无论是运维管理制度还是监控软件等都处于不健全或者瘫痪的状态,众多的开源软件无法实现因地制宜,有些应用构架根本不适合我们的环境,但是仍然再用,进而导致应用系统性能低下,同时在应用出现故障时,监控软件没有统一接口,数据收集不准确,不完善,报警手段不及时,导致故障很难及时发现,故障点很难定位,为此不知道钻了多少次机房,在机房熬过了一个又一个不眠之夜。
经过多年的运维,我认为,要带好一个运维团队,必须要做好下面几个方面工作。
1:定制一套适合自己环境的运维管理流程和制度,例如定期巡查制度,故障抢救制度,责任到人制度等。
2:有一个属于自己的运维监控软件,监控软件很多,适合自己的才是好的,不要盲目追求功能,如果无法满足自己的需求,好进行二次开发。
3:建立一个完备的监控软件报警体系,软、硬件出现故障要在时间发现,进而迅速解决问题,不然只能钻机房熬夜了。

CU社区:
一个出色的运维,不仅仅需要了解掌握架构上所需要的技术知识,还需要在实际生产环境中写出的适合业务的工具来提高效率,减轻我们自己的压力。对于自动化运维这一块,不知高总有什么经验跟大家分享吗?对集群和架构这方面是否也有比较好的经验分享给大家?

南非蚂蚁:
充分利用现有的开源技术,结合自己的实际应用环境,进行监控软件的二次开发和整合,是我们运维团队的坚持的一个准则,在自动化运维方面,我们经常使用的工具有自动安装工具Kickstart、Cobbler等,配置管理类的有Puppet,目前正在将这些工具整合进我们开发的监控系统中,终实现自动安装、自动配置、自动报警的联动系统。
对于应用系统的集群构架,我们基本都是利用开源软件进行整合实现的,我们使用比较多的构架有keepalived+lvs、HAproxy+keepalived、Nginx+Keepalived等方案或者组合方案。其实这些方案的组合已经能够满足我们大部分的集群应用需求。所以做二次开发的很少。

CU社区:
在招聘linux运维工程师的时候,你关注的是他们的那些素质?在团队成员技术等各方面日益成熟的时候,您又是如何留住这些人才的?

南非蚂蚁:
对于运维人员,我更注重的不是技术本身,而是沟通能力,做事方式,当然技术也是衡量运维人员的标准,但是我认为仅占30%。现在做任何事情,沟通能力都显得非常重要,在一个运维团队中,及时、准确的沟通,不但可以节省很多时间和成本, 而且也是留着人才的关键。
根据运维人员的不同性格,让他们在擅长的领域发挥自己的优势,这是我的一个原则,有些运维人员性格外向,喜欢沟通交流,那么就让他做相关的协调和管理工作,而有些运维人员更喜欢细心的钻研技术,那么我们就给他提供学习空间,提供实践环境,让他成为这个领域的专家。

CU社区:
上次咱们的数据库大会我们有个议题是35岁后的技术人生,都说技术人35岁是个坎,那么对于您,对于IT运维这个职业,您对35岁之后的技术人生有什么想法?

南非蚂蚁:
对于技术人员来说,实时的转型是很有必要的,但是不能一概而论,是否转型,转型的方向要结合自己的实际情况而定。
5年前你是个程序员,如果你醉心技术,而现实生活没有太大压力的话,那么现在你可以继续深造做个技术总监;如果你厌倦了程序员生活,并且自己的沟通和协调能力还可以,那么你也可以尝试转型技术管理;如果你有很强的沟通能力,那么转型销售领域也未尝不可。
我认为35岁不是技术的坎,而是一个内心的坎,结合自己实际,结合公司的应用环境,实时而变,才能在技术的领域游刃有余。

相关文章