过去的几十年中,计算模式经历了大机时代的终端-主机模式(T-S模式),个人PC时代的客户机-服务器模式(C-S模式),到互联网时代的浏览器-服务器模式(B-S模式),一直到如今的网格计算和云计算的繁荣。
但是,网格计算缺少商业化实现,而且是基于中间件技术,需要用户通过编程或者安装设置来搭建底层架构,这为系统实现增加了难度,更重要的是,这种框架下实现的系统所部署到的网格的计算能力即服务器的数量与硬件指标是其系统的瓶颈,针对中小企业、科研单位、个人用户而言很难负担起太大的开销来满足处理能力要求较高的系统硬件需求。即便大型机构能提供足够硬件设备,在系统不工作或者非满负荷工作时也会造成很多资源被闲置而浪费。与此同时,配备专一业人员来维护网格计算环境也是必需的,这也在一定程度上增加了系统的开销。
用户对互联网内容的贡献飞快的增长,软件更多地以服务的形式通过互联网被发布和访问,而这些网络服务需要海量的存储和强大计算能力来满足日益增长的业务需求,云计算的理念就这样应运而生。云计算的产生并非来自学术理论,而是直接产生于企业计算、互联网领域,它更关心如何扩展系统、如何方便IT管理。导致和激励其发展的主要有三个因素:互联网应用需求刺激;来自于移动宽带网络的普及;数据中心成本的上升。也就是说,云计算虽然是一种新型的计算模式,但是时代的需要恰恰为云计算提供了良好的发展机遇。虽然现在的云计算并不能完美地解决所有的问题,但是在不久的将来,一定会有越来越多的云计算系统投人实用,云计算系统也会不断地被完善, 并推动其他科学技术的发展。
Ps:Google的创始者因为买不起昂贵的商用服务器来设计搜索引擎而采用了众多廉价PC来提供搜索服务。他们成功的把这种PC集群做到比商用服务器更强大,而成本却远远低于商用的硬件与软件,形成了所谓的云计算技术。2003-2006年,Google发表了四篇关于分布式文件系统、并行计算、数据管理和分布式资源管理的文章,奠定了云计算发展的基础。基于这些文章,开源组织Hadoop逐步复制Google的云计算系统,从此开始了Hadoop云计算平台的流行。2008年,Google对外推出Google App Engine应用托管服务,用户可以在GAE平台使用Python和java语言开发各种web应用。2008年10月,微软宣布推出Windows Azure云计算平台。
技术角度讲,在网络计算体系之下,计算机集群(Computer Cluster)可以解决服务器单机性能不够强的问题;网格(Grid)计算则解决了集群计算不支持异构设备、资源无法动态伸缩的缺点。云计算则能有效解决网格计算无法同时支持异构多任务体系、无法实现资源动态流转的不足。可以说,云计算弥补的网络计算的不足,是网络计算的高级阶段。
术语云来源于在计算机网络拓扑图中互联网通常以云表示。
在互联网之后的复杂基础设施的抽象"云计算(Cloud Computing),是一种动态的易扩展的且通常是通过互联网提供虚拟化资源的计算方式,用户不需要了解云内部的细节, 也不必具有云内部的专业知识, 或直接控制基础设施,便能使用相关资源。
云计算的定义可以从狭义和广义两个方面来看。狭义云计算是一种IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源(包括硬件、平台和软件) 。提供资源的网络就是“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性被人们形象地称为像使用水电一样使用IT基础设施。广义云计算是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务。
云计算的组成可以分为6个部分, 它们由下至上分别是:基础设施、存储、平台、应用、服务和客户端。
云计算包括基础设施即服务、平台即服务和软件即服务以及其他依赖于互联网满足客户计算需求的技术趋势
云计算原理是使用特定的软件按照指定的优先级和调度算法将计算或欲存储的数据分配到云环境中的各个节点。其中云中的各个节点指的是分布式的计算机。
云计算未来主要有两个发展方向。一个是构建与应用程序紧密结合的大规模底层基础设施,使得应用能够扩展到很大的规模;;另一个是通过构建新型的云计算应用程序,在网络上提供更加丰富的用户体验。
如今看来,云计算发展极其迅速,作用巨大,事实并非如此顺利。今年2月,Google Gmail邮箱爆发全球性故障,服务中断时间长达4小时。据悉,此次故障是由于位于欧洲的数据中心例行性维护,导致欧洲另一个数据中心过载,连锁效应扩及其他数据中心,最终致使全球性的断线。3月中旬,微软的云计算平台Azure停止运行约22个小时,微软至今没有给出详细的故障原因。不过,业内人士分析认为,Azure平台的这次宕机与其中心处理和存储设备故障有关。除了Google和微软的云计算服务出状况外,去年亚马逊S3服务曾断网6小时。由此看来,云计算也未必百分百安全。虽然云计算厂商们屡次信誓旦旦地宣称,能够保证高达99。99%的可靠性与安全,但用户要相信,那0。01%微小的可能万一降临到自己的头上,带来的损失也是不可估量的。
除了系统故障以外还有其他的隐患:云计算安全缺乏标准;云计算面临潜在的隐私问题。降低和消除风险的办法:控制数据位置;数据加密;数据丢失和备份的处理。
云计算的特点
1. 超大规模。
“云”具有相当的规模, Google云计算已经拥有100 多万台服务器, Amazon 、IBM、微软、Yahoo 等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。
2. 虚拟化技术:
这是云计算最强调的特点, 包括资源虚拟化和应用虚拟化。每一个应用部署的环境和物理平台是没有关系的。通过虚拟半台进行管理达到对应用进行扩展、迁移、备份,操作均通过虚拟化层次完成。支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。
3. 动态可扩展
通过动态扩展虚拟化的层次达到对应用进行扩展的目的。可以实时将服务器加入到现有的服务器机群中, 增加“云”的计算能力。
4. 按需部署
用户运行不同的应用需要不同的资源和计算能力。云计算平台可以按照用户的需求部署资源和计算能力。
5. 高灵活性
现在大部分的软件和硬件都对虚拟化有一定支持, 各种IT资源, 例如: 软件、硬件、操作系统、存储网络等所有要素通过虚拟化,放在云计算虚拟资源池中进行统一管理。同时, 能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。
6. 高可靠性
虚拟化技术使得用户的应用和计算分布在不同的物理服务器上面, 使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,即使单点服务器崩溃, 仍然可以通过动态扩展功能部署新的服务器作为资源和计算能力添加进来, 保证应用和计算的正常运转。
7. 高性价比
云计算采用虚拟资源池的方法管理所有资源,自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,对物理资源的要求较低。可以使用廉价的PC组成云, 而计算性能却可超过大型主机。因此用户可以充分享受“云”的低成本优势。
云计算实现形式
(1) SaaS(软件即服务) 。这种类型的云计算通过浏览器把程序传给成千上万的用户。在用户眼中看来,这样会省去在服务器和软件授权上的开支;从供应商角度而言, 只需要维持一个程序即可, 这样能够减少成本。Salesforce是迄今为止这类服务最为著名的公司, SaaS在人力资源管理程序和ERP中比较常用, Google App s和Zoho Office 也是类似的服务;
(2) 实用计算(Utility Computing) 。这个方法早先就有人提出, 但是直到最近才在Amazon, Sun,IBM和其它提供存储服务和虚拟服务器的公司中新生。这种云计算是为IT行业创造虚拟的数据中心使得其能够把内存、I/O设备、存储和计算能力集中起来,成为一个虚拟的资源池为整个网络提供服务;
(3) 网络服务。同SaaS关系密切,网络服务提供者们提供AP I, 让开发者能够开发更多基于互联网的应用, 而不是单机程序;
(4) 平台即服务(PaaS),这种形式的云计算,是把开发环境作为一种服务来提供。可以使用中间商的设备开发自己的程序, 并通过互联网和其服务器传输到用户手中
(5) MSP (管理服务提供商) 是最古老的云计算运用之一。这种应用更多的是面向IT行业而不是终端用户, 常用于邮件病毒扫描、程序监控等;
(6) 商业服务平台。SaaS和MSP 的混合应用, 该类云计算为用户和提供商之间的互动提供了一个平台。比如用户个人开支管理系统, 能够根据用户的设置来管理其开支并协调其订购的各种服务;
(7) 互联网整合。将互联网上提供类似服务的公司整合起来, 以便用户能够更方便地比较和选择自己的服务供应商。
云计算平台
目前,Amazon、Google、IBM、Microsoft、Sun 等公司提出的云计算基础设施或云计算平台,虽然比较商业化,但对于研究云计算却是比较有参考价值的。当然,针对目前商业云计算解决方案存在的种种问题,开源组织和学术界也纷纷提出了许多云计算系统或平台方案。
Google 云计算平台
目前Google是云计算最大的实践者,正在运营最接近云计算特征的商用平台—在线应用服务托管平台Google 应用引擎( GAE)。软件开发者可以在此之上编写应用程序,企业客户可以使用定制化的网络服务。例如开发人员根据提供的服务可以编译基于Python 的应用程序,并可免费使用Google 的基础设施来进行托管(最高存储空间达500MB) 。对于超过此上限的存储空间,Google按“每CPU 内核每小时”10 至12 美分及1GB 空间15 至18 美分的标准进行收费。典型的应用方式有Gmail 、Google Picasa Web以及可收费的Google 应用软件套件。
Google 的云计算基础设施是在最初为搜索应用提供服务基础上逐步扩展的,针对内部网络数据规模超大的特点,Google 提出了一整套基于分布式并行集群方式的基础架构。主要由分布式文件系统Google File System (GFS)、大规模分布式数据库Big Table、程序设计模式Map/Reduce、分布式锁机制Chubby 等几个相互独立又紧密结合的系统组成。GFS 是一个分布式文件系统,它能够处理大规模的分布式数据,每个GFS 集群由一个主服务器和多个块服务器组成,被多个客户端访问。主服务器负责管理元数据,存储文件和块的名空间、文件到块之间的映射关系以及每一个块副本的存储位置;块服务器存储块数据,文件被分割成为固定尺寸(64 MB)的块,块服务器把块作为Linux 文件保存在本地硬盘上。为了保证可靠性,每个块被缺省保存3个备份。主服务器通过客户端向块服务器发送数据请求,而块服务器则将取得的数据直接返回给客户端。
开源云计算平台Hadoop
Hadoop是Apache基金会的开源云计算平台项目,是从Nutch 项目中分离出来的专门负责分布式存储以及分布式运算的项目,由于得到Yahoo、Amazon 等公司的直接参与和支持, 已成为目前应用最广、最成熟的云计算开源项目。Hadoop由分布式文件系统HDFS(hadoop distributed file system,HDFS)、MapReduce分布式计算模型、锁服务、结构化数据存储附属等组成,是Google文件系统与MapReduce分布式计算框架及相关基础服务的开源实现。此外,国内外很多开源云计算平台项目也都提出了较完整的体系结构设计,比较成熟的包括AbiCloud,Eucalyptus,MongoDB,ECP,Nimbus等项目,均有助于对云计算平台的理解。
Amazon 亚马逊的弹性计算云
亚马逊是以在线书店和电子零售业起家的,如今已在业界享有盛誉,它的云计算服务不涉及应用层面的计算,主要是基于虚拟化技术提供通过底层的可通过网络访问的存储、计算机处理、信息排队和数据库管理系统等租用式服务。亚马逊的云计算建立在其公司内部的大规模集群计算的平台之上,并提供托管式的计算资源出租服务,用户可以通过远端的操作界面选择和使用服务。
Amazon 是最早提供云计算服务的公司之一,该公司的弹性计算云(elastic compute cloud,EC2)平台建立在公司内部的大规模计算机、服务器集群上,平台为用户提供网络界面操作在“云端”运行的各个虚拟机实例(instance)。用户只需为自己所使用的计算平台实例付费,运行结束后计费也随之结束。弹性计算云用户使用客户端通过SOAP over HTTPS 协议与Amazon 弹性计算云内部的实例进行交互。弹性计算云平台为用户或者开发人员提供了一个虚拟的集群环境,在用户具有充分灵活性的同时,也减轻了云计算平台拥有者(Amazon 公司)的管理负担。弹性计算云中的每一个实例代表一个运行中的虚拟机。用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的管理员权限。虚拟机的收费也是根据虚拟机的能力进行费用计算的,实际上,用户租用的是虚拟的计算能力。通过这种方式,用户不必自己去建立云计算平台。总而言之,Amazon通过提供弹性计算云,满足了小规模软件开发人员对集群系统的需求,减小了维护负担。其收费方式相对简单明了:用户使用多少资源,只需为这一部分资源付费即可。
IBM“蓝云”计算平台
IBM 的“蓝云(blue cloud)”计算平台是一套软、硬件平台,将Internet上使用的技术扩展到企业平台上,使得数据中心使用类似于互联网的计算环境。是由一个数据中心、IBM Tivoli 监控软件(Tivoli monitoring)、IBM DB2 数据库、IBM Tivoli 部署管理软件(Tivoli provisioning manager)、IBM WebSphere 应用服务器以及开源虚拟化软件和一些开源信息处理软件共同组成。“蓝云”采用了Xen、PowerVM 虚拟技术和Hadoop 技术,以期帮助客户构建云计算环境。“蓝云”软件平台的特点主要体现在虚拟机以及所采用的大规模数据处理软件Hadoop,侧重于云计算平台的核心后端,未涉及用户界面。由于该架构是完全基于IBM 公司的产品设计的,所以也可以理解为“蓝云”产品架构[12]。2008年2 月, IBM 成功在无锡科教产业园设立中国第一个商业化运营的云计算中心。它提供了一个可运营的IT 支撑体系,当一个公司在科教产业园成立后,它的部分软硬件可以通过云计算中心来获取和使用,大大降低基础设施的建设成本。
微软的Azure “蓝天”云平台
微软紧跟云计算步伐,于2008 年10 月推出了Windows Azure 操作系统,是继Windows 取代DOS 之后,微软的又一次颠覆性转型——通过在互联网架构上打造新云计算平台,让Windows 真正由PC 延伸到“蓝天”上。微软拥有全世界数以亿计的Windows 用户桌面和浏览器,现在它将它们连接到“蓝天”上。Azure 的底层是微软全球基础服务系统,由遍布全球的第四代数据中心构成。微软的Azure 云平台包括4个层次。底层是微软全球基础服务系统(global foundation service,GFS),由遍布全球的第四代数据中心构成;云基础设施服务层(cloud infrastructure service)以Windows Azure 操作系统为核心,主要从事虚拟化计算资源管理和智能化任务分配;Windows Azure 之上是一个应用服务平台,它发挥着构件(building block)的作用,为用户提供一系列的服务,如Live服务、NET 服务、SQL 服务等;再往上是微软提供给开发者的API、数据结构和程序库,最上层是微软为客户提供的服务(finished service), 如Windows Live、Office Live、Exchange Online 等。
Sun 的云基础设施
Sun 提出的云基础设施体系结构包括服务、应用程序、中间件、操作系统、虚拟服务器、物理服务器等6 个层次,形象地体现了其提出的“云计算可描述在从硬件到应用程序的任何传统层级提供的服务”的观点。
Salesforce
Salesforce 是云计算中软件即服务厂商的先驱。该公司正在建造自己的网络应用软件平台Force。 Com,这一平台可作为其他企业自身软件服务的基础。Force。 com 包括关系数据库、用户界面选项、企业逻辑以及一个名为Apex 的集成开发环境。程序员可以在平台的Sandbox 上对他们利用Apex 开发出的应用软件进行测试,然后在Sales2force 的App Exchange 目录上提交完成后的代码。
关键技术
云计算关键技术按需部署是云计算的核心。要解决按需部署,必须解决资源的动态可重构、监控和自动化部署等,而这些又需要以虚拟化、高性能存储、处理器、高速互联网等技术为基础。所以云计算除了需要仔细研究其体系结构外,还要特别注意研究资源的动态可重构、自动化部署、资源监控、虚拟化、高性能存储、处理器等关键技术。体系结构为了有效支持云计算,其体系结构必须支持几个关键特征。首先, 系统必须是自治的, 即需要内嵌有自动化技术,以减轻或消除人工部署和管理任务, 而允许平台智地响应应用的要求; 其次, 云计算的架构必须是敏捷的, 能够对需求信号或变化做出迅还的反应。内嵌的虚拟化技术和集群化技术,能应付增长或服务级要求的快速变化。云计算平台的体系结构是一个云服务器的互连网络图。
云计算是分布式处理(Distributed Computing)、并行处理( Parallel Computing)和网格计算( Grid Computing)的发展,它的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。打个比方,这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。
云计算原理是使用特定的软件按照指定的优先级和调度算法将计算或欲存储的数据分配到云环境中的各个节点。其中云中的各个节点指的是分布式的计算机。
云计算是以数据为中心的一种数据密集型的超级计算。在数据存储、数据管理、编程模式、并发控制、系统管理等方面具有自身独特的技术。
海量分布式存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证数据的可靠性,即为同一份数据存储多个副本,以高可靠软件来弥补硬件的不可靠,从而提供廉价可靠的系统。另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。云计算的数据存储技术主要有谷歌的非开源的GFS(Google File System)和Hadoop开发团队开发的GFS的开源实现HDFS(Hadoop Distributed File System)。大部分的IT厂商,包括Yahoo,Intel的云计划采用的都是HDFS的数据存储技术。
并行编程模式
为了高效利用云计算的资源,使用户能更轻松的享受云计算带来的服务,云计算的编程模型必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。云计算采用Map/Reduce编程模式,将任务自动分成多个子任务,通过Map和Reduce两步实现任务在大规模计算节点中的调度和分配。该模型是一种处理和产生大规模数据集的编程模型。Map-Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Map-Reduce这种编程模型并不仅适用于云计算,在多核和多处理器、cell processor以及异构机群上同样有良好的性能。Map-Reduce是一种处理和产生大规模数据集的编程模型,程序员在Map函数中指定对各分块数据的处理过程,在Reduce函数中指定如何对分块数据处理的中间结果进行归约,用户只需要指定map和reduce函数来编写分布式的并行程序。当在集群上运行Map- Reduce程序时,程序员不需要关心如何将输入的数据分块、分配和调度,同时系统还将处理集群内节点失败以及节点间通信的管理等。执行一个Map-Reduce程序需要五个步骤:输入文件、将文件分配给多个worker并行地执行、写中间文件(本地写)、多个Reduce workers同时运行、输出最终结果。本地写中间文件在减少了对网络带宽的压力同时减少了写中间文件的时间耗费。执行Reduce时,根据从Master获得的中间文件位置信息,Reduce使用远程过程调用,从中间文件所在节点读取所需的数据。Map-Reduce模型具有很强的容错性,当worker节点出现错误时,只需要将该worker节点屏蔽在系统外等待修复,并将该worker上执行的程序迁移到其他worker上重新执行,同时将该迁移信息通过Master发送给需要该节点处理结果的节点。Map- Reduce使用检查点的方式来处理Master出错失败的问题,当Master,出现错误时,可以根据最近的一个检查点重新选择一个节点作为Master,并由此检查点位置继续运行。
Map/ Reduce 通过“Map ( 映射) ”和“Reduce(化简) ”这样两个简单的概念来参加运算,用户只需要提供自己的Map 函数以及Reduce 函数就可以在集群上进行大规模的分布式数据处理。Map/ Reduce 不仅仅是一种编程模型,同时也是一种高效的任务调度模型,该编程模型仅适用于编写任务内部松耦合、能够高度并行化的程序。因此,如何改进这种模式,使程序员得能够轻松的编写紧耦合的程序,运行时能高效的调度和执行任务,是Map/ Reduce 编程模型未来的发展方向。
数据管理技术
为了能够对大型数据进行高效的分析处理和特定数据的快速搜索,云计算系统必须具备以下特点的数据管理技术,即对海量数据的存储、读取后进行大量的分析,数据的读操作频率要远大于数据的更新频率,采用了数据库领域中列存储的数据管理模式,将表按列划分后存储的读优化数据管理。云计算的数据管理技术最著名的是Google 的Big2Table 数据管理技术,同时Hadoop 开发团队正在开发类似BigTable 的开源数据管理模块。由于采用列存储的方式管理数据,如何提高数据的更新速率以及进一步提高随机读速率,将是未来数据管理技术必须解决的问题。
分布式资源管理技术
在多分节并发执行环境,分布式资源管理系统是保证系统状态正确性的关键技术。系统状态需要在多节点之间同步,关键节点出现故障时需要迁移服务,分布式资源管理技术通过锁机制协调多任务对于资源的使用,从而保证数据操作的一致性。google的chubby是最著名的分布式资源管理系统。
云计算平台管理技术
云计算资源规模庞大,一个系统的服务器数量可能会高达10万台并跨越几个坐落于不同物理地点的数据中心,同时还运行成百上千种应用,如何有效地管理这些数据服务器,保证这些服务器组成的系统能够提供7*24h不间断服务是一个巨大的挑战。云计算系统管理技术是云计算的“神经网络”,通过这些技术能够使大量的服务器协同工作,方便地进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可运营、可管理。
云计算和其它的一些区分
云计算和网格的区别
网格的定义:支持在动态变化的分布式虚拟组织间共享资源,协同解决问题的系统。云计算可以被看成是网格计算和虚拟化技术的融合,即利用网格分布式计算处理的能力,将IT 资源构筑成一个资源池,再加上成熟的服务器虚拟化、存储虚拟化技术,以便用户可以实时地监控和调配资源。可以说云计算的概念涵盖了网格计算,并且加上了更多企业级安全的因素。
云计算和网格计算的一个重要区别在于资源调度模式。云计算采用集群来存储和管理数据资源,运行的任务以数据为中心。即调度计算任务到数据存储节点运行。而网格计算,则以计算为中心。网格将数据和计算资源虚拟化,而云计算则进一步将硬件资源虚拟化,活用虚拟机技术,对失败任务重新执行,而不必重启任务。
<表格>网格计算和云计算的主要区别
区别点 |
网格计算 |
云计算 |
发起者 |
学术界 |
工业界 |
标准化 |
是【有统一的国际标准OGSA/WSRF】 |
否【开放云计算联盟OCC】 |
开源 |
是 |
部分开源 |
互联网络 |
因特网, 高延时低带宽 |
高速网络, 低延时高带宽 |
关注点 |
计算密集型 |
数据密集型 |
节点 |
分散的PC或服务器 |
集群 |
获取的对象 |
共享的资源 |
提供的服务 |
安全保证 |
公私钥技术,账户技术 |
保证隔离性 |
节点操作系统虚拟化 |
相同的系统UNIX虚拟数据和计算资源 |
多种操作系统上的虚拟机虚拟软硬件平台 |
节点管理方式 |
分散式管理 |
集中式管理 |
易用性 |
难以管理、使用 |
用户友好 |
付费方式 |
/ |
按时付费 |
失败管理 |
失败的任务重启 |
虚拟机迁移到其他节点继续执行 |
对第三方插件的兼容性 |
难以兼容 |
易于兼容,通过提供不同的服务来兼容 |
自我管理方式 |
重新配置 |
重新配置,自我修复 |
|
云计算与分布式计算
分布式计算是指在一个松散或严格约束条件下使用一个硬件和软件系统处理任务,系统包含多个处理器单元或存储单元、多个并发的过程、多个程序。一个程序被分成多个部分,同时在通过网络连接起来的计算机上运行。分布式计算类似于并行计算,但并行计算通常用于指一个程序的多个部分同时运行于某台计算机上的多个处理器上。所以,分布式计算通常必须处理异构环境、多样化的网络连接、不可预知的网络或计算机错误。很显然,云计算属于分布式计算的范畴,是以提供对外服务为导向的分布式计算形式。云计算把应用和系统建立在大规模的廉价服务器集群之上,通过基础设施与上层应用程序的协同构建以达到最大效率利用硬件资源的目的以及通过软件的方法容忍多个节点的错误,达到了分布式计算系统可扩展性和可靠性两个方面的目标。
云计算与并行计算
简单而言,并行计算就是在并行计算机上所做的计算,它与常说的高性能计算(high performance computing)、超级计算(super computing)是同义词,因为任何高性能计算和超级计算总离不开并行技术。并行计算是在串行计算的基础上演变而来,它努力仿真自然世界中,一个序列中含有众多同时发生的、复杂且相关事件的事务状态。近年来,随着硬件技术和新型应用的不断发展,并行计算也有了若干新的发展,如多核体系结构、云计算、个人高性能计算机等。所以,云计算是并行计算的一种形式,也属于高性能计算、超级计算的形式之一。作为并行计算的最新发展计算模式,云计算意味着对于服务器端的并行计算要求的增强,因为数以万计用户的应用都是通过互联网在云端来实现的, 它在带来用户工作方式和商业模式的根本性改变的同时,也对大规模并行计算的技术提出了新的要求。
云计算与效用计算
效用计算是一种基于计算资源使用量付费的商业模式, 用户从计算资源供应商获取和使用计算资源并基于实际使用的资源付费。在效用计算中,计算资源被看作是一种计量服务,就像传统的水、电、煤气等公共设施一样。传统企业数据中心的资源利用率普遍在20%左右,这主要是因为超额部署——购买比平均所需资源更多的硬件以便处理峰值负载。效用计算允许用户只为他们所需要用到并且已经用到的那部分资源付费。云计算以服务的形式提供计算、存储、应用资源的思想与效用计算非常类似。两者的区别不在于这些思想背后的目标,而在于组合到一起,使这些思想成为现实的现有技术。云计算是以虚拟化技术为基础的,提供最大限度的灵活性和可伸缩性。云计算服务提供商可以轻松地扩展虚拟环境,以通过提供者的虚拟基础设施提供更大的带宽或计算资源。效用计算通常需要类似云计算基础设施的支持,但并不是一定需要。同样,在云计算之上可以提供效用计算,也可以不采用效用计算。
云计算与虚拟化
虚拟化是云计算的技术基础,它将底层的硬件,包括服务器、存储与网络设备全面虚拟化,在虚拟化技术之上,通过建立一个随需而选的资源共享、分配、管控平台,可根据上层的数据可以根据业务型态的不同需求,搭配出各种互相隔离的应用,形成一个服务导向的可伸缩的IT基础架构,从而为用户提供以出租IT基础设施资源为形式的云计算服务。
云计算与SaaS
SaaS(软件即服务)是指运营商通过搭建基于Web的软件平台,向企业提供软件线上租赁使用的模式,是云计算服务的一种用户端表现形式。而云计算还可以提供其它不同于SaaS形式的服务,例如亚马逊的计算资源出租服务。目前多数SaaS厂商并不是基于云计算架构,没有建立符合云计算技术特征的数据中心,也不具备大规模的可租用的计算资源。云计算技术对SaaS提供商在解决硬件或带宽等资源不足等方面是一种可选的技术路线,能够扩展SaaS提供商服务范围,提升SaaS提供商对资源的利用能力。
云计算与P2P
云计算和P2P都致力于资源共享,以达到资源利用率的最大化。在云计算架构中,计算机以集群的形式组织起来,由数据处理中心进行自动化的统一管理和资源分配。而P2P强调去中心化的理念,结点之间直接互联,弱化集中式的管理中心。P2P是对等联网,强调互联双方的对等关系,通过直接交互共享资源,但资源整合利用的能力较低,纯P2P网络一般通过对等网络自身实现所设计的功能,本身很少对外提供可管控、可定制的服务。