云计算的关键技术及发展现状(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云计算的关键技术及发展现状
周小华
摘要:本文主要对云计算技术的应用特点、发展现状、利处与弊端以及对云计算的应用存在的主要问题进行了探讨分析,最后是关于云计算的挑战及其展望。
关键词:云计算;数据存储;编程模型
1.云计算定义
云计算是由分布式计算、并行处理、网格计算发展而来的,是一种新兴的商业计算模型。目前,对于云计算的认识在不断地发展变化,云计算仍没有普遍一致的定义。计算机的应用模式大体经历了以大型机为主体的集中式架构、以pc机为主体的c/s分布式计算的架构、以虚拟化技术为核心面向服务的体系结构(soa)以及基于web2.0应用特征的新型的架构。云计算发展的时代背景是计算机的应用模式、技术架构及实现特征的演变。“云计算”概念由google提出,一如其名,这是一个美妙的网络应用模式。在云计算时代,人们可以抛弃u盘等移动设备,只要进入google docs页面,新建一个文档,编辑其内容,然后直接把文档的url分享给朋友或上司,他们就可以直接打开浏览器访问url。我们再也不用担心因pc硬盘的损坏而发生资料丢失事件。
IBM公司于2007年底宣布了云计算计划,云计算的概念出现在大众面前。在IBM的技术白皮书“Cloud Computing”中的云计算定义:“云计算一词用来同时描述一个系统平台或者一种类型的应用程序。一个云计算的平台按需进行动态地部署(provision)、配置
(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。在云计算平台中的服务器可以是物理的服务器或者虚拟的服务器。高级的计算云通常包含一些其他的计算资源,例如存储区域网络(SANs)。网络设备,防火墙以及其他安全设备等。云计算在描述应用方面,它描述了一种可以通过互联网Intemet进行访问的可扩展的应用程序。“云应用”使用大规模的数据中心以及功能强劲的服务器来运行网络应用程序与网络服务。任何一个用户可以通过合适的互联嘲接入设备以及一个标准的浏览器就能够访问一个云计
算应用程序。”
云计算是基于互联网的超级计算模式,包含互联网上的应用服务及在数据中心提供这些服务的软硬件设施,进行统一的管理和协同合作。云计算将IT 相关的能力以服务的方式提供给用户,允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下,通过Internet 获取需要的服务。
通过对云计算的描述,可以看出云计算具有高可靠性、高扩展性、高可用性、支持虚拟技术、廉价以及服务多样性的特点。现有的云计算实现使用的技术体现了以下3个方面的特征:
(1)硬件基础设施架构在大规模的廉价服务器集群之上.与传统的性能强劲但价格昂贵的大型机不同,云计算的基础架构大量使用了廉价的服务器集群,特别是x86架构的服务器.节点之间的巨联网络一般也使用普遍的千兆以太网.
(2)应用程序与底层服务协作开发,最大限度地利用资源.传
统的应用程序建立在完善的基础结构,如操作系统之上,利用底层提供的服务来构造应用.而云计算为了更好地利用资源,采用了底层结构与上层应用共同设计的方法来完善应用程序的构建.
(3)通过多个廉价服务器之问的冗余,使用软件获得高可用性.由于使用了廉价的服务器集群,节点的失效将不可避免.并且会有节点同时失效的问题.为此,在软件设计上需要考虑节点之间的容错问题,使用冗余的节点获得高可用性.
2.云计算关键技术
云计算系统运用了很多的技术,其中最关键的技术包括数据管理技术、编程模型、数据存储技术、云计算平台管理技术、虚拟化技术等。云计算是一种新兴的计算模式,其发展离不开自身独特的技术和所涉及的一系列其他传统技术的支持,并借助SaaS/PaaS/IaaS 等先进的商业模式把这强大的计算能力分布到终端用户手中。
(1)虚拟化技术
虚拟化是实现云计算的最重要的技术基础,虚拟化技术实现了物理资源的逻辑抽象和统一表示,它是指计算元件在虚拟的基础上而不是真实硬件的基础上运行。通过虚拟化技术可以提高资源的利用率,并能够根据用户业务需求的变化,快速、灵活地进行资源部署,实现动态负载均衡;同时与硬件无关的特性带来系统自愈功能,提升系统的可靠性。在云计算实现中,计算系统虚拟化是一切建立在“云”上的服务与应用的基础。虚拟化技术目前主要应用在CPU、操作系统、服务器等多个方面,是提高服务效率的最佳解决方案。
(2)数据存储技术
为保证高可用性、高可靠性和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。这样用户就无需考虑存储容量、数据存储位置以及数据的安全性和可靠性等问题。
另外,云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。云计算的数据存储技术的主要代表有谷歌的GFS (Google File System)。IBM 的“蓝云”采用的是HDFS(Hadoop Distributed File System)数据存储技术。此外,一些IT 公司也提出了一些数据存储的解决方案。例如:微软公司提出的Skydrive,惠普公司的Upline 以及Sun 公司的。
云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O 速率等方面。
(3)数据管理技术
云计算系统对大数据集进行处理、分析,并向用户提供高效的服务,因此,数据管理技术必须能够高效地管理大量的数据。另外,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。云计算系统中的数据管理技术主要是Google 的BT (BigTable)数据管理技术和Hadoop 团队开发的开源数据管理模块HBase。由于管理形式的不同造成传统的SQL 数据库接口无法直接移植到云管理系统中来,目前一些研究在关注为云数据管理提供RDBMS