一直想努力向别人(甚至包括从事运维的人)解释清楚什么是运维,发现很难!

6月20号,在InfoQ高效运维群里面,对运维创业做了一次激烈的讨论,很自然地,过程中不可避免的谈到运维苦逼和运维无法产品化的问题,这是一些运维需要说服自己,证明自己价值的问题。对于本人来说,运维的价值不容置疑,只要我们运维人能自我认识突破,更体系化的站在业务角度看待运维价值问题,那我们就不是一个苦逼的成本部门。此时我自然的想到了【IT运营】,它带来的视界会更加开阔,能够帮助更好的重新认识运维。

一、运维是什么

运维从IT软件工程的阶段论来说,一般分为用户需求阶段、软件开发实现、软件测试和软件维护几个阶段。因此很多人就把运维粗暴地解读为运行+维护。不过庆幸的是,运维人自己已经认为我们不是简单的维护角色了。维护的角色是一种职能化的表述,意味着你是邮件工程师、服务器工程师、网络工程师等等。

其实运维对应的英语单词是Operations,而不是Maintenance。Operations有“操作、运营”的意思,一般会和IT一起出现,称之为IT Operations(IT运营),也就是我们现在说的运维,Maintenance只是一个维护的定位,早已退化。

二、什么是IT运营(运维)

显然从阶段论的角度来看运维,无法概括运维的全貌,所以自己一直和别人说运维就是IT运营,那什么是IT运营?以下是我做了一个产品通路的分解,然后分解出一条技术运营的主线。

当用户的需求被识别出来之后,这个时候必然会产生两种需求:一类是用户需求的功能性描述,一类是用户产品的技术实现描述。接下来从不同的需求出发,此时会产生产品运营和技术运营的要求。技术运营一定是基于技术产品和业务产品中的技术部分,包括基础平台产品(网络、机房、服务器、DNS)、应用产品(application、协议)。为了确保它们能够满足业务的目标,运维需要提供多种保障措施,比如说构建自动化平台(配置管理、调度平台、IT产品管理平台)和技术产品数据运营平台(监控、应用性能管理、能力管理等等)。以上的分解思路,可以解释运维是否需要构建大数据平台,且和产品大数据平台的差异点与边界。

IT运营和产品运营很多落脚点是类似的,也是一种持续改进和闭环的策略,讲产品的生命周期管理和优化,产品说,我是为了提供给用户更好的服务或者价值;技术运营(即运维)说,我也是为了提供给用户更好的服务或者价值。真的如此么?那我们在看看什么是用户的价值。

对于用户来说,一种更低成本更高质量的服务才是他们需要的,因此把用户价值分成多个维度的描述,有产品功能和特性需求侧的,有用户体验侧的,有成本方面的(如上图)。由此也可以看出很多的用户价值诉求都会转换成对软件产品技术的需求,这类技术需求实现之后,需要运营手段来保证和持续改进。

在业务互联网化的今天,用户获得同质服务的触点变得越来越多,如何让自家的业务脱颖而出,一方面考验产品运营能力,另外一个方面更是在考验技术运营的能力。在小米推出米聊后不久,腾讯就迅速推出微信,这是腾讯后台技术架构对业务的敏捷支持;在有相同功能的两个互联网产品选择下,你一定会选择那个访问快(速度),并且可用性高,易用性好的产品,特别是速度。在过去的工作中,可以列举很多IT运营能力不足而影响业务发展的例子。

Gartner早期还有一个关于IT价值的模型描述,会有稍稍不同,列出供参考:

在这个模型图里面,关于IT产生的价值指标也非常明确,完全的导向了业务价值,比如说经济性、质量、敏捷性、客户满意度和商业贡献度等等。

  • 经济性。包含了投入成本、产出效率和生产率。

  • 质量。包含了可用性、相应时间,交易速度等等。

  • 敏捷性。IT对于业务变化的适应性和调整的速率,一个好的IT业务架构应该能够适应业务的变化,从而快速对市场相应决策。

  • 客户满意度。可以各个渠道收集客户的意见,比如说appstore,产品论坛,客服,CRM渠道等等。

  • 商业贡献度。提供更多的商业价值,比如说更大的市场份额,更多的用户获取,更高的市场占有率。

