数据中心几乎将世界上最先进的信息技术都集成了起来,在这里涉及到动力、制冷、通风、建筑、网络、计算、存储、布线、消防、监控等等十几个技术门类,覆盖到数十项学科的先进技术。
现在很多的云计算、大数据、人工智能、软件定义也都是在数据中心里大放异彩,数据中心是这些先进技术的实践土壤,都要到数据中心来走一遭,只有经过数据中心考验的技术才是真正的技术,能够得到业界认可的技术。
关于数据中心,维基百科给出的定义是“数据中心是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备,还包含冗余的数据通信连接、环境控制设备、监控设备以及各种安全装置”。
这个定义还不够全面,几乎没有哪个定义能够将数据中心概括清楚,因为数据中心实在是太复杂了,并非用几个词语或者几句话就能概括清楚。
当然,并不是一开始数据中心就很复杂,在最开始我们甚至可以将拥有几台PC的机房也可以叫做数据中心,但数据中心规模和技术都发展太快,复杂性呈几何性增长,我们讨论数据中心的复杂性都是基于当前现状来讨论的。
首先,数据中心规模增长迅速,原来占地几千平米的大型数据中心,放到现在也就属于中小型数据中心,现在的数据中心动辄10万服务器,要将这些服务器都放满就得多大的建筑空间,这还不包括网络、通风和制冷等其它不可缺少的系统。
一旦规模上来,所有的系统都需要适配,这个复杂不是简单地累加,而是几何倍数的增长。
比如建造大楼,建设一座50层的大楼和120层的大楼成本可不是增长两倍的关系,假如建设50层大楼,平均下来3000元一平,10万平米就是3亿。120层的话,造价应该是50层楼的10倍,3万元一平,如果是30万平方米,那就是90亿,整整差了87亿。
其次,数据中心是一个多功能的建筑物,并不仅仅是一些服务器的集合,要将这些服务器互联互通起来,并且让运行的应用软件平稳运行,需要做大量系统设计工作,每个设备里跑的每一条指令都有其特定的意义。
我们知道仅仅以太网的RFC就有八千多篇了,没有人能将所有网络协议都搞懂,但却要在数据中心里部署很多网络协议,复杂度可想而知。
登录到任意一台网络设备,都能看出至少上百行的网络配置,多的有上万行,这里的每一条配置指令都是为整个数据中心运行服务的,不可缺少,任何一个局部微小的操作都可能导致全局业务受损,为何要建设自动化运行的数据中心,其实有一个重要的原因就是靠人的经验去管理数据中心已经不可能了,只能靠机器自动管理。
第三,新技术演进太快,云计算也不过才十年之久,就已经遍地开花了,大数据、人工智能甚至区块链都来了,这些技术的寄托都是在海量数据上,哪里有海量数据,就是数据中心。
还有5G、移动互联网、物联网等等,哪个能离开数据中心?数据中心真是一专多能,海纳百川,无所不能,这些应用都给数据中心提出了新的挑战,数据中心的基础设施要能满足这些应用,只能不断变化调整,系统愈发复杂。
最后,人们对数据中心要求越来越高,现在的数据中心全年都不能中断,每中断一分钟都会影响业务,因为很多互联网业务是24小时的都有人访问,前几天阿里云中断一个小时,全网一片哗然,阿里云也及时坦诚不公地进行了道歉。
这种事情再一再二可以,不能再三再四了,反复多次的故障很容易导致大量用户流失,最终只能关门大吉,所以数据中心提供持续无中断的能力看得比命都重要,如此必然要在数据中心的各个系统中做冗余备份设计。
冗余备份设计给数据中心带来的就是增加复杂性,冗余做的越多,复杂性越高,看似安全,实则危险重重。
过于复杂的系统运行起来不仅效率低,甚至在故障出现时,根本无法快速准确定位,所以要在冗余和复杂性之间做取舍,选择上做好平衡。