云计算
[从兴公司 - 陈百平]
两年前,我钻研了一下网格技术,并写了一篇文章《另类架构--网格技术》发布于第14期《沟通》上,与大家一起分享。随后的时间里,我埋头做了两年的集成项目,再没有关注过它了。现在,当我再次关注这些技术时,发现网格技术如今不但得到了广泛的实现和应用,而且其内涵又有了新的延伸--那就是“
云计算”(Cloud computing)。
那究竟“云计算”到底是什么呢?就像网格计算一样,云计算也没有一个统一的官方定义。不同的学者、不同的企业对它有着不同诠释。 Wikipedia的解释:云计算是分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。IT专家网的解释是:云计算是分布式处理、并行处理和网格计算的发展,或者说是这些计算机科学概念的商业实现。
我们知道,网格计算就是由大量的服务器组成,并能提供大规模的并行和分布式处理的集群系统。云计算在网格计算基础上,更强调的是基于互联网,并通过互联网来获取用户的数据和计算能力。我们在使用云计算时,我们并不知道使用是哪个服务器来进行计算,我们也不知道我们的数据将会存放到哪台机器上。
采用电力网的例子可能会让大家明白什么是云计算技术,及了解其商业运作模式。我们平时用电,如使用电饭煲煮饭、放CD听音乐、打开电视机看新闻等,我们只关心有没有电,并不关心电是如何产生及传输的。我们并不知道所用的电是哪张电网调度过来的,更不知道是哪个发电厂产生的。数数自己所知道的发电厂的名字,只有这几家:三峡、葛洲坝和大亚湾,其它大大小小的都不知道了。其实我们也无需知道,反正用多少电,付多少钱便是了。如果有一个或几个电厂有故障,暂停了发电,并不影响你正常的用电。电厂的故障自然会有专业人士去修复。更甚者,有电厂因设备太旧了、或水力资源枯竭而停止了发电,对你的用电也毫无影响。
想像一下,如果没有互联电网,将是一个怎样的世界。每家都有一台发电机,自己去买柴油回来发电,发电机坏了,要自己修,自己不会修,则花钱请人来修。于是,每家每天都轰隆轰隆地响着,各家的烟囱每时每刻也都呼噜呼噜地冒着黑烟,甚是壮观。
其实,类似这种事情在几十年前就发生过。如果回老家看看,可能在某个被遗忘的角落里静静地躺着一台已蒙上了历史灰尘的缝纫机。在那个年代,基本上每家每户都有一台!而这样的配置是最优的么?显然不是。多数情况下,我们只是想有衣服穿,并不想去做衣服。只有把这些机器集中起来,通过公司运作,让熟练的工人进行大规模的生产,才是最优的。
云计算也一样。作为一个传统企业,IT基础设施对于企业的业务发展只是起到一个辅助的作用,而真正有作用的,是IT系统上运行的软件,并不是IT基础设施本身。为什么要让每家企业都维护一套非自己专业领域的IT基础设施呢?从资源配置角度看,这个绝对是高成本的。
如果我们回头看看计算技术的发展历史,我们就会明白,云计算是计算技术发展的一个更深的层次。计算技术的发展,无非围绕着两个主线在进行:高性能和低成本。从大型机到两层的C/S架构,因小型机和pc
服务器的引入,极大降低了成本。从两层C/S架构到多层C/S架构或B/S架构,因客户端维护少了,降低了成本,同时服务端的机器增加了,提高了性能。而网格计算则由于提供了一个大规模的服务器群集系统,性能上更是有着质的飞跃,但因为网格需要自己搭建和维护,成本会很高。到了云计算,企业可以不再关心
IT基础设施,因为IT基础设施由公用的云计算平台提供,企业不再对IT基础设施进行投资和维护,所以企业在拥有高性能的计算能力的同时,又极大地降低成本。因此,从这个角度上讲,可以说云计算是网格计算技术的一个商业实现。
IT巨头们早已窥视到云计算里的巨大商机,并下了重注,像Google、亚马逊(Amason)、IBM等都开始提供云计算服务或产品了。
亚马逊于2006年推出弹性计算云(Elastic Compute Cloud,EC2),是最早提供远程云计算平台服务的公司。亚马逊把弹性计算云建立在公司内部的大规模集群计算的平台之上,用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(Instance)。使用了EC2后,企业就不用搭建自己的IT基础设施了,而直接使用EC2提供的平台。费用则由用户的使用状况决定,即用户仅需要为自己所使用的计算平台实例付费。