说这么多,是想改变大家对运维的一个错误认识----运维是成本部门,而非收益部门。在一个分散式的x86的复杂架构环境中,如果没有运维部门的统一规划和管理,等于一个乐队少了指挥,其技术建设、管理和运营肯定会陷入混乱,最终影响的是使用我们产品的用户。

三、什么是IT运营管理

IT运营管理,IT Operations Management(ITOM),其中最经典的描述是还来自于Gartner的经典解释。Gartner从一个更全局、更宏观的视野来分析了ITOM的组成及其趋势。Gartner每年会发布多个领域的hype cycle的报告,hype clye是一种分析方法,把一个领域涉及的技术从诞生、发展、成熟等多个过程在一张图中描述出来,并且预估它未来会爆发的时间表。从图中的组成部分,可以看到IT运营的全貌,会涉及到ITOM的多个方面,2013年的报告内容如下(来自于Chuck Henry的一篇PPT分享)。

横坐标不解释了,大家可以自己查查英语单词,加深一下印象,另外不同的形状标示着未来爆发的时间周期。比如说ITIL处于幻灭期,它的再次爆发至少要5到10年。

从这个PPT页面中,你可以看到很多个方向,比如说DevOps、ITIL、APM、IT能力管理、配置管理、CMDB等等,你能说它们和你运维无关么?其实做过互联网运维的人都或多或少的知道上面图形中术语的意思,因为很多都和我们日常的工作相关,有些是在执行ITIL的过程中接触到的,比如说IT service catalog、CMDB;有些是在DevOps实践中接触到的,比如Application Release Automation,当然全局的DevOps会包含更多哈;有些是我们在做数据分析的时候接触到的,比如说Service-Level Reporting tool,Capacity Planning and Management。

这么多方向如要落地实施,一定是运维部门主导建设的,或许大家已经这么干了,此时你难道还说运维就是一个苦逼打杂的,运维没有价值的?ITOM可以帮我们更全面的去看待运维。不过切忌照搬哈。

四、IT运营的目标衡量

IT运营对象是技术产品,它的特性决定了IT运营的要求和策略的不同,归纳总结有如下:

1、功能性

软件提供的功能是否满足了用户需要?这个地方还有很多个维度可以衡量里面有是否提供了正确的功能(适合性)、适合用户需求的功能(正确性)、安全的功能(安全性)等等。

2、可靠性

软件的运行是否可靠的?可以通过可用性指标来衡量,可用性的指标在上一篇文章结合故障有谈到过如何计算。典型的两个很衡量维度就是容错性和可恢复性。前者将对故障的容错处理能力(要么不出故障),后者对出现故障之后的恢复能力(出故障后,要么快速恢复)。

3、易用性

易用性是一种产品化的能力,可以体现在产品是否能够被用户快速理解的,能够易于使用的,且操作友好的。不要让用户拿到一个产品之后,自己捉摸该如何操作,对于某个核心功能来说,操作的深度很深。操作友好就体现着相同的产品功能下,设计的不同,给用户带来的操作复杂度是完全不同的。同是红包功能,微信红包、QQ红包、支付宝红包给用户带来的易用性完全不同。

4、效率

体现在面向用户的产品交付速度和内部IT支撑服务的响应速度。前者效率体现者用户等待新功能/新特性需要付出的时间成本;后者体现在内部IT支持需要付出的时间成本,在业务量出现增长的情况下,我们需要多少时间能够把支撑的资源提供到位。效率维度基本上都是DevOps自动化解决方案的范畴。

5、可维护性

可监控性。对于一个复杂架构,是否具备可监控的能力,它是一种能够帮助你快速发现故障,快速定位故障直至恢复故障的能力。

可变更性。架构的变更能力非常重要,如果一个架构引入变更就需要对用户服务产生中断或者影响的话,说明这个架构是有不足的或者变更方案设计是不足的。

