云计算与网格计算
2010-08-15常浩
常 浩
(太原大学 计算机工程系,山西 太原 030009)
云计算与网格计算
常 浩
(太原大学 计算机工程系,山西 太原 030009)
分布式处理、并行处理和网格计算的发展推动了计算机产业的发展,云计算运动随之产生。从云计算服务类型、云计算与网格计算的相似与不同方面,探讨了云计算优于网格计算的地方,同时介绍了两者面临的共同问题以及一些安全方面的问题。
服务;云计算;网格计算
分布式计算、网格计算和SOA被普遍采用以来,云计算运动已应运而生。实现云计算需要三个部分,瘦客户机(或者能够在胖瘦之间切换的客户机)、网格计算和效用计算;网格计算将独立的计算机连接成一个大的基础设施,充分利用闲置的资源;效用计算就是支付在共享服务器上使用的服务,就好像支付公共事业一样(比如电力、天然气等)。通过网格计算,可以把计算资源作为能够开启关闭的公用事业来提供,而云计算更进一步,可以随需提供计算资源,这样在使用公用定价时就可以避免过度供给,在满足数百万用户的需求时也消除了过度供给的需要。
1 云计算服务类型
消费者通过Internet可以从完善的计算机基础设施获得服务,这类服务称为基础设施服务(Infrastructure as a Service),基于Internet的服务是基础设施服务的一部分;Internet上其他类型的服务包括平台服务(Platform as a Service)和软件服务(Software as a Service),平台服务提供了用户可以访问的完整或部分的应用程序开发,而软件服务则提供了完整的可直接使用的应用程序,比如通过Internet管理企业资源。
基础设施服务在实际应用中非常广泛,例如The New York Times使用成百上千台Amazon EC2实例在36小时内处理TB级的文档数据,如果没有EC2,The New York Times处理这些数据将要花费数天或者数月的时间。基础设施服务分为两种用法,公共和私有。Amazon EC2在基础设施云中使用公共服务器池,更加私有化的服务会使用企业内部数据中心的一组公用或私有服务器池,如果在企业数据中心环境中开发软件,那么这两种类型都能使用,而且使用EC2临时扩展资源的成本也很低,例如测试,结合使用两者可以更快地开发应用程序和服务,缩短开发和测试周期。
使用EC2,客户可以创建自己的Amazon Machine Images(AMI),包括操作系统、应用程序和数据,并控制在给定的时候每个AMI有多少实例运行,客户为占用的实例时间和带宽付费,高峰的时候增加计算资源,不需要的时候减少计算资源。EC2、Simple Storage Service及其他Amazon产品能够通过 Internet为数百万用户提供服务。Amazon提供了从单核的x86服务器到8核的x86-64服务器等五种不同类型的服务器,提供服务实例不需要知道使用了哪种服务器,可以把实例放在不同的地理位置或者可用区域内,Amazon允许使用弹性IP地址,可以动态分配给实例。
2 云计算与网格计算异同点
2.1 云计算
使用云计算,企业马上就能大幅提高自己的计算能力,而不需要投资新的基础设施,开展新的培训或者购买新的软件许可证,云计算最适合希望将数据中心基础设施全部外包的中小型企业,或者希望不用花费高额成本建立更大的数据中心就可获得更高负荷能力的大型企业,不论哪种情况服务消费者都在Internet上使用所需要的服务并只为所使用的服务付费。服务消费者不用守在PC旁边使用PC上的应用程序,或者购买针对特定智能手机、PDA及其他设备的版本,消费者不必拥有云中的基础设施、软件或平台,因此降低了前期成本、资本支出和运营成本,消费者也不用关心云中的服务器和网络怎么维护,消费者可以访问任何地方的多台服务器,不需要知道使用的是哪一台服务器以及它们的位置[1]。
2.2 网格计算
云计算是从网格计算演化来的,能够随需应变地提供资源。网格计算可以在云中,也可能不在,这取决于什么样的用户在使用它;如果用户是系统管理员和集成商,就会关心如何维护云,并升级、安装和虚拟化服务器与应用程序;如果用户是消费者,就不必关心系统是如何运行的。网格计算要求软件的使用可以分为多个部分,将程序的片段作为大的系统映像传递给几千个计算机中,网格的一个问题是如果某个节点上的软件片段失效,可能会影响到其他节点上的软件片段;如果这个片段在其他节点上可以使用故障转移组件,那么就可以缓解问题,但是如果软件片段依赖其他软件片段完成一项或多项网格计算任务,那么问题仍然得不到解决,大型系统镜像以及用于操作和维护的相关硬件可能造成很高的资本和运营支出[2]。
2.3 异同点
云计算和网格计算都是可伸缩的,可伸缩性是通过独立运行在通过Web服务连接的各种操作系统上的应用程序实例的负载平衡实现的; CPU和网络带宽根据需要分配和回收,系统存储能力根据特定时间的用户数量、实例的数量和传输的数据量进行调整。
两种计算类型都涉及到多承租和多任务,即很多用户可以执行不同的任务。访问一个或多个应用程序实例,通过大型的用户池共享资源来降低基础设施成本,提高峰值负荷能力。云计算和网格计算都提供了服务水平协议(SLA)以保证可用性,如果服务达不到承诺的正常运行时间,消费者将由于数据延迟而得到服务补偿。
Amazon S3在云中提供了存储和数据检索Web服务,可以存储只有一个字节的对象,也能存储5 GB甚至 TB级的对象,S3对于对象的每个存储位置使用桶(bucket)作为容器,这些数据采用和Amazon电子商务网站相同的数据存储基础设施安全地实现存储。虽然网格中的存储计算非常适合数据密集型存储,但是存储一个字节大小的对象从经济上来说不合适,在数据网格中,分布式数据的数量必须足够大才能发挥最大效益。
计算型网格关注的是计算量非常大的操作,而云计算中的Amazon Web Services提供了两种实例,标准和高CPU。
3 云计算与网格计算面临的问题
3.1 云计算和网格计算面临着四个问题
3.1.1 阈值策略
假设有一个程序在云中进行信用卡验证,并且碰到了十二月份的销售旺季,于是发现了更高的需求,需要创建更多的实例来满足这种需求,随着销售旺季的过去,这种需求就会减少,资源实例被回收并重新分配给其他应用。为了检验程序能否工作,在转入真正的生产环境之前,在可行性试验阶段需要开发、改进并实现一种阈值策略,看看这种策略能否发现需求的突然增加,从而创建更多的实例以满足这些需求,看看如何回收闲置的资源并转移到其他工作中去。
3.1.2 互操作性问题
如果企业外包或者和一家云计算供应商共同创建应用程序,可能会发现很难转向其他采用私有API或者具有不同导入和导出数据格式的供应商,这就造成了两家云计算供应商之间的互操作性问题,可能需要改变数据的格式或者应用程序逻辑,虽然还没有出现API或者数据导入和导出的云计算业界标准,但IBM和Amazon Web Services展开了合作以实现互操作性。
3.1.3 隐含成本
云计算并没有告诉隐含的成本有哪些,比方说,如果企业要使用服务提供商提供的云中的存储服务和包含 TB级数据的数据库应用程序,可能需要支付很高的网络费用,这笔费用要比在购买新的基础设施、培训新的雇员或者购买新的软件许可证方面节省的成本高。网络成本的另一个例子是,如果企业距离云提供商很远,可能会遇到很长的延迟,尤其是在流量大的情况下。
3.1.4 异常行为
假设信用卡验证应用程序在企业内部数据中心运行得很好,需要通过可行性试验对云中的应用程序进行检验,以检查是否存在无法预料的行为,比方说,检查应用程序如何验证信用卡,在十二月份的销售高峰期如何分配资源和释放闲置的资源,并转向其他任务,如果发现信用卡验证或者释放闲置资源出现异常的结果,那么就需要在将其放入云中之前解决这些问题。
3.2 安全问题
在实际使用中Amazon S3和EC2可能遭遇宕机,尽管SLA提供了数据恢复和针对这种情况的补偿,但这个期间用户失去了销售机会,高管人员得不到需要的重要业务信息。不要被动地等待宕机的发生,用户应该自己检查安全性,看看供应商能在多大程度上恢复数据,测试非常简单,不需要特殊的工具,只需要请求过去存储的数据,看看供应商恢复它需要多长时间,如果时间很长,问问供应商在不同情况下能获得多少服务补偿,检查校验和是否匹配原来的数据。
安全测试的一个方面是用一种可信的算法在本地机器上加密数据,然后使用解密密钥访问云中远程服务器上的数据,如果无法读取曾经访问过的数据,那么就是加密密钥被破坏了或者供应商使用了自己的加密算法。可能需要向供应商了解该算法。另一个是云中数据潜在的问题,为了保护数据,可能需要管理自己的私有密匙,询问供应商私有密钥的管理问题,如果签署的话,Amazon将提供证书。
4 云计算的优点
4.1 云中的软件开发
使用高端数据库开发软件,最可能的选择是使用企业内部数据中心的云服务器池,测试的时候可以使用Amazon Web服务临时扩展资源,这样项目管理人员可以更好地控制成本、管理安全问题和分配资源,项目管理人员可以为不同的云类型分配不同的硬件资源,Web开发云、测试云和产品云,不同类型的云成本也是不一样的;开发云的单位时间成本可能低于产品云,因为SLA和安全性等附加特性都分配在产品云中。
管理人员可以将项目限制为特定的云,比方说,产品云的部分服务可用于产品配置,开发云的服务仅用于开发,为了优化软件开发项目不同阶段的资产,管理人员可以按项目和用户跟踪使用情况,从而获得成本数据,如果发现成本很高,管理人员可花费较低的成本使用Amazon EC2临时扩展资源,只要安全和数据恢复问题已经得到解决。
4.2 环境友好的云计算
云计算的动机之一就是更高的环境友好性。首先,减少了企业内部数据中心运行应用程序需要的硬件,使用云计算替代它们可以减少运行硬件和降低其温度需要的电能,将这些系统整合到远程中心里,可以更有效地进行管理。其次,云计算技术提高了电信技术,比如远程打印和文件传输,有可能降低办公空间、购买新家具、淘汰旧家具、办公室清洁等方面的需求,还减少了开车上班的需要,降低了二氧化碳的释放。
5 结束语
在目前和未来,云计算将在技术行业中扮演非常重要的角色,最终会将IT作为服务提供给使用者。文章提出了如何解决云计算和网格计算中的问题,在按需付费环境中的数据恢复和管理私有密匙的安全问题,帮助做好使用云计算的准备。用户对更大的Internet容量的潜在需求对开发人员和项目团队的成员提出了挑战,处理好Web应用程序设计和潜在的安全问题可以减少开发团队遇到的麻烦。
[1]MICHAEL MILLER.云计算[M].北京:机械工业出版社,2009.
[2]许骏,柳泉波,李玉顺.面向服务的网格计算[M].北京:科学出版社,2009.
[责任编辑:袁太生]
Cloud Computing and Grid Computing
CHANG H ao
(Department of Computer Engineering,Taiyuan university,Taiyuan,030009,China)
Distributed processing,parallel processing and grid computing to promote the development of the computer industry development,cloud computing movement arose.Type of service from the cloud computing,cloud computing and grid computing similarities and differences explore that the cloud computing is better than grid computing.Meanwhile,the article referred to the two common problems faced as well as some security issues.
Services;Cloud computing;Grid computing
book=2010,ebook=17
TP311
A
1671-5977(2010)02-0113-03
2010-02-10
常 浩(1979-),男,山西朔州人,太原大学计算机工程系助教,工学硕士,研究方向:数据挖掘,数据库。