云计算现状分析

时间:2022-11-21 15:04:35

1绪论

1.1云计算的定义

云计算是基于互联网相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源,是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS、IaaS、MSP等先进的商业模式把这强大的计算能力分布到终端用户手中。CloudComputing的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。云计算也可以从狭义和广义来看:狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。

本文认为云计算系统是以付费使用的形式向用户提供各种服务的分布式计算系统, 系统对用户来讲是透明的, 其本质是对虚拟化的计算和存储资源池进行动态部署、动态分配、重分配、实时监控的系统, 从而向用户提供满足其需求的计算服务、数据存储服务以及平台服务。

1.2云计算的发展史

(1)1983年,太阳电脑提出了“网络是电脑”。

 (2)2006年3月,亚马逊推出了弹性计算云服务。

(3)2006年8月9日,Google首席执行官埃里克·施密特 (Eric Schmidt) 在搜索引擎大会上首次提出“云计算”的概念。

(4)2007年10月,Google与IBM开始在美国大学校园,包括卡内基美隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的计划。

(5)2008年1月30日,Google宣布在*启动“云计算学术计划”,将与*台大、交大等学校合作,将这种先进的大规模、快速计算技术推广到校园。

(6)2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。

 (7)2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算” (Cloud Computing) 商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。

(8)2010年3月5日,Novell与云安全联盟 (CSA)共同宣布了一项供应商中立计划,名为“可信任云计算计划”。

(9)2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码计划,微软在2010年10月表示支持OpenStack与WindowsServer 2008 R2的集成; 而Ubuntu已把OpenStack加至11.04版本中。2011年2月,思科系统正式加入Open Stack,重点研制Open Stack的网络服务。

(10)目前,各大IT 公司纷纷提出了“云计划”。例如亚马逊的AWS、IBM 和谷歌联合进行的“蓝云”计划。同时学术界也开始对云计算进行更深层次的研究。比如谷歌同华盛顿大学以及清华大学合作启动的云计算学术合作计划。

由此可见,在各大公司以及学术界的共同推动下,云计算技术将会持续发展。

1.3云计算的特点

(1) 超大规模

“云计算管理系统”具有相当的规模,比如Google云计算已经拥有100多万台服务器,IBM、微软、Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。

(2) 虚拟化

     云计算支持用户在任意位置、使用各种终端获取相应服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。

(3) 高可靠性

“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机更可靠、更安全。

(4) 通用性

云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。

(5) 高可扩展性

目前主流的云计算平台均根据SPI架构在各层集成功能各异的软硬件设备和中间件软件,大量中间件软件和设备提供针对该平台的通用接口,允许用户添加本层的扩展设备。部分云与云之间提供对接接口,允许用户在不同云之间进行数据迁移。类似功能更大程度上满足了用户需求,集成了计算资源。

(6) 按需服务

以服务的形式为用户提供应用程序、数据存储、基础设施等资源,并可以根据用户需求,自动分配资源,而不需要系统管理员干预。
(7) 成本低廉

由于“云”具有特殊的容错措施,可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户经常可以以相对较低的成本完成相对较强的任务。  

云计算新的范式特点带来了众多优势,同时引入了一些新的问题。如表1所示。

表1  计算机的优势和对应问题

云计算

优势

问题

 

安全性

 

缩短单机密集数据处理任务时间,把处理任务分配到各个节点计算, 提高了效率。

用户关注传输到云计算端的敏感处理数据是否安全。

 

 

可靠性

 

 

减少用户购买物理硬件设备的费用,资源以服务的方式进行租赁,降低用户资金投入的前期风险,促进用户把精力投入业务中。

虽然用户不需要维护软件、硬件,但是用户使用云计算服务的质量依赖云计算本身的质量。

 

可维护性

提供专业的软件管理和维护服务,减少了普通用户软件平台的日常维护管理成本。

是否所有的软件应用都适合在云计算环境下开发应用,而以往的软件应用如何移植到云计算环境下。

 

交互性

 

用户可以根据业务需要动态地按需请求云计算服务,处理高峰期负载并在非高峰期释放资源。

云计算服务提供商的实际扩展能力有限,需要多个云计算服务商间的交互,而云计算服务之间的交互性较差。

1.4云计算的体系结构


云计算可以按需提供弹性资源,它的表现形式是一系列服务的集合。结合当前云计算的应用与研究,其体系架构可分为核心服务层、服务管理层、用户访问接口层。[①]

