运维

运维

对网络等的生命周期的运营与维护
运维,本质上是对网络、服务器、服务的生命周期各个阶段的运营与维护,在成本、稳定性、效率上达成一致可接受的状态。[1]
    中文名:运维 外文名:Operation and maintenance 定义: 运维工程师:运维从业人员 SRE:Site Reliability Engineer 运维平台:运维相关工作平台 DBA:Database Administrator

产品生命周期

产品发布前

这个阶段运维工程师的职责是参与设计并把关运维准入,主要包括:

(1)产品的业务熟悉。

(2)产品架构设计的合理性评估,包括是否存在单点,是否可容错,是否有强耦合等,同时需要提供产品设计的合理性建议以使产品能够满足上线发布并稳定运行的基本要求。

(3)资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把关产品对资源预算申请的合理性,控制服务成本。

(4)资源就位,将申请的服务器及基础环境/域名准备就位。

产品发布

这个阶段运维工程师负责发布的具体工作,将具体的软件和系统/硬件资源整合形成产品并对外提供服务。

对于已在线服务的更新也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成产品的升级。

对于大型复杂的变更也存在中止服务部署完成后再重新提供服务的情况,但这种情况需要运维工程师通过尽可能的技术手段来避免。

产品运行

这个阶段的主要工作包括:

(1)监控:对服务运行的状态进行实时的监控,随时发现服务的运行异常和资源消耗情况;输出重要的日常服务运行报表以评估服务/业务整体运行状况,发现服务隐患。

(2)故障处理:对服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。

这之前运维工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题制定处理的预案,问题出现时可以自动或手动执行预案达到止损的目的。

除了日常小故障外,运维工程师还需要考虑产品不同程度受损情况下的灾难恢复,包括诸如地震等不可抗力导致大规模机房故障、在线产品被删除等对产品造成致命伤害的情况。

容量管理:包括服务规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。

产品性能优化

产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。而如何用最合理的资源(如机器、带宽等)支持产品提供高可用和高速度的用户体验,这也是运维工程师的重要职责。

产品下线

发展良好的互联网产品将始终在线对外提供服务,但互联网产品快速迭代,也存在相当多孵化的产品最后被淘汰的情况,这些产品都需要做下线处理。

这个过程运维工程师主要做好资源回收的工作,将机器/网络等资源回收后纳入资源池中供其它服务使用。

技术方向

产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题。

抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:

服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障。

服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性。

服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作。

服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验。

服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量。

服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控。

服务安全保障:包括服务的访问安全、防攻击、权限控制等。

数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决。

服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务。

服务集群管理:包括服务的服务器管理、大规模集群管理等。

服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本。

数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。

平台化的开发:类docker和google borg平台的开发管理,及服务接入技术。

分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入。

凡是关系到服务质量、效率、成本、安全等方面的工作,及涉及到的技术、组件、工具、平台都在运维的技术范畴里。

做好每一个技术方向、完成相应的组件、工具、平台研发都能对履行运维职责起到积极的作用,对业务的发展发挥关键影响。

使用的平台工具

运维工程师使用的运维平台和工具包括:

Web服务器:apache、tomcat、nginx、lighttpd。

监控:nagios、ganglia。

自动部署:ansible、sshpt。

配置管理:puppet、cfengine。

负载均衡:lvs、haproxy。

传输工具: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。

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

业务

业务管理:包含对企业自身核心业务系统运行情况的监控与管理,对于业务的管理,主要关注该业务系统的CSF(关键成功因素CrITical Success Factors)和KPI(关键绩效指标Key Performance Indicators):

面向整个组织针对各业务系统,提供业务需求整理、需求变更和用户体验优化的加载、维护、配置、升级、补丁等方面的实现服务。

面向整个组织提供各业务系统的问题受理、响应、处理和转交等方面的服务。

面向整个组织的各级机构和各业务部门提供各类业务系统的操作指导、数据应用、模块分配、参数设置等。

面向整个组织提供客户端安装、配置、升级等技术支持。

面向组织以外的部门提供相关信息(按机关相关部门要求)、回答网站税务咨询、局长信箱和纳税人电话提出的各类业务问题。

日常管理

日常工作管理:

该部分主要用于规范和明确运维人员的岗位职责和工作安排、提供绩效考核量化依据、提供解决经验与知识的积累与共享手段IT运行维护管理的每一个子系统中都包含着十分丰富的内容。

实现完善的IT运维管理是企业提高经营水平和服务水平的关键。

运行/维护阶段与服务/支持阶段的分界线为前者是面向IT部门内部的管理,而后者是面向业务部门、企业中的其它人员或直接面向客户。

面向整个组织提供针对各业务系统的运行状况监控、问题定位、故障排除等方面的运维服务。

面向整个组织提供针对各业务系统的需求变化,即数据项、元数据、管理流程、数据空间等方面的管理和标准化。

面向整个组织提供针对各业务系统的运行状态和需求变化和不同的记录、跟踪、保存、分析的方面的管理。

相关词条

相关搜索

其它词条