1965年,由英特尔合伙创始人戈登·摩尔(GordonE.Moore)发表的摩尔定律预言:处理器中所使用的晶体管数量每过两年就会翻一倍。过去的40年证明了这一定律的正确性,而且至少在2020年前这一定律也很有可能依然有效。
如果你比较如今典型的手持设备(如iPad2),其A9双核处理器已是英特尔奔腾III处理器运算能力的两倍,后者在2000年普遍应用于Wintel服务器。而如今市场上新的Wintel服务器的运算能力已是原来的约40倍。那么这意味着什么呢?
回溯到2000年,每个服务器中运行一套Windows2000Server操作系统的情况是很典型的,并且此服务器之上会有一个或多个应用及服务。因此,一个公司也许最终需要多个服务器以提供全套IT服务,如AD服务,DHCP/DNS服务,微软Exchange邮件服务,微软SQL数据库服务,文件档案服务等等。然而,随着时间的推移以及处理器能力的迅速提升,软件行业并未以相同的速度快速发展以充分发挥处理器能力:目前还没有重大革新性应用服务软件需要10倍或20倍处理器的运算能力。因此,使用强大的硬件来运行少数应用显得越来越浪费,但在单一操作系统上跑多个应用又会产生冲突,虚拟化也就应运而生。
何为虚拟化?
虚拟化简单来说就是拥有“一个硬件上有多个服务器”的能力。通过在硬件上运行虚拟机管理软件,虚拟机(VM)为每个应用及服务提供了虚拟的独立的空间。此外一台虚拟机的崩溃不会导致其他虚拟机呈链式反应。顶尖的虚拟平台提供商有:威睿(VMWare),思杰(Citrix)和微软(Microsoft)。尽管确实还有其他的虚拟机平台,但他们都是为特定的操作系统设计(如只为Linux操作系统),而不是可以运行任何操作系统的虚拟硬件。虚拟化带来的益处是能更充分地发挥了现有处理器资源,减少了硬件机箱的数量,也随之减少了占用空间、电力及热量。
从虚拟化到云计算
然而,虚拟化很快遇到了“多(虚拟机)对一(硬件)”的设计缺陷。多个虚拟机共享一台硬件,并且经常需要繁琐的步骤才能将虚拟机从一台硬件转移到另一台硬件中。一个有名的说法是:传统的“一对一”就像住在一所大房子里,而虚拟化的“多对一”如同住在一间公寓里。虽然居住空间(指运算处理能力)被更有效地利用,但是你必须管理好居住在公寓中的众多房客,保证他们之间不会相互争斗。于是,人们随之自然而然开始转向“多对多”,即云计算。
简单来说,多个虚拟机共享多台硬件的资源,这些硬件连结即形成一个“云”。针对“云计算”这一术语有许多不同的诠释,例如:
“互联网计算”——这也包括了“私有云”(PrivateCloud),因为它也使用互联网协议和技术。
“效用计算”——每个服务根据效用收费,即实际使用的资源。此外还有对面向服务架构(SOA)的使用,顾客为服务付费而不是为硬件付费。
“网格计算”——这里的云技术形式是在现有可用资源中进行运算处理分布。
未“雨”绸缪与拨“云”见日
云的优点
正如这个有趣的示意图显示,“云”是平台、存储、应用程序、桌面、手机以及厨房中的洗涤盆(Orz…)。云是一种可以将以上任何或全部东西包含的服务。你在购买服务时无需考虑后端硬件和软件。换句话说,它完全消除了选择、比较价格、购买、物流、安装、调试、操作、老化以及升级/搬移等步骤。
作为一个云计算的使用者,你须要求及最终购买的东西很简单:“你所需的服务,可用性,以及交付物。”
以苹果应用程序商店为例:
顾客:应用程序提供商
服务:展示应用程序,可被公众搜索,评价和购买
可用性:全天候24小时,通过互联网提供给某些国家的顾客
交付物:搜索及销售数据、销售收入以及顾客反馈
顾客:苹果产品拥有者(iPhone,iPad等)
服务:使用苹果应用程序商店找到所需的应用程序,评价并反馈
可用性:全天候24小时,通过互联网使用服务
交付物:购买,付费后下载应用程序,反馈。
因此云计算可以被视为任何种类的服务(XaaS)的终极形式,包括软件应用、存储、平台、基础结构、桌面以及许多IT相关产品。
云的缺点
云的趋势和技术本身并没有什么缺点,问题在于我们正处于云计算的初级阶段。这一行业需要在整合,流程,合约承诺及责任方面更加成熟。此外还需要大量具有技术和经验的人员(构架师,咨询师,工程师,操作员)。
不仅是云计算的提供商目前处于初级阶段,云计算的使用者更是处于一个年轻的阶段。我相信在中国会有更多的CIO(和采购部门)未来能完全领会“服务,可用性,交付物”这些概念。相比顾客已完全接受“服务,可用性,交付物”等概念的移动电话服务,云计算只是昨天刚诞生的(这是暗喻)。
我想特别指出的是只有当合约条款及责任方面成熟后,云计算才能被成功运用。这一点很重要,因为如果没有可行的承诺以及在故障时的法律责任,云计算服务将不值得信赖。顾客必须在法律认可的合约条款下得到服务,可用性,交付物方面的承诺,并且明确有权要求退款,赔偿或终止合同。
为“下雨”做好准备
既然是“云”,那么你就应该为下雨做准备。2011年4月我们目睹了亚马逊网络服务故障。亚马逊网络服务被视为早期的由非常著名公司提供的云服务。作为网络中断的后果之一,亚马逊的顾客经历了不同程度的服务中断。一些是在发生故障的第一天中数小时无法连接,甚至在故障发生24小时后仍时有问题出现。
这一事故引起了人们对于顾客对云的控制(或缺少控制)问题的关注,以及为云服务设计业务延续方案的需求。
一些亚马逊顾客,尽管被这起事故惹恼,但却意识到如果没有云服务,他们也许无法管理他们自己家中的系统和服务。
亚马逊之后宣布,一个不恰当执行的变更管理(ChangeManagement)导致了网络错误以及随后的数据处理错误。
我会如下总结为防止云服务故障做好准备的必要性:
拥有为不同程度故障准备的方案,即风险管理。
在可用性方面拥有一个明确的业务要求,并评估服务中断发生后对业务的影响(损失生产效率,损失收入,损失信誉)。
拥有故障恢复方案,并且有定期的DR故障演习以保证故障发生时方案能被很好地执行。评估DR激活所需时间,以及DR系统相对正常操作是否有能力缩减。
你可以期待什么?
云计算正在到来,在未来你将使用云服务。你是否已经在使用虚拟化技术并不重要,尽管如果你的系统已经是虚拟化形式,你将更容易适应“云”。
私有云具有更高的安全性以及对资源的控制,但由于其只为单个企业服务,它没有“分享”这一益处,因此会带来更高的拥有成本和操作成本。
公共云具有所有的益处,如“多对多”,低成本及服务导向。我们可以期待云的安全性对大企业客户会变得更成熟。
当涉及云计算时请想到“服务,可用性,交付物”这些概念。
云是平台,存储,应用程序,桌面,手机,是任何东西——除了厨房中的洗涤盆。