(1) 核心服务层

云计算核心服务通常可以分为3个子层: 基础设施层(IaaS)、平台层 (PaaS)、应用层(SaaS) 。

    a.基础设施层。主要包括计算资源和存储资源,整个基础设施也可以作为一种服务向用户提供。

    b.平台层。在基础设施之上的平台层可以认为是整个云计算系统的核心层,主要包括并行程序设计和开发环境、结构化海量数据的分布式存储管理系统、海量数据分布式文件系统以及实现云计算的其他系统管理工具,平台层主要为应用程序开发者设计,开发者不用担心应用运行时所需要的资源,平台层提供应用程序运行及维护所需要的一切平台资源。

c.应用层。它是面向用户提供简单的软件应用服务以及用户交互接口等,这一层称为软件即服务。

(2)服务管理层

服务管理层是提供对所有层次云计算服务的管理功能。

安全管理提供对服务的授权控制、用户认证、审计、一致性检查等功能;服务组合提供对自己已有云计算服务进行组合的功能;服务目录管理服务提供服务目录和服务本身的管理功能,管理员可以增加、删除服务;服务使用计量对用户的使用情况进行统计,并以此为依据对用户进行计费;服务质量管理提供对服务的性能、可靠性、可扩展性进行管理。

(3)用户访问接口层

用户访问接口层是方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。

服务目录是一个服务列表,用户可以从中选择需要使用的云计算服务;订阅管理是提供给用户的管理功能,用户可以查阅或终止自己订阅的服务;服务访问是针对每种层次的云计算服务提供的访问接口,针对资源层的访问可能是远程桌面或者windows, 针对应用层的访问,提供的接口可能是web。

2云计算的关键技术

2.1关键技术的研究现状

 2.1.1虚拟化技术

虚拟化技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。虚拟化是为某些对象创造的虚拟化版本,比如操作系统、计算机系统和网络资源等。它是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法访问抽象后的资源,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看和维互资源。虚拟化技术实现了物理资源的逻辑抽象和统一表示,它是指计算元件在虚拟的基础上而不是真实硬件的基础上运行。通过虚拟化技术可以提高资源的利用率,并能够根据用户业务需求的变化,快速、灵活地进行资源部署,从而使得不同层次的使用者、开发及维护人员,能够方便的使用开发及维护存储的数据、应用于计算和管理的程序,实现动态负载均衡;同时与硬件无关的特性带来系统自愈功能,提升系统的可靠性。在云计算实现中,计算系统虚拟化是一切建立在“云”上的服务与应用的基础。

2.1.2 数据存储技术

为保证高可用性、高可靠性和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。这样用户就无需考虑存储容量、数据存储位置以及数据的安全性和可靠性等问题。

另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。云计算的数据存储技术的主要代表有谷歌的GFS(Google File System)。GFS是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统,它和普通的分布式文件系统有以下区别,如表2所示。

表2  GFS与传统分布式文件系统的区别

 

GFS

传统分布式文件系统

组件失败管理

不作为Exception处理

作为Exception处理

文件大小

少量大文件

大量小文件

数据写方式

在文件末尾附加数据

修改现存数据

数据流和控制流

数据流和控制流分开

数据流和控制流结合

 

云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O 速率等方面。

2.1.3数据管理技术

云计算具有计算能力可变、数据储存在不信任的主机上、数据是远程复制等3个特点。从这3个特点分析而出,只有两种数据管理应用程序可能适合部署到云计算中:一是和事务处理相关的数据管理系统;另一种是和分析相关的数据管理系统。前者未采用共享的体系结构,在进行远程数据复制时很难满足ACID 的需求,同时在不信任的主机上存储数据也有比较大的风险。ACID 要求对于基于分析的数据管理系统来说不是必须的,同时可以保证敏感数据在分析之外,从而保证其安全。因此,基于分析的数据管理系统应该很合适部署到云计算环境中去。

计算系统对大量数据集进行处理、分析,并向用户提供高效的服务,因此,数据管理技术必须能够高效地管理大量的数据。

2.1.4编程模型

为了使用户能更轻松地享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单,必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。适合云计算的编程模型必须满足一下条件:一适合于大规模数据集的并行计算;二适合于多虚拟机的任务调度;三能够构建新型的云计算应用程序,可在网络上提供更加丰富的用户体验。