容错性。是一种容错的能力,特别是一些非期望错误的容错能力,这个在前期的设计准则中需要考虑到一些不可靠性的设定,比如说网络不可靠、硬件不可靠等等。同时对于一些未知的错误,提供自动的降级服务或者容错服务能力。

如何实现可监控性?个人觉得首先要有一个监控平台,其次监控平台需要有采集一切数据的能力,且能自动分析数据的关联,最后才是通过数据实现端到端的监控能力。

可变更性和容错性,是在架构设计和实现的阶段,就要考虑后续对运维友好,设计和实现一个弹性可扩展服务架构对运维来说非常重要,数据解耦和服务解耦是优先要考虑的原则。举个例子,对于一个用户注册的功能来说,可以有URI和域名两种实现方案来区分服务,显然前者的区分对运维不友好,当因为容量的问题,要实现注册核心业务分离的时候,需要在七层代理服务上按照URI进行服务转发,而采用域名的解决方案,则简单许多,DNS指向修改即可。

6、可移植性

是IT产品的可迁移性,一则就涉及到IT技术产品的选型问题,当你选择的IT技术产品开源和公共化程度越高,迁移的成本就越低。公有云服务很多都是基于开源协议的实现,就是一个典型的例子,确保用户的技术产品能够无缝切入到公有云;

其次要考虑云端的服务迁移能力,包含了公有云之间的迁移能力(显然目前不具备)和私有IT环境向云端服务迁移的能力。

有了这些特性维度,基本上就有了IT运营的数据体系,做好IT运营,就是不断去挖掘技术产品所产生的日志和数据,去衡量IT技术产品的现状以及未来的运营优化的方向。不过要注意的是在可维护性里面不仅仅是度量这么简单,还有自动化平台建设来满足可变更性的要求,它的直接衡量指标就是之前提到的变更延时。

很多时候,我们会担心运维做久了,特别是运维被琐事和故障所牵绕的情况下,会忘了我们还能做什么,更是忘了我们其实是从IT运营而来,从IT运营的角度看运维,特别是和ITOM结合起来去看运维,带来的感觉又完全不同:

第一、平时运维的工作层面到底还有多少提炼和认识不够的地方(以ITOM为对标)?同样是做应用性能管理APM,代码级性能管理是不是唯一的方法,结合互联网还有哪些实践,他们之间的互补又在哪儿?能力管理的必要性是在哪儿?如何建设能力管理系统,从能力管理的三个层次来看,他们的成本和收益是什么样的?我把这些概括为运维的内在思考

第二、不断去思考运维带来的业务价值。从之前的讨论中都可以看到运维的最终价值点,它们都有一个业务价值的通用描述,我们是否有结合自己的业务仔细思考过,提炼过?我把这些又概括为运维的外在思考

当我们把其内在和外在都思考清楚了,其实也就是把运维的某方面思考清楚了,此时我们结合行业的特点去做运维,提炼最佳实践,是不是意味着运维更有价值了?

注:这篇文章还可以谈谈IT运营的方法和策略,但是限于篇幅,不作深入展开!

