运维工程师的主要工作和前景发展

  运维,这里指互联网运维,通常属于技术部门,与研发测试系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。

  运维工程师,集合网络、系统、数据库、开发、安全工作于一身的“复合性人才”。负责维护并确保整个服务高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI.

一、  职责

  无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可7*24H不间断地为用户提供服务。在此之上运维工程师的主要工作职责如下:

  1. 质量:保障并不断提升服务的可用性,确保用户数据安全,提升用户体验。
  2. 效率:用自动化的工具/平台提升软件在研发生命周期中的工程效率。
  3. 成本:通过技术手段优化服务架构、性能调优;通过资源优化组合降低成本、提升ROI。

 

  网络运维工程师的工作目标就是确保网络系统的高效、稳定运行,具体内容如下:
  1.时刻监控运行状况,分析网络运行数据,形成网络健康检测报告。
  2.分析网络运行日志,掌握网络运行规律,发现潜在的网络运行风险。
  3.基于公司业务发展,调试网络设备性能,满足公司业务稳定的需求。
  4.基于业务提升需要,扩大网络架构规模,或重设公司网络的架构。
  5.基于公司项目需求,构思编写技术方案,并且进行技术方案的实施。

 

linux运维工程师的主要工作是:

1.每天登陆系统查看系统运行的负荷如何,有无报错日志或报警日志。

2.操作系统故障排除

依据操作系统故障日志分析出现该报警或报错的原因,从而解决问题,保证操作系统的高可用性。

3.服务器状态确认

服务器上除了跑着操作系统,必然会安装一些应用程序或数据库,运维工程师每天需要查看linux系统上运行着的应用程序或数据库状态是否正常。

4.备份

运维工程师的看家本事,数据库备份和恢复,一般来说只要给数据库制定了备份策略它会自己备份,你只需要监控备份任务是否执行了就可以。

5.服务器调优

这个要求就比较高了,linux随着使用时间的增长,状态会有所下降,运维工程师有能力的可以对操作系统及数据库进行性能调优,保证系统处于一个最佳状态。

一般来说,运维工程师的工作以监控为主,出现问题的时候才会进行处理,平时来说还是很轻松的。

 

二、  工作内容

在软件产品的整个生命周期中运维工程师都需要适时地参与并发挥不同得作用,因此运维工程师的工作内容和方向非常多:

事件管理:目标是在服务出现异常时尽可能快速的恢复服务,从而保障服务的可用性;同时深入分析故障产生的原因,推动并修复服务存在的问题,同时设计并开发相关的预案以确保服务出现故障时可以高效的止损。在这方面主要工作内容有:

问题发现:设计并开发高效的监控平台和告警平台,使用机器学习、大数据分析等方法对系统中的大量监控数据进行汇总分析,以期在系统出现异常的时候可以快速的发现问题和判断故障的影响。

问题处理:设计并开发高效的问题处理平台和工具,在系统出现异常的时候可以快速/自动决策并触发相关止损预案,快速恢复服务。

问题跟踪:通过分析问题发生时系统的各种表现(日志、变更、监控)确定问题发生的根本原因,制定并开发预案工具。

变更管理:以可控的方式,尽可能高效的完成产品功能的迭代的变更工作。在这方面运主要工作内容有:

配置管理:通过配置管理平台(自研、开源)管理服务涉及到的多个模块、多个版本的关系以及配置的准确性。

发布管理:通过构建自动化的平台确保每一次版本变更可以安全可控地发布到生产环境。

容量管理:在服务运行维护阶段,为了确保服务架构部署的合理性同时掌握服务整体的冗余,需要不断评估系统的承载能力,并不断优化之。在这方面主要工作内容有:

容量评估:通过技术手段模拟实际的用户请求,测试整个系统所能承担的最大吞吐;通过建立容量评估模型分析压力测试过程中的数据以评估整个服务的容量。

容量优化:基于容量评估数据,判断系统的瓶颈并提供容量优化的解决方案。比如通过调整系统参数、优化服务部署架构等方法来高效的提升系统容量。

架构优化:为了支持产品的不断迭代,需要不断的进行架构优化调整。以确保整个产品能够在功能不断丰富和复杂的条件下,同时保持高可用性。

三、  能力要求

