运维工程师对一个公司来说是非常重要的岗位,它本身所覆盖的运维职责就很重要,所以,运维对其它关联工种必须非常了解熟悉:网络、系统、系统开发、存储,安全,DB等。作为一个运维工程师我认为是集合网络、系统、开发工作于一身的“复合型人才”,就如有些公司把一些合同采购都纳入了运维职责范围,还有如IDC网络规划也纳入运维职责。

一.运维工程师岗位职责

1、参与设计、审核、优化公司IT系统以及各应用系统的体系架构;
2、全面负责公司运维项目的系统升级、扩容需求与资源落实,配合开发需求,测试、调整运维平台;
3、负责网络以及服务器的网络设置、维护和优化、网络的安全监控、系统性能管理和优化、网络性能管理和优化;
4、建立面向开发部门,业务部门的服务流程和服务标准;
5、负责IT运维相关流程的规划、设计、推行、实施和持续改进;
6、响应及解决客户的技术要求、疑问以及系统使用过程中遇到的各种问题;
7、负责日常网络及各子系统管理维护。
8、负责设计并部署相关应用平台,并提出平台的实施、运行报告。
9、负责配合开发搭建测试平台,协助开发设计、推行、实施和持续改进。
10、负责相关故障、疑难问题排查处理,编制汇总故障、问题,定期提交汇总报告。
11、负责网络监控和应急反应,以确保网络系统有7*24小时的持续运作能力。
12、负责日常系统维护,及监控,提供IT软硬件方面的服务和支持,保证系统的稳定。
13、负责服务过程中问题现象和处理方案的收集撰写,形成知识库,并对知识库进行维护更新;
14、及时反馈技术处理过程中的异常情况,及时向部门负责人、服务开发PM、客户经理等相关人员报警;同时,主动协调资源推动问题解决;
15、定期对所有服务问题进行分析,并对服务效率有影响的问题提供反馈意见,提升服务支持团队专业度;

二. 怎样才算是一个合格的运维工程师

1、保证服务达到要求的线上标准,如99.9%;保证线上稳定,这是运维工程师的基本责职所在。
2、不断的提升应用的可靠性与健壮性、性能优化、安全提升;这方面非常考验主动性和创新思维。
3、网站各层面监控、统计的覆盖度,软件、硬件、运行状态,能监控的都需要监控统计,避免监控死角、并能实时了解应用的运转情况。
4、通过创新思维解决运维效率问题;目前各公司大部份运维主要工作还是依赖人工操作干预,需要尽可能的解放双手。
5、运维知识的积累与沉淀、文档的完备性,运维是一个经验性非常强的岗位,好的经验与陷阱都需积累下来,避免重复性范错。
6、计划性和执行力;工作有计划,计划后想法设法达到目标,不找借口。
7、自动化运维;能对日常机械化工作进行提炼、设计并开发成工具、系统,能让系统自动完成的尽量依靠系统;让大家更多的时间用于思考、创新思维、做自已喜欢的事情。
以上只是技术上的一些层面,当然个人意识也是很重要的。

三.运维管理注意事项

1、配置管理

(1)it资产配置管理:对it资产生命周期进行管理,包括分类统计、预购、选购审核、转移审核、报废审核,保证配置管理正确率达标;
(2)建设案例库:累积和提炼工程师的事件处理经验制作成案例,并持续丰富运维案例库供查询,案例覆盖已知事件的比率达标,不断提高运维工程师工作效率;
(3)it系统配置信息管理:定期更新网络及应用系统描述信息及技术支持信息配置,保证最新;将配置文档上传至服务器端,方便团队其他运维人员进行查看和操作。

2、监控

主要包括故障监控和性能、流量、负载等状态监控,这些监控关系到集群的健康运行,及潜在问题的及时发现与干预;
(1)、服务故障、状态监控:主要是对服务器自身、上层应用、关联服务数据交互监控;例如针对前端web server,我们就可以有很多种类型的监控,像zabbix,nagios,cacti等监控程序。
(2)、其它就是集群状态类的监控或统计,为我们合理管理调优集群提供数据参考、包括服务瓶颈、性能问题、异常流量、***等问题。

