何 明,郑 翔,赖海光,姜 峰
(解放军理工大学指挥自动化学院 南京 210007)
2006年底,谷歌高级软件工程师比希利亚利用谷歌特有的“20%自由时间”在母校华盛顿大学启动了一个代号为“Google 101”的项目,购买了40台普通的服务器组成了一个集群,利用谷歌数据计算的核心软件MapReduce将每个任务分解为成百上千块小任务,然后发送到计算机集群中,由每台计算机传送回自己的那部分信息,MapReduce将其整合并形成答案,这其实就是云计算的雏形。美国eWeek网站评选出2009年IT业五大科技发展趋势,云计算居首。
云计算是一个新兴的商业计算模型。云计算有可能颠覆软件产业,应用和许可被随时购买和生效,应用在网络上而不是本机上运行。这种转变将数据中心放在网络的核心位置,而所有的应用所需要的计算能力、存储和带宽都由数据中心提供。云计算不仅影响商业模式,还影响开发、部署、运行、交付应用的方式。简而言之,有了云计算之后,用户不再需要部署计算能力很强的客户端,而是可以直接从“云”里(服务器端)获得计算能力,并按照使用情况付费。这种特性经常被比喻为像水电一样使用硬件资源,按需购买和使用。
云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取。云计算将计算从用户终端集中到“云端”,作为应用通过互联网提供给用户,计算通过分布式计算等技术由多台计算机共同完成。用户只关心应用的功能,而不关心应用的实现方式,应用的实现和维护只由其提供商完成,用户根据自己的需要选择相应的应用。云计算不是一个工具、平台或者架构,而是一种计算的方式。
云计算服务层次的划分与相关云产品如图1、表1所示。
表1 云计算服务与企业产品对应示例
云计算正成为行业中的热点概念。云计算集成了现有的虚拟化、网格计算和效用计算的技术,并基于此建立了云。为了更好地理解云计算的概念,有必要将与之关联的概念做一阐述。
2.2.1 效用计算
效用计算(utility computing)是一种提供计算资源的商业模式,用户从计算资源供应商获取和使用计算资源,并基于实际使用的资源付费。效用计算主要给用户带来经济效益,是一种分发应用所需资源的计费模式。相对而言,云计算是一种计算模式。它代表了在某种程度上共享资源进行设计、开发、部署、运行应用,以及资源的可扩展收缩和对应用连续性的支持。
2.2.2 分布式计算
分布式计算(distributed computing)是指在一个松散或严格约束条件下使用一个硬件和软件系统处理任务,这个系统包含多个处理器单元或存储单元、多个并发的过程、多个程序。一个程序被分成多个部分,同时在通过网络连接起来的计算机上运行。分布式计算类似于并行计算,但并行计算通常指一个程序的多个部分同时运行于某台计算机上的多个处理器上。所以,分布式计算通常必须处理异构环境、多样化的网络连接、不可预知的网络或计算机错误。
2.2.3 网格计算
网格计算(grid computing)是指分布式计算中两类比较广泛使用的子类型:一类是在分布式的计算资源支持下作为服务被提供的在线计算或存储;另一类是由一个松散连接的计算机网络构成的一个虚拟超级计算机,可以用来执行大规模任务,如图2所示。
网格计算强调资源共享,任何人都可以作为请求者使用其他节点的资源,任何人都需要贡献一定资源给其他节点。网格计算强调将工作量转移到远程的可用计算资源上;云计算强调专有,任何人都可以获取自己的专有资源,并且这些资源是由少数团体提供的,使用者不需要贡献自己的资源。在云计算中,计算资源被转换形式去适应工作负载,它支持网格类型应用,也支持非网格环境,比如运行传统或Web 2.0应用的三层网络架构。网格计算侧重并行的计算集中性需求,并且难以自动扩展;云计算侧重事务性应用,大量的单独的请求,可以实现自动或半自动的扩展。表2对网格计算和云计算进行了对比。
表2 网格计算和云计算的对比
2.2.4 服务器集群
服务器集群是指将一组服务器关联起来,使它们在外界从很多方面看起来如同一台服务器。集群内的服务器之间一般通过局域网连接,通常用来改善性能和可用性,但一般而言比具有同等性能/功能/可用性的单台主机具有更低的成本。网格通常更加松散连接、异构、地理位置分散,主机之间信任度更低。
2.2.5 虚拟化
虚拟化指对计算资源进行抽象的一个广义概念。虚拟化对上层应用或用户隐藏了计算资源的底层属性。既包括将单个的资源(如一个服务器、一个操作系统、一个应用程序、一个存储设备)划分成多个虚拟资源,也包括将多个资源整合成一个虚拟资源。虚拟化是云的一个组成部分。云比虚拟化先进的是可以为最终用户在虚拟机上直接部署用户定制的IT环境。
云计算的内涵非常丰富,不同行业的人从不同的角度结合自身的业务方向和现实利益给予了它不同的解释。它的基本原理是能将动态、可伸缩的IT计算资源以服务方式通过Internet提供给用户。具体来说,就是把计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更加相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。云计算可提供一种标准的、简化的、集中式的按需使用平台,具有自助服务、快速反应、弹性和可伸缩等特点。真正的云计算平台应该能实现以下5个特性[1]:
·以用户为中心;
·云计算是以任务为中心的;
·云计算是易于访问的;
·云计算是智能的;
·云计算是可编程的。
云计算平台是一个强大的“云”网络,连接了大量并发的网络计算和服务,可利用虚拟化技术扩展每一个服务器的能力,将各自的资源通过云计算平台结合起来,提供超级计算和存储能力。通用的云计算体系结构[2]如图3所示。
(1)云用户端:提供云用户请求服务的交互界面,也是用户使用云的入口,用户通过Web浏览器可以注册、登录及定制服务、配置和管理用户。打开应用实例与本地操作桌面系统一样。
(2)服务目录:云用户在取得相应权限(付费或其他限制)后可以选择或定制服务列表,也可以对已有服务进行退订操作,在云用户端界面生成相应的图标或列表来展示相关的服务。
(3)管理系统和部署工具:提供管理和服务,能管理云用户,能对用户的授权、认证和登录进行管理,并可以管理可用计算资源和服务,接收用户发送的请求,并根据用户请求转发到相应的应用程序,调度资源智能地部署资源和应用,动态地部署、配置和回收资源。
(4)监控:监控和计量云系统资源的使用情况,以便做出迅速反应,完成节点同步配置、负载均衡和资源监控,确保资源能顺利分配给合适的用户。
(5)服务器机群:虚拟的或物理的服务器,由管理系统管理,负责高并发量的用户请求处理、大运算量计算处理、用户Web应用服务,云数据存储时采用相应数据切割算法以并行方式上传和下载大容量数据。
(6)用户可通过云用户端从列表中选择所需服务,其请求通过管理系统调度相应的资源,并通过部署工具分发请求、配置Web应用。
云计算技术体系结构和云计算体系结构不是一个概念,后者从服务的角度来划分云,主要突出了云服务能给用户带来什么。而云计算的技术体系结构主要从系统属性和设计思想角度来说明云,是对软硬件资源在云计算技术中所充当角色的说明。参考文献[3]提出从云计算技术角度来分,云计算大致由物理资源、虚拟化资源、中间件管理部分和服务接口4部分构成,如图4所示。
最简单的云计算技术在网络服务中已经随处可见,如搜索引擎、网络信箱等。Google的Applications(包括Gmail、Gtalk、Google日历)及FaceBook等都是“云计算”的具体应用。云计算可以让你体验10万亿次/s的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。简言之,云计算是一种基于互联网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成了一片电脑云。云计算对服务提供商和用户而言的意义见表3。
表3 云计算的意义
2007年,多家企业推出了云计算计划和服务。亚马逊推出了名为“弹性计算机云”的服务,供中小软件企业按照需求购买亚马逊数据中心的计算能力;Sun推出了 “黑盒子”计划,同样基于“云计算”原理,为政府、企业和大学的数据中心随时提供额外的计算能力;IBM宣布了 “蓝云”计划,并安排200名工程师参与这一计划;雅虎将一个由4 000台计算机组成的“云”开放给卡内基·梅隆大学的研究人员;微软宣布将投资5亿美元在爱尔兰首都都柏林建设其第一个欧洲数据中心,用来支持MSN门户、Windows Live、Hotmail、照片共享、博客和在线存储等一系列在线服务。
云计算技术的发展面临一系列的挑战,例如:使用云计算来完成任务能够获得哪些优势;可以实施哪些策略、做法或立法来支持或限制云计算的采用;如何提供有效的计算和提高存储资源的利用率;对云计算和传输中的数据以及静止状态的数据,将有哪些独特的限制;安全需求有哪些;提供可信环境都需要些什么。此外,云计算虽然给企业和个人用户提供了创造更好的应用和服务的机会,但同时也给了黑客机会。云计算宣告了低成本提供超级计算服务的可能,使黑客投入极少的成本,就能获得极大的网络计算能力,一旦这些“云”被用来破译各类密码、进行各种攻击,将会对用户的数据安全带来极大的危险。所以,在这些安全问题和危险因素被有效控制之前,云计算很难得到彻底的应用和接受。
云计算将对互联网应用、产品应用模式和lT产品开发方向产生影响。云计算技术是未来技术的发展趋势,也是包括Google在内的互联网企业前进的动力和方向,未来主要朝以下3个方向发展。
·手机上的云计算。云计算技术提出后,对客户终端的要求大大降低,瘦客户机将成为今后计算机的发展趋势。瘦客户机通过云计算系统可以实现目前超级计算机的功能,而手机就是一种典型的瘦客户机,云计算技术和手机的结合将实现随时、随地、随身的高性能计算。
·云计算时代资源的融合。云计算最重要的创新是将软件、硬件和服务共同纳入资源池,三者紧密地结合起来融合为一个不可分割的整体,并通过网络向用户提供恰当的服务。网络带宽的提高为这种资源融合的应用方式提供了可能。
·云计算的商业发展。最终人们可能会像缴水电费那样去为自己得到的计算机服务缴费。这种使用计算机的方式对于诸如软件开发企业、服务外包企业、科研单位等对大数据量计算存在需求的用户来说无疑具有相当大的诱惑力。
1 Miller M著,姜进磊等译.云计算.北京:机械工业出版社,2009
2 王鹏.走进云计算.北京:人民邮电出版社,2009
3 刘鹏.云计算.北京:电子工业出版社,2010