山雨欲来风满楼——云计算到来之前的思考

2008年,最热门的技术话题是云计算。自AmazonAWSAmazon Web Services)出现以来,越来越多的人开始关注和开发这种新的计算模式。正是因为AWS的存在,Amazon视自己作科技公司,无论是其S3Simple Storage Service)还是EC2Elastic Compute Cloud),可以说都是开互联网云计算之先河的产品。然而,云计算到底是什么?为什么能给软件业造成这么大的影响?为什么所有的大型企业都认定云计算是未来的大势所趋?有那些云计算存在?这些云计算的核心是什么?云计算对我们意味着什么?这些问题都值得深深的思考。

 

为云计算正名

如果你还记得最早涉及网络的计算机课程,那你一定还对云的画法印象深刻。是的,在当时的教材当中,只要涉及到Internet这个关键词的时候,一定都是用一朵云来表示。这朵云表现的不仅仅是在互联网的那一端有着庞大的计算能力,而这朵云背后还隐含了更深一层的含义,它无疑表达了互联网后端复杂的计算结构和庞大的联结体系。至少从这里我们可以看到,云计算并不新鲜,而是早已有之的概念。

 

关于云计算到底是什么?一百个人的回答可能有一百种不同的答案。尤其是各种各样的企业,在谈论着完全不搭调的不同类型云计算。经过对国内外一些专家的采访,我们更偏向于这样一个概念:

 

云计算是一个虚拟的计算资源池,它通过互联网提供给用户使用资源池内的计算资源。完整的云计算是一整动态的计算体系,提供托管的应用程序环境,能够动态部署、动态分配/重分配计算资源、实时监控资源使用情况。云计算的通常具有一个分布式的基础设施,并能够对这个分布式系统进行实时监控,以达到高效使用的目的。

 

这样看,AmazonAWSGoogleGAEGoogle App Engine)、IBMBlue CloudSunNetwork.com等等都可以看成是云计算的一种,它们都拥有一个分布式的计算环境,并通过互联网提供服务,并能实现动态的资源分配以及种种其它云计算要求的条件。

 

云计算的要素

从早年的网格计算到今天的云计算,技术在不断进步,基础设施也在不断增强。但强大的需求持续消耗着新增的计算资源。无论增加多少CPU、内存、硬盘,似乎永远也无法满足计算需求的持续增长。后来,人们发现现有的计算资源,其利用率还有待大规模的提高,于是网格计算这种能够将更多孤岛的计算能力连接起来的方式赢得了很多企业的关注。

 

然而网格计算强调的是连接,它对整个计算资源中心的控制能力相比云计算概念要弱得多。此外,网格计算很难实现对资源的动态分配和动态切割。毕竟要对计算资源进行动态切割和分配是一件很不容易的事情,这需要对整个分布式、异构计算环境有极为强大的监管和控制能力。

 

虚拟化技术的不断成熟是对这一问题的答案。其实虚拟化技术由来已久,尤其是在一些企业级计算市场,包括IBMSun等公司在虚拟化技术上的研究是非常超前的。IBMZ系统是运行在大型机上的虚拟化先驱,它实现了对具备庞大运算能力主机的基础设施管理功能,经过发展后的Z系统能够对异构的各种系统环境进行管理。今天,SunSolaris也具备了非常强大的虚拟化能力,更有XenVMWare等企业的虚拟化技术日趋走向成熟,应用在众多领域,这为云计算打下了坚实的基础。值得关注的微软在其Windows Server 2008当中加入的大量虚拟化技术,也可说是为了应对其云+端计算模式的。

 

此外,早期的网格计算,对网络本身还有较大的需求,而这一点在Web环境当中几乎很难做到。有限的几个协议和松散的Web管理,让网格计算变得更加困难。此外,网格关注在计算资源和计算能力的分享上,而没有考虑到计算中心应该交付的是服务,而不是其它东西,这就成为人们使用网格的一大障碍。

 

更为重要的是,云计算提供了远远超越计算和存储本身的服务,其内涵也要丰富得多。除了包括以服务为交付模式的计算和存储基础设施外,虚拟主机的租用、社会关系网的数据信息服务、商业流程、应用程序运行环境、编程模型、协同环境以及IT管理外包等各种模式都可以放在云计算的范畴之内。

 