当前比较有代表性的是Google 和Hadoop 项目。Google开发了java、Python、C++ 编程工具Map/Reduce。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出,它不仅仅是一种编程模型,同时也是一种高效的任务调度模型,主要用于数据集的并行运算和并行任务的调度处理。这种编程模型并不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。目前该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进该编程模式,使程序员得能够轻松的编写紧耦合的程序,运行时能高效的调度和执行任务,是Map-Reduce编程模型未来的发展方向。

2.1.5云计算平台管理技术

云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,更何况云计算属于新兴行业,要做好这门技术,必须使大量的服务器协同工作,计算系统的平台管理技术,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

2.2云计算面临的技术挑战

2.2.1高可靠的系统技术

当云计算系统规模增大后,就需要保证其可靠性和稳定性。另外,系统级的容错技术也是一个难点。大量服务器在进行同一个计算时,单个节点的故障不应该影响应用的正常运行。对比较简单的应用程序来说,这一点容易实现。但对于那些紧耦合类应用来说,当前仍无有效的系统级容错方案。目前主要还是依赖应用层面的检查点和重启技术,一方面增加了开发的难度和工作量,另一方面对运行性能也有一定的影响。

2.2.2可扩展的并行计算技术

并行计算技术是云计算的核心技术。多核处理器的出现增加了并行的层次性,使得并行程序的开发比以往更难。可扩展性是云计算时代并行计算的主要特点,应用程序必须能随着用户请求、系统规模的增大而有效扩展。当前大部分并行应用程序在多个处理器上都难以获得有效的加速性能,未来的并行应用程序必须能有效扩展到成千上万个处理器上。这对开发者来说是一种巨大的挑战。

2.2.3海量数据的挖掘技术

云计算面对的是TB 乃至PB 级的海量数据,如何从数据中获取有效信息,决定了云计算应用成败的关键。除了利用并行计算技术加速处理数据外,还需要有新的算法来完成更精确的数据挖掘。除了数据挖掘,海量数据的存储和管理也将是一个难题。

3云计算的热点问题

3.1计算资源虚拟化问题

我们将虚拟化的对象--计算资源归纳为计算能力、存储能力和交互能力这3 个主要类别,刚好与传统的单台计算机的CPU、存储和输入输出等资源相对应。计算资源的虚拟化使我们不能简单地认为计算是主体。如果认为计算是主体, 主体就是计算中心; 如果认为存储是主体, 主体就是存储中心; 如果认为交互是主体, 而计算和存储就可以辅助它。大众用户可以通过交互方式体现出个性化服务的强劲需求, 不必担心特定应用软件的服务方式, 如是否被他人同时租用;不必担心计算平台的操作系统和软件环境等底层资源的物理配置与管理; 也不必担心计算中心的地理位置。将这3 方面要求分别满足了就是互联网环境下的虚拟服务: 软件即服务(SaaS) 、平台即服务(PaaS)和基础设施即服务(IaaS) 。通过他们可以实现动态可伸缩的计算资源组织、分配和使用。服务器托管的出现是由大量服务器的使用引起的,  但是简单的托管是无法对服务器实施更好的集约化使用的, 所以如果能够实现虚拟化服务, 把服务器变为“服务” , 那么服务提供方就能够有进一步地整合各类计算资源。从虚拟服务的演变过程中看出, 云计算通过服务的方式提供计算资源是必然的。计算资源的虚拟化对资源的合理配置非常有利, 而且能够有效提高利用率。

3.2云计算与网格计算异同

云计算与网络计算的差别为网格计算式“多为一”,由多台计算机构成网格,服务于一个特定的大型计算;是“一为多”,依托网络,在互联网上由一个集约化、专业化的云计算平台形成的规模化的服务。

“资源共享”和“虚拟计算”是两者最大的相似点,就是都强调通过某种虚拟化方法共享互联网上的资源然后提供给用户,使资源利用率更加合理化。他们之间的差别可以细化为下面5个方面:

(1)云计算与网络计算分别是以群集计算和并行计算为主的。

(2)云计算认同异构,而网格计算则在更高层屏蔽异构。

(3)云计算的服务是面向完成持久性和多样化的任务,而网格计算通常是用来完成一次性特定任务,而且该任务是预先设定的。

(4)云计算运营采用的是商业式,网格计算运营采用的是协作式,依赖于组织与组织之间,提供了宽带保证和性能保证。

