关于运维

运维

1.什么是运维?

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

2.运维的职责

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

产品生命周期:

运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期,各个阶段的职责包括:
产品发布前
这个阶段运维工程师的职责是参与设计并把有关运维准入,主要包括:
(1) 产品的业务熟悉;
(2) 产品架构设计的合理性评估,包括是否存在单点,是否可容错,是否有强耦合等,同时需要提供产品设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求;
(3) 资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把相关产品对资源预算申请的合理性,控制服务成本;
(4) 资源就位,将申请的服务器及基础环境/域名准备就位。
产品发布
这个阶段运维工程师负责发布的具体工作,将具体的软件和系统/硬件资源整合形成产品并对外提供服务。
对于已在线服务的更新也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成产品的升级。对于大型复杂的变更也存在中止服务部署完成后再重新提供服务的情况,但这种情况需要运维工程师通过尽可能的技术手段来避免。
产品运行维护
这个阶段的主要工作包括:
(1) 监控:对服务运行的状态进行实时的监控,随时发现服务的运行异常和资源消耗情况;输出重要的日常服务运行报表以评估服务/业务整体运行状况,发现服务隐患;
(2) 故障处理:对服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。这之前运维工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。除了日常小故障外,运维工程师还需要考虑产品不同程度受损情况下的灾难恢复,包括诸如地震等不可抗力导致大规模机房故障、在线产品被删除等对产品造成致命伤害的情况。
容量管理:包括服务规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。
产品性能/成本优化
产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源(如机器、带宽等)支持产品提供高可用和高速度的用户体验,这也是运维工程师的重要职责。
产品下线
发展良好的互联网产品将始终在线对外提供服务,但互联网产品快速迭代,也存在相当多孵化的产品最后被淘汰的情况,这些产品都需要做下线处理,这个过程运维工程师主要做好资源回收的工作,将机器/网络等资源回收后纳入资源池中供其它服务使用。

运维技术方向

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

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

猜你喜欢

转载自blog.csdn.net/weixin_43731668/article/details/84260768