IT运维是一项复杂的工作。做好运维工作,不仅要知其然,还要知其所以然。卖什么喊什么,要说明这件事情,还得从为什么要做运维说起。IT已经成为构成现代企业的众多要素之一。对于互联网公司来说尤其如此。这类企业不仅将自己的业务建立在IT系统之上,IT系统也是自身业务的具体体现。今天的许多网站和应用程序都可以看作是IT系统。当前的IT系统越来越复杂,依赖于各种软件、硬件和网络的支持。试想一下,如果我们建立了一个IT系统却无人问津怎么办?答案是应该能正常工作一段时间,然后就会出现各种问题,最终失败。原因很简单。IT系统所依赖的软件、硬件和网络组件不可能100%可靠,系统中会存在大量需要人工干预的环节。互联网的出现给IT系统增加了一个新的问题,这个问题就是性能。传统IT系统的负载相对平稳且可预测。但是,在互联网上为公众服务的IT系统会因突然访问而性能不足而无法服务。以12306为例,由于低估了系统负载,导致系统在初期经常出现无法访问的情况。前面我们提到,IT系统已经是构成现代企业的一个要素,大量的业务都依赖于IT系统。一旦要素失效,企业的业务也将失效。因此,企业不仅要建设IT系统,还要让IT系统正常运行。这就是企业需要IT运维的根本原因。要做好IT运维工作,必须了解几个基本事实:所有IT组件(软件、硬件、网络)都会出现问题;人会犯错;所有系统都有阈值,超过阈值它们就无法工作;业务在发展,系统在演进,技术在进步;企业中的所有行动都有成本,既有显性成本也有隐性成本。一切运维工作都是围绕上述事实展开的。最重要的一点来了:IT系统需要运维,但是运维的目标是什么?发生暴力冲突的地方。企业有自己的目标,逐级分解,分解成各种子目标。IT系统的操作和维护是子目标之一。既然每个子目标都是从总体目标中分解出来的,那么冲突在哪里呢?举个例子可以说明:“我们的IT系统要稳定、可靠、安全,不能多花钱。”稳定性、可靠性、安全性是子目标,成本也是子目标。这两个目标是冲突的,因为要使系统稳定、可靠和安全,需要花费更多的钱。通常,成本控制和IT运维在一个企业中由两个团队来完成。两支球队将为各自的目标奋力拼搏。原因是这个问题没有得到妥善处理。那么花多少钱合适呢?简单地说,IT运维的目标必须与企业的业务目标保持一致。超出公司目标和达不到公司目标都是有问题的。有的朋友可能会想,达不到目标当然有问题,但是超过了企业目标就说明工作做好了吗?答案是溢出是有成本的,而这种溢出的成本就是企业的损失。所以溢出也是有问题的。仅仅说IT运维的目标必须与企业的业务目标一致是不够的。具体实施,需要很多指标让企业明白,比如保证58或者保证724,可以容忍的最长停机时间是多少?有维护窗口吗?是否允许服务降级。核心思想是评估系统不可用对业务的影响,然后根据具体的约束条件进行设计以满足业务需求。一般来说,主要考察两个指标,一个是最长不可用时长,一个是不可用发生的频率。这两个指标基本可以反映一个系统的可用性。不可用的持续时间相对容易理解。如果每次不可用时间都很短,次数多了有那么严重吗?以12306为例。就像红楼梦里,贾母虽然很喜欢黛玉,但最终还是让宝玉嫁给了宝钗。偶尔生病还好,但一直生病就不好了。综上所述,要想做好运维,就必须知道运维的目标是为企业的业务目标服务,也必须与之保持一致。与目标的一致性不是说说而已。需要用一套具体的指标来表达运维目标,然后衡量这个目标是否与企业的业务目标一致。