从上面几个部分可以看出,云计算具备了自己的新特性:

l  对计算资源进行动态切割、动态分配

l  Web为中心

l  交付的是服务

 

即使在今天,要完整地满足云计算三点特性是一件很不容易的事情。幸运的是,我们生在一个充满了创新的时代,对技术充满热情的企业和它们的科学家在不断推进世界的进步。

 

应运而生的云计算

回头观察云计算的三个特性,我们可以发现:如果提前五年,云计算一定会胎死腹中。这一点只需看看网格计算就能知道。时代给云计算带来了太多的幸运。这五年当中,Web基础设施日渐完善,随着Web 2.0概念的不断成熟,Web本身越来越像一个真正的平台了。如同CSDN举办的SD2.0大会提到的一样,Web终将成为未来应用环境运行的一个基本平台,这一点也是让云计算成为可能的一个基本要素。

 

为什么Web会成为承载云计算的核心?

 

一方面是技术上的。Web的结构如此之简单,以至于每一个接触过Web的人都知道,这只是一大堆以超链接相互连接起来的HTML文档。内容以及内容之间的关系通过一个简单的标记语言描述被存放到一起,非结构化的存储让其具备了强大的描述能力。人们只需要用几个简单的协议,如TCP/IPHTTP等就可以很快相互产生互动。同时,它能够将各种不同的异构系统都连接在一起。对于用户而言,完全可以不用考虑整个IT体系后端运行的是什么操作系统,什么中间件,什么数据库,我们只需要一个简单的URL以及响应的角色身份,就可以得到我们想得到的任何内容。

 

另外一个更重要的原因则是,尽管技术体系的纷繁复杂,相互之间存在很多纷争,但是对于Web的标准,是整个业界全面认同的。它是业界唯一共同认定的标准,这也让Web成为承载不同业务、不同系统的云计算的唯一平台。

 

此外基于服务的交付模式,也同样是最近几年才逐渐成熟和被不同技术一致认同的。不管是基础的计算/存储资源也好,应用程序的运行环境也好,如果不是以服务模式交付,其复杂度是任何企业都无法承担的。

 

正因为种种条件的成熟,云计算才能被如此众多的企业和用户所认同。难怪大企业纷纷认定,未来属于云计算。

 

不同云的诉求

事实上,我们看到的情况正是这样。种种不同的云计算概念围绕在我们周围。有计算云、存储云、安全云、应用云、应用环境云等等,而不同的云计算,针对不同的服务对象各自有截然不同的层次划分。如Amazon提供的是基础设施层上的云计算,Google提供的更多是架构和平台层上的云计算,更高一层的云计算还提供许多应用服务。今天,很多SaaS运营商的服务平台,无不是用云计算搭建成的,这也是云计算这么火热的原因之一。

 

AWS

不同的云计算表达了不同企业对云计算的诉求,还是从Amazon说起。Amazon.com电子商务网站投入了大量资源来研究大规模分布式的电子商务网站该如何搭建,当它的体系逐渐成熟以后,便成为最佳实践。既然在电子商务领域能够有一套最佳实践,尤其是在拥有多余的计算资源的前提下,那么将现有的多于计算资源销售掉何乐而不为呢?这也是我们后来看到的S3EC2服务等出现的原因。

 

Amazon看到这种模式的可行性时,它确实已经不再只是一家传统的B2C电子商务网站了,可以无限拓展的软件结构给Amazon带来了可以量化的计算和存储能力销售模型。更进一步,电子商务也不再是AWS所服务的全部对象,几乎所有的中小企业在无力架构自己IT系统的同时,完全可以将自己的IT完全托管到AWS上去。

 

多年以来,众多软硬件的供应商希望达到的Utility Computing的时代果然到来。在业内小有名气的InfoQ网站,作为一个小型的互联网公司,最初设立中国站点的时候其公司的规模仅有5个人,且分布在4个不同国家。这种类型的公司成为AWS较早的一批支持者。豆瓣的阿北也表示过如果公司开在美国,那他多半也会采用AWS模式来运营自己的网站。越来越多的互联网公司,尤其是这些正在起步的互联网公司,借助AWS服务能够一开始就以很低的成本运营业务,这毫无疑问是云计算带来的革新。

 

 

GAE