运维以技术为基础,通过技术保障产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力:

  • 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
  • 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
  • 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
  • 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
  • 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
  • 综合利用工具和平台的能力;

运维工作的复杂性对这个岗位的运维工程师们的软素质也提出了要求:

  • 时间管理能力,特别是碎片化时间的处理能力;
  • 沉稳的心态,面对紧急情况时需要处变不惊;
  • 沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;
  • 工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是最高线上权限者,需要谨慎心细;

 

基础技能:

  1. 精通shell/Python/Perl等1至2种编程语言
  2. 熟练掌握常用数据结构和算法,并能灵活运用
  3. 熟悉网络基础知识
  4. 深入理解Linux操作系统

 

加分技能:

  1. 熟悉开源的监控平台工具,比如:GangliaNagios
  2. 熟练掌握Shell脚本熟悉AwkSed等基础工具
  3. 熟悉分布式计算或者存储系统,比如Hadoop/Hbase/Storm
  4. 熟悉机器学习原理能付诸实践者更佳
  5. 熟悉TCP/IP、HTTP网络协议,精通socket网络编程

 

四、  运维工程师使用的运维平台和工具

  • Web服务器:apache、tomcat、nginx、lighttpd
  • 监控:nagios、ganglia、cacti、zabbix
  • 自动部署:ansible、sshpt、salt
  • 配置管理:puppet、cfengine
  • 负载均衡:lvs、haproxy、nginx
  • 传输工具:scribe、flume
  • 备份工具:rsync、wget
  • 数据库:mysql、oracle、sqlserver
  • 分布式平台:hdfs、mapreduce、spark、storm、hive
  • 分布式数据库:hbase、cassandra、redis、MongoDB
  • 容器:lxc、docker
  • 虚拟化:openstack、xen、kvm
  • 安全:kerberos、selinux、acl、iptables
  • 问题追查:netstat、top、tcpdump、last

广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。

五、  运维工程师的待遇

关于运维工程师的工资待遇问题,根据曾经做过或现在在做运维工程师工作的人员的说法看:运维的工资上不封顶,工资是与自身的能力和实力相关,并没有具体的数额,同时也和地区有关,还有经验不一样,待遇也就不一样了。

根据相关数据显示,运维工程师的工资大多是在4500到8000之间,如果你的能力很强又有很多工作经验的话,待遇也能够达到10000到15000之间。

 

下面以上海地区的运维工程师的招聘信息为例,看看他们的工资待遇吧。

 

六、  职业发展

运维人员的要求特别严苛,因为运维人员针对不同的问题,需要不断的补充扩大自己的知识和研究范畴。

在初级阶段,优秀运维人员会体现出格外出众的主动性和责任心,面对陌生的业务会主动学习和拓展自己对业务对认识和相应的知识范畴,以能够足够的胜任业务的独立维护。

在逐步的发展阶段中,注重总结反省的工程师会逐渐成长为高阶运维人员,通常他们会有比较体系化的服务运维理解。也有一部分工程师由于出色的项目管理规划能力,逐渐成为项目经理。

再进一步的发展,高阶的运维人员对于产品的理解将非常的透彻,因而在这种情况下,高阶运维人员甚至可以成为产品的产品经理、产品研发的咨询顾问,在产品功能的设计与开发中起到至关重要的角色。

七、  前景

  • 从行业角度来看,随着中国互联网的高速发展、网站规模越来越来大、架构越来越复杂,对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱。
  • 从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。
  • 互联网运维是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给运维工程师提供了一个很好的个人能力与技术的发展空间。
  • 运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,优秀的运维工程师具备很好的各层面问题的解决能力及方案提供、全局思考的能力等。
  • 由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。
  • 当前国内外对运维人才的需求非常迫切,运维工程师的薪资也水涨船高,与研发、测试等技术部门持平,甚至超出。

运维所涉及的知识面、专业点非常广,对从业人员素质也要求非常高,运维工作在大型互联网公司也越来越重要。随着互联网的高速发展、网站规模越来越大、架构越来越复杂,对网站运维工程师的需求也会越来越急迫,特别是对有经验的运维人才需求量大,而且是越老越值钱。

 

 

 

猜你喜欢

转载自www.cnblogs.com/cml21/p/10005496.html