一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、部门、运维部门部署发布以及长期的运行维护。
运维的职责
对于公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。
大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。
以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。
运维工程师使用的平台、工具
运维工程师使用的运维平台和工具包括:
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
广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。
运维需要的技能和素质
运维以技术为基础,通过技术产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力;
扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
综合利用工具和平台的能力;
运维工作的复杂性对这个岗位的运维工程师们的软素质也提出了要求:
时间管理能力,特别是碎片化时间的处理能力;
沉稳的心态,面对紧急情况时需要处变不惊;
沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;
工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是较高线上权限者,需要谨慎心细;
主动性、执行力,能够主动学习国内的运维技术,并引入到工作中,运维的质量和效率;
运维的行业前景
从行业角度来看,随着中国互联网的高速发展、网站规模越来越来大、架构越来越复杂,对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的运维人才需求量大,而且是越老越值钱。
运维平均薪酬14600元/月
从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构较了解较熟悉的人、越来越得到重视。
运维各地区招聘需求量
互联网运维是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给运维工程师提供了一个很好的个人能力与技术的发展空间。
运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,的运维工程师具备很好的各层面问题的解决能力及方案提供、全局思考的能力等。
运维各经验阶段
由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入、成为这方面的。
当前国内外对运维人才的需求非常迫切,运维工程师的薪资也水涨船高,与研发、等技术部门持平,甚至超出。