(5)云计算是为大众服务的,大众参与计算和交互,互相沟通交流,需要具备不确定性等的能力;网络计算是面向科学计算任务的,按照规定进行输入和输出,存在着确定的交互,人一般是不主动参与的。

可以看出,两者的应用目标虽然不同,但在不同的方向上发挥着各自的潜能。

3.3云计算中心的计算性能问题

云计算中心是以集群计算为主, 通过互操作大量节点形成面向用户的虚拟服务器。

云计算中心的服务一般都要面向大众用户的多样化应用,应为各种不同种类的应用更多地具备提供高质量服务环境的能力,并能在用户需求和业务创新中有效地适应。相比于超级计算中心,云计算从传统面向任务的单一计算模式转向了现代面向服务的规模化、专业化的计算模式。由此看出,在高性能计算中心的计算机, 虽然适合对要求高并发计算的科学问题的解决,但不一定适合云计算模式。

3.4云计算的标准化问题

云计算的本质提供各种类型和可变粒度的虚拟化服务给用户, 服务间的互联、互通和互操作是实现一个开放云计算平台的关键性技术基础。在网络技术整个发展过程中互联、互通、互操作是其必须具备的基本特性。通过各种局域网和广域协议使计算设备互通, 实现了传输控制协议/ 网间协议(TCP/IP)间的网际互联。

云计算下的任何可用计算资源都是以服务的形态存在的。现在许多商业企业或者组织都已经构建了云计算平台, 并且提供了很多内部数据和服务, 但是这些数据和服务因语法和语义上的差异, 还是妨碍其有效信息的共享和交换。云计算的出现虽不会颠覆现有的标准, 但云计算是在现有标准的基础上更强调服务的互操作。为了实现云服务与用户间的互操作, 如何制订更高层次的开放与互操作性协议和规范十分重要。

3.5云计算安全问题

云计算是一种基于互联网的计算模式, 提供服务的时候也就不可避免地出现象安全漏洞、信息泄露、病毒侵害等普遍存在于既有信息系统中的安全问题。由此可见, 云计算中心本身的安全管理将会继续应用传统的信息安全技术, 并且也在不断地发展云计算本身的信息安全技术手段。但因云计算中虚拟服务的规模化、专业化和集约化, 将信息资源大量分散于端设备的格局改变了, 云计算本身可以通过安全的服务形式在改善互联网安全上做出贡献。云计算中心能够使集约化和专业化的安全服务实现, 改变目前人人忙于打补丁、杀病毒的情况;还能将备份当成一种服务形式, 来实现专门的云备份服务等。云安全中信任管理的关键问题之一是如何更好地应用这种由应用演化出来的信任。通过社会与技术手段相结合的方式推动云计算中信任的建立、维持和管理。


4云计算的展望

云计算的发展, 是服务生产与消费的共同发展,影响变化的主要内容是技术的进步,而其最终目标,是服务的进步。在云计算的实践过程中, 至少需要四个过程: 提出新思想、付诸新实践、产生新产品、开拓新业务。云计算实践目前处于第二过程,其短期发展目标是产生新产品。整个实践过程需要综述性体系的引导,目前的云计算实践的是功能性的认识, 而真正的云计算实践,是本质性的认识, 即“互联网即服务”,

云计算对商业模式的影响体现在对市场空间的创新上。当互联网变的越来越快和可依赖,用户正从桌面电脑上的软件应用转向基于互联网的应用。同时,云计算开发新产品拓展市场的成本非常低。有观点认为,云计算收到热捧的背后,还反应了超级计算机市场的活力。超级计算机的应用一度因需要非常昂贵的硬件投入而面临极高的推广门槛,云计算却宣告了低成本提供超级计算服务的可能,一旦云计算得到了广泛的推广,可以乐观的估计,超级计算机市场的春天即将到来。

5结束语

云计算不仅是虚拟化资源的集合,是在此之上的平台和应用实体的集合;而且是一种集虚拟化技术、网络技术、信息安全、效用计算、逻辑推理、软件工程、商务智能等技术为一体的新兴计算应用模式。随着现代软件应用和商务处理的全球化、信息化和自动化,必将为云计算的研究发展提供广泛的市场和应用背景。



[①] 黄鹤.云计算体系结构论述 [J].现在商贸工业,2010,2(5):325-326.