如果说Google做云计算的初衷与Amazon一样,这一点丝毫不容置疑。同样是一家互联网公司,同样是运营着数量庞大的服务器集群,Google可以说拥有全世界数一数二的数据中心。这样庞大的计算和存储能力在搜索业务无法全面消耗的时候,如果能将这些多余的计算能力销售出去,同样也是Google强烈的愿望。

 

然而Google的不同点在于,它所运营的服务器数量早已经超过其它对手若干数量级了。面对全球36个数据中心,数十万台服务器的运营,哪怕有1%的浪费,这种数量都是非常可观的。另外一方面,庞大的用电量让Google不得不自己建设发电厂,以确保众多服务器的运转,每年仅仅在电力的使用上,就已经是一笔可怕的成本,如果不将这部分计算量用商业的模式销售出去,Google面临的成本问题也会大伤脑筋。

 

然而,以PC作为服务器来运行商业系统始终存在很大问题,而Google的强项也不在此。即使是Google著名的研究人员Jeff Dean都表示:在每个服务器集群运行的头一年,一般有1千台机器会发生故障;数千块硬盘会出问题;一个“电源分配单元”(PDU)将坏掉,令5001000台机器当机6小时;20个服务器机架将出现故障,造成4080台机器从网络上掉线;5个服务器机架将变得不稳定,这使得机架上的服务器处理的一半信息包失去响应;一个服务器集群需要重新连接,这将影响5%的机器,影响的时间跨度一般为2天。服务器集群有50%的过热可能性,过热会让绝大多数服务器在5分钟内当机,并且耗时12天来重新恢复……

 

这种强度的PC服务器对于商业应用服务的提供很容易形成噩梦。尽管Google拥有自己的三大法宝(GFSBigTableMapReduce),以提高其服务器集群的可用性,但面对商业化问题,Google自己也始终在探索之中。这也是GAE系统在收费问题上踯躅了很长时间的原因之一。

 

从技术上看,Google云计算本身所销售的,则是其软件的编程模型。利用Google一系列编程接口以及Google提供的大量互联网服务功能(如GmailGoogle Earth等),你可以使用Python语言很容易编写出功能强大的Web应用来。这就是Google与众不同的云计算特点。

 

 

微软的云+

尽管所有的厂商都不可置疑地确认了云计算是未来发展方向,但微软的态度却始终显得有些暧昧。自从去年微软宣布S+S战略以来,其客户端在微软的宣传当中始终占据着极为重要的位置。对于互联网的到来,微软的地位一度被挑战,而把握客户端核心技术的微软,在面对Web 2.0大趋势的同时,S+S确实是目前微软可以选择的最好的方案,只是从外面看来,微软的作为难免有些不伦不类,毕竟将所有的基于微软技术的软件服务器产品都做成互联网服务,始终让技术人员觉得很不适应。仔细看看云+端,这与S+S正是遥遥相望,一一对应。

 

值得一提的是,微软的云+端和过去微软面向消费领域市场的软件并不相同。从Windows NT 4.0时代开始,微软面向企业级的方向始终没有偏离过。也许是曾经微软的技术在客户端和消费类市场取得的成功太大,人们始终不愿意承认微软在企业级领域的作为,以至于微软不得不在几乎每一个产品面市的时候,都需要专门定制出一个企业级使用的版本。

 

其实细看云+端计算的模式,我们还是能够深切体会微软对Web到来潮流的认可,只是这个始终徘徊在标准之外的事实标准执行者,总是特立独行的市场风格让企业级软件市场很难认可。不过微软的努力没有结束,未来的云计算将会出现在Windows操作系统当中也没有让我们意外。在今年PDC大会上,很多人看到的Windows Strata极有可能就是Red Dog(微软的云计算服务项目代号)+云架构层的云+端组合。客户端不会是微软唯一的发展方向,云计算的大趋势终于还是会影响到这样的企业。

 

IBM蓝云

IBM的云是所有云计算当中最为特殊的一家。前文当中提到过,IBMZ系统其实就是基于云计算的理念进行设计的。所以算起来,IBM对云计算的发言权超过了其它公司。不同的是,IBM服务于企业客户,因此其云计算远远不如AmazonGoogle等企业那样能在互联网上大造声势。加上IBM本身经营的范围不限于软件、硬件、服务等多方面的业务,更多人认为蓝云只不过是IBM为了销售更多服务器的噱头。

 