3、故障管理

(1)、硬件故障问题;对于成百上千或上万机器的N多集群,服务器死机、硬件故障概率是非常大的,几乎每时每刻都有服务硬件问题,死机、硬盘损坏、电源、内存、交换机。针对这种情况,我们在设计网站架构时需要充分考虑到这些问题,并将其视为常态;更多的依靠应用的冗余机制来规避这种风险,给系统工程师足够宽裕的处理时间。(如google不是号称同时死800台机器,服务不会受到任何影响吗);这就是考验运维工程师及网站架构师功能的地方了,好的设计能达到google所描述自恢复能力,如gfs,糟糕的设计那就是一台服务器的死机可能会造成大面积服务的连锁故障反映,直接对用户拒绝响应。
(2)、应用故障问题;可能是某一bug被触发、或某一性能阀值被超越、***等情况不一而定,但重要的一点,是要有对这些问题的预防性措施,不能想当然,它不会出问题,如真出问题了,如何应对?这需要运维工程师平时做足功夫,包括应急响应速度、故障处理的科学性、备用方案的有效等。

4、问题管理

对事件进行统计分析,找出疑难、重复发生的事件,纳入问题管理流程,分析问题产生的根本原因,确定可能解决的方案,需要修改网络或应用系统配置时提交变更申请触发变更管理流程。

5、安全管理

(1)、操作人员随时监控中心设备运行状况,发现异常情况应立即按照应急预案规程进行操作,并及时上报和详细记录。
(2)、未经批准,不得在机房设备上随意编写、修改、更换各类软件系统及更改设备参数配置;
(3)、服务器系统的维护、增删、配置的更改,必须按规定详细记入相关记录,并对各类记录和档案整理存档。
(4)、机房工作人员应恪守保密制度,不得擅自泄露信息资料与数据。
(5)、严禁在机房计算机设备上做与工作无关的事情(如聊天、玩游戏),对外来存储设备(如U盘、移动硬盘等),做到先杀病毒后使用。
(6)、机房严禁乱拉接电源,应不定期对机房内设置的消防器材、烟雾报警、恒温设备进行检查,保障机房安全。

6、自动化运维

自动化:简而言之,就是将我们日常手动进行的一些工作通过工具,系统自动来完成,解放我们的双手及枯燥的重复性劳动,例如:没有工具前,我们安装系统需要一台一台裸机安装,如2000台,可能需要10人/10天,搞烂N张光盘,人力成本更大,而现在通过自动化工具,只需几个简单命令就能搞定、还有如机器人类程序,自动完成以往每天人工干预的工作,使其自动完成、汇报结果,并具备一定的专家系统能力,能做一些简单的是/非判断、优化选择等,这些好处非常明显不再多说。应该说,自动化运维是运维工程师职业化的一个追求,利已利公,虽然这是一个异常艰巨的任务:不断变更的业务、不规范化的应用设计、开发模式、网络架构变更、IDC变更、规范变动等因素,都可能会对现有自动化系统产生影响,所以需要模块化、接口化、变因参数化等因此,自动化相关工作,是运维工程师的核心重点工作之一,也是价值的体现。

四、总结

综上所述,做一个好的运维工程师,除了具备良好的综合技能水平,还要有一个负责任的工作态度,这也是优秀运维工程师具备的素质。因为对于运维工程师而言,每一次故障的发生都不是小事,很可能会影响公司线上业务的稳定性,甚至直接导致公司的经济损失,所以我认为对待工作中发生的故障以及事件要秉着一个“小事件,大处理”的原则,将发生的故障扼杀到摇篮里,慢慢地积累故障处理经验,这样当真正的大事件来临时,我们可以采取有效的措施及时应对。除了处理好发生的故障事件,我觉得运维工程师还应具备可预见性,故障随时可能发生,如何防患于未然,这将是对我们做好运维工作的一个考验。古人云:“不积跬步无以至千里,不积小流无以成江海”运维之路就是由一次次故障事件中拼接出来的,作为其中的一份子,任重而道远!