图1. Amason的弹性计算云
弹性计算云中的实例是一些真正在运行中的虚拟机服务器,每一个实例代表一个运行中的虚拟机。对于提供给某一个用户的虚拟机,该用户具有完整的访问权限,包括针对此虚拟机的管理员用户权限。虚拟服务器的收费也是根据虚拟机的能力和个数进行计算的。在弹性计算云中,提供了三种不同能力的虚拟机实例,具有不同的收费价格。例如,其中默认的也是最小的运行实例是1.7GB的内存,1个EC2的计算单元,160GB的虚拟机内部存储容量,是一个32位的计算平台,收费标准为每个小时10美分。
虽然用户对虚拟机由管理员权限,但存在虚拟机上的数据会在实例关闭时丢失,即虚拟机下次重启时会还原最初始的状态。因此,用户需要自己备份所有的数据,并在实例重启时,通过手工或自己编写的脚本恢复数据。亚马逊提供了简单存储服务(Simple
Storage Service,S3)来帮助用户备份数据。用户可以通过亚马逊提供的REST (Representational State
Transfer)和简单对象访问协议(SOAP)等标准接口访问到相应的存储服务。当然,这种服务是要收费的。
因为Google的加入,亚马逊弹性计算云的收费已开始调低了。
Google在今年4月份推出了直接与EC2竞争的云计算平台:Google App Engine。Google特意为App Engine设计了一个很cute的Logo:飞行中的引擎。App
Engine基于Google已经在使用的技术:分布式存储系统BigTable和Google的GFS文件系统。比起亚马逊的弹性计算云,它的价格更便宜,甚至于基础版的App
Engine服务是免费的。你想建个功能强大的免费的个人网站?用Google App Engine吧。你希望你企业的计算平台能拥有想google那样的超强的计算能力、宽带和容错性,而又不想投入巨款去搭建并维护这个复杂的平台?那还是用Google
App Engine吧。

图2. Goolge App Engine Logo
目前Google App Engine支持Python语言,google承诺以后会支持其它语言。根据今年最新的数据,在编程语言中,Python排名第六,排在Java、C、
VB、PHP和C++之后,Perl之前。不过可以预测,因为Google大力推广,Python将会越来越普及,就像当年微软推的VB,Sun推的
Java似的。
其实,Google的云计算平台我们或多或少都在用了:google的搜索、gmail服务、与微软竞争的Docs服务等等,无不是建立在Google自身的云计算平台上。
IBM没有像Google和亚马逊那样推云计算服务,而是直接兜售它的云计算平台产品:蓝云(Blue Cloud)。蓝云通过将多种软件与其硬件产品(x86刀片服务器)集成,为企业架设一个分布式云计算平台。也就是说,IBM是将整个云计算平台销售给企业,企业自己管理和使用蓝云。蓝云非常适合那些数据量庞大且不断增长,并对数据安全性、保密性有一定要求的企业。

图3. 蓝云架构
相比于IBM的其它产品,蓝云的硬件平台并没有什么特殊的地方。蓝云使用的软件平台则比较特别,特别之处主要体现在对虚拟机Xen的使用以及对于大规模数据处理软件Apache
Hadoop的部署。Hadoop是一个实现了分布式文件系统及MapReduce并行处理算法的开源软件,IBM直接拿过来用了。另外,IBM还在在蓝云计算平台中使用了Xen虚拟化软件。Xen也是一个开源的虚拟化软件,能够在现有的Linux基础之上运行另外一个操作系统,并通过虚拟机的方式灵活地进行软件部署和操作。对于虚拟机的管理,IBM是通过其Tivoli
Monitoring产品进行的。
当然,云计算中是少不了微软这个软件巨人的。微软全球资深副总裁张亚勤于今年初曾说,目前炒得火热的云计算并没有新鲜的内容,早在8年前微软提出的.net战略中已经包含了云计算的内容。
这话倒是真的。在2000年微软提出.net时,确实包含了云计算的一些概念。只是由于当时概念太过超前,最后把所有的IT人员,包括微软自己彻底搞"晕"了过去。不过,微软也意识到,仅仅凭.net是无法与Google等抗衡的。于去年4月,微软在美国一个小镇昆西兴建起7个足球场大小的超大数据中心,承载了数十万台服务器和存储设备,并对外提供计算服务。对于传统业务是销售成套软件的微软而言,这是一次战略性转变,是对来自Google等
Web 服务厂商咄咄逼人的威胁的反击。
涉足云计算的IT公司还有很多很多。看着这些公司在云计算平台上相互竞争,互不示弱时,作为旁观者,我们是否觉得很热闹?而热闹过后,我们是否隐隐约约地感到我们正在错失着什么?
可以预计,云计算将会取代传统的计算模式,而在云计算这个IT新浪潮即将全面到来之际,作为技术人员,我们是否需要未雨绸缪?
参考资料:
1. 云计算的三架马车:Google、亚马逊和IBM http://hi.baidu.com/yunqingzizai/blog/item/
a668a9035045f5e909fa93ed.html
2. 云计算泄露Google的秘密 http://media.ccidnet.com/art/2619/20071123/1285245_1.html
3. 云计算 http://www.hoodong.com/wiki/ 云计算
4. 云计算:微软和Google的云端游戏 http://it.hexun.com/2008-06-18/106774194.html
5. Cloud computing http://baike.baidu.com/view/1140366.htm
6. IBM“蓝云”带来即可使用的云计算 http://www.cnetnews.com.cn/2007/1115/635288.shtml
7. 云计算专题 http://server.chinabyte.com/cloudcomputing/
注:以上文章版权归立信集团《沟通》所有,不得转载、引用。
|