且不说这件事情本身具备其合理性,更关键的是IBM传统的优势。它与其它企业最大的不同点在于,经过数十年经验的积累,IBM对一些传统的行业有超过互联网企业更多认知,他们知道如何帮助银行、电信、能源、交通等行业客户解决实际问题,并清楚地了解这些行业对企业计算的需求是什么。这些与行业业务密切相关的知识可以说是IBM的一大核心,而基于这些业务知识设计的云计算系统更是具备其它云计算提供商所没有的特点。毕竟在整个软件而言,企业级计算占据着大部分市场。

 

由此,针对行业的云计算成了IBM蓝云项目直指的方向。今年2月,IBM宣布在中国成立大中华区云计算中心正是IBM看到了这个市场在中国所拥有的特殊价值。随后的5月,该云计算中心在无锡正式进入运营状态。这个以软件园为背景的云计算中心为入驻园区的软件企业提供了各种各样不同的开发和测试环境。该项目是IBM在全球范围内实施的第一个用云计算命名的项目,其成功开发也为后续的项目建立起了榜样。

 

从长期来看,未来的IBM运营方式与Google会越来越接近,但明显与之不同的是它所具备的企业特性,从而建立起更有商业价值的云计算中心。仅以IBM自己为例,通过在内部将几个数据中心进行整合就为IBM一年节省了数百万美元的成本,这种计算模式应用到行业当中所带来的价值将更为可观。可以预见的将来,同行业共同采用一套云计算的平台来完成企业业务并非没有可能。比如银行业的若干家企业联合起来,共同组成一个银行业的云计算中心,这毫无疑问是创建了新的产业链,并有效降低整个行业的运营成本。

 

趋势安全云

趋势科技提出的“云安全”可以说是在这次云计算热潮当中出人意料的一家了。用最简单的方式去理解,我们大致可以认为“云安全”的模式是用户在访问文件、打开邮件或访问网站的时候,在浏览器背后需要与“安全云”进行一次交互,判断用户所访问的资源是否安全。这种模式与目前银行体系所采用的信用模式极为类似,通过对文件、网页等资源信息进行信誉建模,然后对这些资源的信誉评级来判定这些资源的安全性。尽管这个模式看起来很简单,但是要实现这些技术却并非易事。一方面要对各种资源进行信誉建模,得出一套行之有效的安全评价体系,另外一方面,还要求浏览器客户端在访问资源的时候,能够以最小的代价来获得资源安全评级的信息。

 

趋势科技的一位技术专家表示:“技术的关键就在云那头。云安全不仅仅包括URL信誉、文件信誉、IP信誉、DNS信誉等等,还需要在数据中心中把所有信息都联系起来进行数据挖掘。”

 

趋势的安全数据中心收集到了大量信息之后,对这些信息进行的数据挖掘才是“安全云”所完成的最主要的工作。因为文件、URL以及电子邮件之间相互关联,因此这些关联的数据挖掘能够给用户带来“云安全”的实际价值。比方说,你收到一封垃圾邮件,邮件中含有多个URL,这些URL很是比较典型的垃圾邮件信息。反过来,若我们已经知道某些URL是恶意的,那么如果你收到一封邮件中含这些URL,这封邮件很可能就是垃圾邮件;再比如,我们已经知道某个文件信誉不好(比如这个文件就是病毒),那么有这个文件做附件的电子邮件大概也不太好,会自动下载这个文件的网页也很可能是恶意的;反过来,我们已经知道某个网站信誉不好,那么如果这个网站会自动让你下载文件,这个文件多半信誉也不好。

 

正如这家公司的名字一样,它始终能够把握主流技术市场的发展趋势。即使我们将“云安全”看成是概念炒作的经典之作,这也无法抹去趋势科技对于技术市场的认知,因为它告诉我们,云实实在在地来了。

 

此外,其它还有诸如SalesforceForce.comSunNetwork.com等也是比较典型的云计算,这里不再一一介绍了。

 

云的商业价值

既然有这么多的企业认为云计算是未来的趋势,这么多的企业都不遗余力地建立云计算中心,毫无疑问,云计算一定具备其特有的商业价值。传统模式下,建立一套IT系统不仅仅需要购买硬件、带宽等基础设施,而且还要购买软件的许可证,合法地将软件运行在硬件上,从而达成业务目标;此外,IT系统需要有专门的人员进行维护,而一旦业务应用软件有定制化的需求,还需要自行开发软件或请第三方机构来完成业务系统。

 

