云计算始于数据中心。我们都在梦想着这样一个世界,即任何人都可以将他们多余的计算能力作为虚拟化资源卖给其他人,这是一种完全分布式的云计算模式。然而,现在的现实是,云计算遵循一种集中化工厂模式:资源由中央“工厂”(即亚马逊、Rackspace、微软、谷歌等的庞大数据中心)提供,并通过互联网分发给消费者。
从某种意义上说,大规模数据中心是实现云计算的基础。在今天令人难以置信的大型模块化数据中心出现之前,向其他人销售计算资源简直是一个噩梦。对于大多数客户而言,不仅提供高可用性的成本让他们望而却步,而且可能无法完成。
可扩展性、可用性、弹性和安全性是必须以这样或者那样的方式纳入数据中心设计中的因素,从数据中心所在建筑物的结构一直到每台服务器上使用的软件,都必须考虑这些因素。否则,云计算供应商给出的任何承诺都将无法实现。
云计算供应商的承诺
对于云计算供应商给出的主要承诺,特别是在基础设施即服务领域,我们可以看到,大多数这些承诺都取决于数据中心建立之前出现的问题。对于客户而言,正常运行的承诺似乎很简单:当服务正常运行时,我可以访问和使用资源,而如果出于某种不能正常运行时,我将无法访问资源。而对于服务供应商而言,问题棘手的多:服务无法正常运行可能是因为服务器或磁盘故障,或者是重大停电事故。很多较低级的问题(例如电源或网络连接)都与较大的问题相关联,例如数据中心建立的位置。
在很多国家,你不可能同时接入到两个独立的外部电力能源供应商。这个事实可能会迫使企业投入更多资金来购买发电机或者其他后备能源,这无疑增加了运营成本。在网络方面,也面临同样的问题:无法接入到多个供应商,企业可能被迫部署自己的基础设施,甚至“自暴自弃”地接受这样的事实,即自己可能无法达到一定的可用性水平。
可扩展性是另一个有趣的问题。云计算服务供应商提供的(几乎)无限的可扩展性意味着他们必须不断增加可用容量,为了能够应对任何增加的需求。基础设施供应商每一天需要向他们的数据中心增加数百台甚至数千台服务器,不仅是用于替换故障设备,同时也为了应对未来的需求。将可扩展的资源交到基础设施最终用户手中将导致这样的情况:你根本不知道单个用户最多可能需要多少资源(这也是为什么大多数云服务供应商对单个账户可利用的服务器数量进行了虚拟的限制的原因)。
即使是像亚马逊的可用区(多个数据中心位置靠近,互相之间保持低延迟性的连接)这样简单的东西,也会带来设计和管理方面的复杂性。在亚马逊的情况下,正常运行时间是对多个可用区的衡量,而不是单个可用区,这些可用区必须足够分散,这样影响某个可用区的外部问题就不会影响到其他可用区,同时,距离也不能太远,以保证低延迟性连接。与此同时,它们代表了一种新的数据中心概念:多个数据中心可作为单个数据中心运行。
云计算和数据中心并驾齐驱
随着部署率的增长,云计算将继续推动数据中心的演变,从架构到软件和控制流程。更广泛的部署不仅将迫使数据中心运营商重新思考其内部运作,还需要他们能够适应新的新兴需求。随着使用量的增加,还有能源消耗的增加,并且,由于供应商提供的计算资源变得更加多样化,这个环境将变得更加多种多样,管理也将更加复杂。简单的措施(例如使用外部空气来取代空调设备)将帮助企业节省数百万美元。
如果云计算带来计算资源的商品化,数据中心将需要进行优化,以便允许企业通过销售这些资源来生存。由于云计算在可预见的未来中将依赖于数据中心,这两种技术的演变无疑是联系在一起的,任何关注其中一种技术的人都应该同时密切关注另一种技术。