什么是运维

运维,这里指互联网运维,通常属于技术部门,与研发、测试、系统管理同为互联网产品技术支撑的4大部门,这个划分在国内和国外以及大小公司间都会多少有一些不同。
一个互联网产品的生成一般经历的过程是:产品经理、需求分析、研发部门开发、测试部门测试、运维部门部署发布以及长期的运行维护。

运维的职责

对于初创公司,运维部和系统部一般是合二为一的,相关工作由同一批人负责,界限可能不是很明显。大型公司对运维工作的要求更高,需要有更精细的分工,因此机房/网络/操作系统相关的底层工作分离出来由专人负责,成为系统管理部,而上层和应用产品相关的工作则由运维负责,成为运维部。以下从互联网产品生命周期和运维涉及的技术分别来看分工较细的大型互联网公司中运维工作的职责。
*

运维技术职责

产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:

  • 服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
  • 服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
  • 服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
    服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
  • 服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
  • 服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控
  • 服务安全保障:包括服务的访问安全、防攻击、权限控制等
  • 数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决
  • 服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
  • 服务集群管理:包括服务的服务器管理、大规模集群管理等
  • 服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本
  • 数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
  • 平台化的开发:类docker和google borg平台的开发管理,及服务接入技术
  • 分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入

职业发展

运维工程师从工作方式上分为几大类:

运维工程师/运维开发工程师:
负责具体的产品线运维工作,同时也需要掌握开发的能力,深入业务,最了解业务的痛点和问题,同时研发/优化针对产品业务需求的平台、工具和手段,能够接触到各类优秀的系统架构并有能力做出优劣对比,同时对业务的掌控决定了相应运维工程师在业务发展中的作用。长远发展是成为大型系统的架构师。

运维平台研发工程师:
专门研发运维相关通用平台和技术,需要有一定的产品线运维经验或从产品线中拿到运维需求。对研发能力有较高的要求,对系统的设计有较严格的标准,并且能够理解用户需求,做出适合服务运维和满足运维工程师使用体验的运维产品,长远的发展是成为各个技术纵向领域的技术专家。

数据库研发工程师/数据库工程师:
数据库方向是运维技术中较为特殊的一个方向,由于业务的重要性通常需要专设岗位,业界在该方向也有深厚的研究和积累。主要方向有数据库内核、云数据库等,长远发展是数据库领域的技术专家,数据库架构师。

运维经理:
运维同学做事情的过程中通常需要协调多个RD和QA同学,对协调和推进能力要求比较高,对一些技术深度还不错,协调和推进能力比较高的同学非常适合转型管理职位,长远的发展和技术部门的管理职位一样目标是CTO、CEO。

各个方向上的工程师发展到一定阶段后,没有明确的界限,需要同时具备较强的运维、架构、编程、算法等能力,是一个要求很高要求的职业。

你可能感兴趣的:(什么是运维)