IT Operations(IT 运营),运维的更价值化认识的更多相关文章

  1. 不谈业务运维的IT主管早晚被淘汰 这里是10条干货

    大数网 吴玉征 先说个真实的故事. 前一段时间,有一家知名的国际连锁咖啡公司的自助交易系统(支付宝.微信.ApplePAY)特别慢,工作人员也不知道为什么.由于他们刚上了业务运维,支持这套系统的云智慧 ...

  2. 企业该如何进行高效IT运维管理

    企业该如何进行高效IT运维管理 在企业内部也是一样,当大量的生产和经营数据集中在数据中心,一旦人们与数据中心因为IT故障而失去联系,停滞的也许不是个人应用受阻这样简单的后果.我们谁也不想看到自己企业的 ...

  3. 从一到万的运维之路,说一说VM/Docker/Kubernetes/ServiceMesh

    摘要:本文从单机真机运营的历史讲起,逐步介绍虚拟化.容器化.Docker.Kubernetes.ServiceMesh的发展历程.并重点介绍了容器化阶段之后,各项重点技术的安装.使用.运维知识.可以说 ...

  4. 从On-Premise本地到On-Cloud云上运维的演进

    摘要: 从用户的声音中,我们听到用户对稳定.弹性.透明的诉求,我们也在不断升级ECS的运维能力和体验,助力用户建立主动运维体系,赋能业务永续运行.为了让大家更好的了解和用好ECS弹性计算服务,从本期开 ...

  5. 一个关于运维人员做事的很好的case,拿出来和大家共勉

    很久没有写KM了,最近lester这边在梳理CDB这边存在的问题,并推动那些问题解决措施的落地.无疑当前CDB存在比较多的问题,也有很多坑.需要我们运维和开发的同学多思考问题的根源和解决办法,并付诸实 ...

  6. Python自动化运维技术与最佳实现

    第一章 系统基础信息模块详解 系统基础信息采集模块最为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的质量以及用户的 ...

  7. 魅族CMDB运维自动化实践

    一.简介 原创:梁鹏 本文是根据魅族系统架构师梁鹏10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日< 魅族CMDB运维自动化实践>演讲中的分享内容整理而成. ...

  8. Docker化运维方式讲解

    应用迁移需求 应用运维需要考虑的一个重要问题就是迁移, 在不同机器.机房.环境间迁移.迁移的原因有很多, 比如硬件过保(硬件故障), 机房迁移, 应用扩缩容等. 应用迁移的核心需求是: 简单.迁移操作 ...

  9. linux 运维,代理,acl控制访问

    运维概述:运行 & 维护,Operation & MaintanceIT运维.业务运维.日常管理运维采用相关的方法.手段.技术.制度.流程和文档等,对IT运行环境.IT业务系统和IT运 ...

随机推荐

  1. SQL Server锁分区特性引发死锁解析

    锁分区技术使得SQL Server可以更好地应对并发情形,但也有可能带来负面影响,这里通过实例为大家介绍,分析由于锁分区造成的死锁情形. 前段时间园友@JentleWang在我的博客锁分区提升并发,以 ...

  2. MariaDB远程连接配置

    由于MariaDB是由MySQL的一个分支发展起来的,二者的配置也大体相同. wex@localhost:~# mysql -uroot -proot 进入MariaDB服务器,将mysql.user ...

  3. 体验CoreCLR的stack unwinding特性在Linux/Mac上的初步实现

    有了stack unwinding特性,才能在.NET程序中获取调用堆栈(call stack)信息,才能在异常时显示调用堆栈信息.这个特性之前只在Windows上有实现,Linux/Mac上的实现最 ...

  4. 通信服务器群集——跨服务器通信Demo(源码)

    对于一些基于TCP Socket的大型C/S应用来说,能进行跨服务器通信可能是一个绕不开的功能性需求.出现这种需求的场景类似于下面描述的这种情况. 假设,我们一台TCP应用服务器能同时承载10000人 ...

  5. VR设备

    我本来想亲自介绍下我最近特别感兴趣的VR(虚拟现实)设备,但我发现我不会插入图片,所以我只好特意去找了一篇介绍虚拟现实现状设备的文章. 虚拟现实现状设备篇:http://www.cnblogs.com ...

  6. JavaScript函数绑定

    一个简单的函数绑定 在JavaScript与DOM交互中经常需要使用函数绑定,定义一个函数然后将其绑定到特定DOM元素或集合的某个事件触发程序上,绑定函数经常和回调函数及事件处理程序一起使用,以便把函 ...

  7. paip.语义分析--单字动词表.txt

    paip.语义分析--单字动词表.txt 排除重复  select * from t where word in (SELECT word from t_a)  or   word in (SELEC ...

  8. paip.hql的调试故障排查流程总结

    paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...

  9. paip.陕北方言 广东方言的不同单字 1千高频字

    paip.陕北方言 广东方言的不同单字 1千高频字  SELECT * FROM `canx` c where c.cn in (  select zi from hezi1k h)  and st ...

  10. 如何保证access_token长期有效

    为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等,开发者在调用这些接口时,都需要传入一个相 ...