Linux培训
达内IT学院
400-111-8989
今天小编要跟大家分享的文章是关于什么是运维?运维工程师的职业发展方向有哪些?关于运维这个词相信大家都听说过。那么你是否对它有所了解呢?你知道什么是运维吗?你知道运维工程师的职业发展方向有哪些吗?下面让我们一起来看一看吧~
一、运维
运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。
一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。
二、运维的职责
对于初创公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。
三、运维工程师使用的平台、工具
运维工程师使用的运维平台和工具包括:
§ 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
广义上所有开源的软件都是运维工程师会使用到的平台和工具,同时也包括运维各个技术方向上自行研发的各类平台。
四、产品生命周期维度
运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期,各个阶段的职责包括:
1、产品发布前
这个阶段运维工程师的职责是参与设计并把有关运维准入,主要包括:
(1) 产品的业务熟悉;
(2) 产品架构设计的合理性评估,包括是否存在单点,是否可容错,是否有强耦合等,同时需要提供产品设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求;
(3) 资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把相关产品对资源预算申请的合理性,控制服务成本;
(4) 资源就位,将申请的服务器及基础环境/域名准备就位。
2、产品发布
这个阶段运维工程师负责发布的具体工作,将具体的软件和系统/硬件资源整合形成产品并对外提供服务。
对于已在线服务的更新也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成产品的升级。对于大型复杂的变更也存在中止服务部署完成后再重新提供服务的情况,但这种情况需要运维工程师通过尽可能的技术手段来避免。
3、产品运行维护
这个阶段的主要工作包括:
(1) 监控:对服务运行的状态进行实时的监控,随时发现服务的运行异常和资源消耗情况;输出重要的日常服务运行报表以评估服务/业务整体运行状况,发现服务隐患;
(2) 故障处理:对服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前运维工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。除了日常小故障外,运维工程师还需要考虑产品不同程度受损情况下的灾难恢复,包括诸如地震等不可抗力导致大规模机房故障、在线产品被删除等对产品造成致命伤害的情况。
容量管理:包括服务规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。
4、产品性能/成本优化
产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源(如机器、带宽等)支持产品提供高可用和高速度的用户体验,这也是运维工程师的重要职责。
5、产品下线
发展良好的互联网产品将始终在线对外提供服务,但互联网产品快速迭代,也存在相当多孵化的产品最后被淘汰的情况,这些产品都需要做下线处理,这个过程运维工程师主要做好资源回收的工作,将机器/网络等资源回收后纳入资源池中供其它服务使用。
五、运维技术方向
产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:
§ 服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
§ 服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
§ 服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
§ 服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
§ 服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
§ 服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控
§ 服务安全保障:包括服务的访问安全、防攻击、权限控制等
§ 数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决
§ 服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
§ 服务集群管理:包括服务的服务器管理、大规模集群管理等
§ 服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本
§ 数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
§ 平台化的开发:类docker和google borg平台的开发管理,及服务接入技术
§ 分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入等等,凡是关系到服务质量、效率、成本、安全等方面的工作,及涉及到的技术、组件、工具、平台都在运维的技术范畴里。
做好每一个技术方向、完成相应的组件、工具、平台研发都能对履行运维职责起到积极的作用,对业务的发展发挥关键影响。
六、运维需要的技能和素质
§ 运维以技术为基础,通过技术保障产品提供更高质量的服务。运维工作的职责及在业务中的位置决定了运维工程师需要具备更加广博的知识和深入的技术能力:
§ 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;
§ 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;
§ 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;
§ 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;
§ 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;
§ 综合利用工具和平台的能力;
§ 运维工作的复杂性对这个岗位的运维工程师们的软素质也提出了要求:
§ 时间管理能力,特别是碎片化时间的处理能力;
§ 沉稳的心态,面对紧急情况时需要处变不惊;
§ 沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;
§ 工作中需胆大心细:胆大才能创新、不走寻常路,特别对于运维这种新的工种,更需创新才能促进发展;心细,运维工程师是最高线上权限者,需要谨慎心细;
§ 主动性、执行力,能够主动学习国际国内的运维技术,并引入到工作中,提高运维的质量和效率;
七、运维工作的开展方式
业务运维工程师的日常工作包括:
§ 监控线上的服务质量
§ 响应异常/处理突发故障
§ 在线发布/升级产品
§ 和相应产品线的研发和测试协调处理产品问题
§ 基于工作中的问题和数据分析进行抽取,将运维经验理念落地沉淀为方法论/工具/系统/平台,并制定相关的改进计划,在各个技术方向上落地实现,最终反馈回运维工作中,提高运维本身的效率和产品的价值
八、运维工程师的职业发展
运维工程师从工作方式上分为几大类:
· 1、运维工程师/运维开发工程师:
负责具体的产品线运维工作,同时也需要掌握开发的能力,深入业务,最了解业务的痛点和问题,同时研发/优化针对产品业务需求的平台、工具和手段,能够接触到各类优秀的系统架构并有能力做出优劣对比,同时对业务的掌控决定了相应运维工程师在业务发展中的作用。长远发展是成为大型系统的架构师。
2、 运维平台研发工程师:
专门研发运维相关通用平台和技术,需要有一定的产品线运维经验或从产品线中拿到运维需求。对研发能力有较高的要求,对系统的设计有较严格的标准,并且能够理解用户需求,做出适合服务运维和满足运维工程师使用体验的运维产品,长远的发展是成为各个技术纵向领域的技术专家。
· 3、数据库研发工程师/数据库工程师:
数据库方向是运维技术中较为特殊的一个方向,由于业务的重要性通常需要专设岗位,业界在该方向也有深厚的研究和积累。主要方向有数据库内核、云数据库等,长远发展是数据库领域的技术专家,数据库架构师。
· 4、运维经理:
运维同学做事情的过程中通常需要协调多个RD和QA同学,对协调和推进能力要求比较高,对一些技术深度还不错,协调和推进能力比较高的同学非常适合转型管理职位,长远的发展和技术部门的管理职位一样目标是CTO、CEO。
各个方向上的工程师发展到一定阶段后,没有明确的界限,需要同时具备较强的运维、架构、编程、算法等能力,是一个要求很高要求的职业。
九、运维的行业前景
· 从行业角度来看,随着中国互联网的高速发展、网站规模越来越来大、架构越来越复杂,对专职网站运维工程师、网站架构师的要求会越来越急迫,特别是对有经验的优秀运维人才需求量大,而且是越老越值钱。
· 从个人角度,运维工程师技术含量及要求会越来越高,同时也是对公司应用、架构最了解最熟悉的人、越来越得到重视。
· 互联网运维是一个融合多学科(网络、系统、开发、安全、应用架构、存储等)的综合性技术岗位,给运维工程师提供了一个很好的个人能力与技术的发展空间。
· 运维工作的相关经验将会变得非常重要,而且也将成为个人的核心竞争力,优秀的运维工程师具备很好的各层面问题的解决能力及方案提供、全局思考的能力等。
· 由于运维岗位所接触的知识面非常广阔,更容易培养或发挥出个人某些方面的特长或爱好,如内核、网络、开发、数据库等方面,可以做得非常深入精通、成为这方面的专家。
· 当前国内外对运维人才的需求非常迫切,运维工程师的薪资也水涨船高,与研发、测试等技术部门持平,甚至超出。
以上就是小编今天为大家分享的关于什么是运维?运维工程师的职业发展方向有哪些?的文章,希望本篇文章能够对不了解运维工作和想要成为运维人员的小伙伴们有所帮助。想要了解更多运维相关的知识记得关注达内Linux运维培训官网。最后祝愿小伙伴们能够成为一一名优秀的运维工程师!
来源:https://blog.csdn.net/inter_native/article/details/78502695
https://blog.csdn.net/bbwangj/article/details/76598756
【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!