然而对于企业来说,计算和存储等基础设施以及软件本身并非他们真正需要的,企业需要的仅仅是一个能够帮助他们完成业务,提高效率的工具,而完全不必占有这些东西。有了这个分析之后,众多的计算机专家们开始研究如何将管理学当中的规模理论应用在软件领域。一套可以按照用电、用水一样的业务模型难道不能应用在IT领域吗?其实云计算恰恰就是解决这个问题的。

 

云计算的出现,让用户不必关心CPU的运算速度是否够快,不必关心存储设备是否充足,不必关心应用程序的运行环境应该如何搭建,也不必关心它们是否能与其它运行环境进行交互,因为计算/存储这些概念都并非他们想要的。在云计算领域最常用的例子就是将云计算比喻成为一个发电厂,而用户只需每月看电表付费。在减少掉大量的冗余环节后,用户节省成本自然成为顺理成章的事情。这也是为什么更多的用户愿意租用互联网上云计算服务的根本原因。

 

这和此前人们说到的SaaS概念极为类似。从广义上看,SaaS是云计算极为重要的组件之一,只不过云计算的所谈论的范围要大得多而已。

 

此外,专业的数据中心运营者们在得到足够多客户的订单时,他们更清楚一个数据中心的基础设施应该如何运营才是成本最低、效率最高的;他们更清楚不同的应用和软件运行环境应该如何交互;他们更能够从整体上把握计算资源到底需要消耗多少资源,从而达成更高效的资源配置。种种状况显示着,云计算将会降低整个社会的运营成本,无怪乎如此众多的科技公司们高呼云计算了。

 

路漫漫其修远兮

尽管我们已经看到这么多云计算的产品了,但有一点毋庸置疑,那就是云计算还远远没有达到成熟的阶段。这种不成熟除了业务模式的不成熟外,技术所面临的障碍也是一个重要的原因。

 

这里所指的技术,并非云计算还存在不可解决的技术难题,这当中更重要的是云计算运营者们在技能方面的经验积累。对于大规模、分布式、异构的基础设施而言,如何构建一个更良好的架构,如何有效提供计算和存储资源的利用率,如何计算稳定可信,如何对这个庞大的基础架构体系进行管理……处理好所有问题是一门艺术,它需要从业者用数年甚至数十年的经验不断积累与磨合。更有甚者,如何将云计算结合到各个行业的业务应用,从而将过去多年来积累的业务知识有效整合在云计算架构体系上,将会体现更深层次的价值。

 

今天的云计算,还没有充分被用户认可。现有的云计算产品和服务,仍然存在不稳定、不可信等问题,数据的一致性如何得到有效保障,容灾备份怎么做这些问题还困扰着那些踯躅观望的用户,毕竟将业务交付给捉摸不定的云,还需要一步步建立信心。而在信心真正建立以前,要形成一条完整的云计算产业链,毕竟还言之尚早。

 

在众多IT巨头的推动下,云计算的趋势已经不容质疑。它给几乎所有角色的人们都带来了好消息。对于企业来说,云计算是非常值得考虑的一种搭建业务系统的方式,这种方式无疑能够为企业带来更低的成本和更多选择;对于大型行业而言,在金融风暴后,将基础设施的成本进行大规模压缩也是很有可能的;开发商在面临云计算的时候,通过PaaS模式能有效放大自身开发能力,因此云计算对ISV的影响是对众多角色中最大的;唯一变化较小的是工程师和开发者,但对他们而言同样是好消息,因为云计算的到来将会让开发全面收缩到以Web为中心的开发上,这样减少了很多复杂技术的学习曲线,加快了职业发展的速度。

 

值得一提的是,云计算的到来,还会催生出一些新的职业。比如“数据中心架构师”这类高级技术职业,他们将负责设计在庞大基础设施上的技术堆栈,评估现有技术架构,设计资源动态切割原则,规划数据中心运营等。总体来看,这将会是一个综合工程的角色。

 

特别感谢IBM中国软件开发中心Web 2.0首席架构师,IBM资深技术主管毛新生给本文提供的技术支持。

 

你可能感兴趣的:(产业观察)