IT 运维背后的逻辑(目标篇)

IT 运维是一项复杂的工作,要把运维工作做好,不仅要知道是什么还需要知道为什么。卖什么吆喝什么,要讲明白这件事还得从为什么要做运维开始。

也许大家会想,作为业内人士,没有必要讲这个吧,这里先卖个关子,因为要由此引出一个及其重要且经常被忽视的一个点。

互联网企业更是如此,这类企业不仅将自身的业务构建在 IT 系统之上,而且 IT 系统也是其自身业务的具体表现形式。今天诸多的网站、应用都可以看做 IT 系统。

当下的 IT 系统日趋复杂,依赖各种软硬件、网络的支持。试想,如果我们构建一个 IT 系统但是没有人管会怎样? 答案是它应该会正常运行一段时间,然后就会出现各种问题,最终失效。原因很简单,IT 系统所依赖的软硬件及网络组件都无法做到 100% 可靠,而且系统也会存在大量的环节需要人工干预。

互联网的出现又为 IT 系统增加了新的问题,这个问题就是性能。传统 IT 系统的负载相对平稳、可预测。而互联网上为公众服务的 IT 系统会因为突发访问出现性能不够,无法服务的问题。以 12306 为例,因为系统负载估计不足,造成系统初期频繁无法访问的情况出现。

在前面我们讲到,IT 系统已经是构成现代企业的要素,大量的业务是依托于 IT 系统的。一旦要素失效,则企业的业务就跟着失效。因此企业不仅要构建 IT 系统,还要让 IT 系统运转正常。这就是企业为什么需要 IT 运维的根本理由。

要做好 IT 运维工作,必须了解几个基本的事实:

所有的 IT 组件(软件,硬件,网络)都会出现问题;

人都会犯错误;

所有的系统都有门限,超出使用门限就无法工作;

业务在发展,系统在演化,技术在进步;

企业中所有的行为都是有成本的,既有显性成本也有隐性成本。

所有的运维工作都是围绕上述的事实展开的。

这里就引出最为重要的一点:IT 系统要运维,但运维的目标是什么?要将系统运维到什么程度才好?

这个问题常常为技术人员所忽视,也常常是技术决策层和执行层面产生剧烈冲突的地方。企业有自身的目标,这些目标逐级分解,分解成各种子目标。

IT 系统的运维就是子目标之一。既然各个子目标都是由总目标分解来的,又哪来的冲突呢?

举个例子就能说明白:“我们的 IT 系统既要稳定、可靠、安全,又不能多花钱”。稳定、可靠、安全是子目标,成本也是子目标。这两个目标就是冲突的,因为要把系统做得稳定、可靠、安全就得多花钱。

通常在企业里成本控制和 IT 运维是两个 team 来执行的。两个 Team 就会为各自的目标打得不可开交。究其原因就是这个问题没处理好。

那么花多少钱才是合适的? 这个平衡点在哪里?

简单的说就是,IT 运维的目标必须和企业的业务目标一致。超出企业目标和达不到企业目标都是有问题的。有朋友可能会想,达不到当然有问题,可是超过企业目标岂不是说明工作做得好? 答案是,溢出部分是有成本的, 这部分溢出的成本就是企业的损失。所以溢出也是有问题的。

记得当年有位同事在回答老板问题时,讲要在写字楼里配柴油机以保证写字楼停电时 OA 系统的可靠运行,写字楼停电,电脑都用不了,OA 系统能工作大家也上不去啊。当时老板一脸黑线的面孔历历在目。

“IT 运维的目标必须和企业的业务目标一致”这句话光简单说是不够的。具体执行的时候就需要很多指标来让公司明白,例如,保证 58 还是保证 724,最长能承受的停机时间是多少? 有没有维护窗口? 是否允许服务降级。 核心思想就是从系统不可用对业务的影响程度进行评估,然后根据具体的约束条件进行设计,达到业务的要求。

一般而言,主要是两个指标进行考察,一个是最长的不可用时长,一个是发生不可用的频率。两个指标基本能体现一个系统的可用性。

不可用时长比较好理解,如果每次不可用时间很短,次数有点多有那么严重么? 还以 12306 为例,其实每次系统不可用的时间很短,就是次数多了点。就像红楼梦里,贾母虽然很喜欢黛玉,最终还是让宝玉娶了宝钗。偶尔生病可以接受,但是总生病就不好了。

要想做好运维必须知道,运维的目标是为企业的业务目标服务的,也必须与之相一致。与目标相一致也不是说说的,需要将运维目标用一组具体的指标予以表达,然后衡量该目标是否与企业业务目标相一致。