云计算综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云计算综述
作者:林铮
摘要:文章对时下比较流行的概念——云计算进行了一些简要的介绍,随即展开云计算将会涉及到的一些关键技术,并且对云计算发展带来的一些机遇与挑战做了比较详细的描述,最后对云计算进行了总结与展望。
关键词:云计算;高性能;分布式;SaaS
1云计算相关技术
1.1数据存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。另外。云计算系统需要同时满足用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有高吞吐率和高传输率的特点。
云计算的数据存储技术主要有谷歌的非开源GF’s(Google File System)和Hadoop开发团队开发的GFS开源实现HDFS(Hadoop Distributed File System)。大部分rr厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。
它可以给大量的用户提供总体性能较高的服务。GFS与过去的分布式文件系统有很多相同的目标,但GFS的设计受到了当前及预期的应用方面的工作量及技术环境的驱动,这反映了它与早期的文件系统明显不同的设想。这就需要对传统的选择进行重新检验并进行完全不同的设计观点的探索。
1.2数据管理技术
云计算系统对大数据集进行处理、分析,向用户提供高效的服务。因此,数据管理技术必须能够高效的管理大数据集。其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。
云计算的特点是对海量的数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。因此。云系统的数据管理往往采用数据库领域中列存储的数据管理模式,将表按列划分后存储。
云计算的数据管理技术以C,oogle的BigTable为代表,同时Hadoop也正在开发类似BigTable的开源数据管理模块。
Bigtable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据:通常是分布在数千台普通服务器上的PB级的数据。C,oogle的很多项目使用Bigtable存储数据,包括Web索引、CoogleEarth、C,oogle Finance。这些应用对Bigtable提出的要求差异非常大,无论是在数据量上
(从URL到网页到卫星图像)还是在响应速度上(从后端的批量处理到实时数据服务)。尽管应用需求差异很大,但是,针对Coogle的这些产品,Bigtable还是成功地提供了一个灵活的、高性能的解决方案。本论文描述了Bigtable提供的简单的数据模型,利用这个模型,用户可以动态地控制数据的分布和格式。
在很多方面,Bigtable和数据库很类似,它使用了很多数据库的实现策略。并行数据库和内存数据库已经具备可扩展性和高性能,但是Bigtable提供了一个和这些系统完全不同的接口。Bigtable
不支持完整的关系数据模型;与之相反,Bigtable为客户提供了简单的数据模型。利用这个模型,客户可以动态控制数据的分布和格式(也就是对BigTable而言。数据是没有格式的,用数据库领域的术语说。
就是数据没有Schema,用户自己去定义Schema)。
用户也可以自己推测(reason about)底层存储数据的位置相关性(位置相关性可以这样理解,比如树状结构,具有相同前缀的数据的存放位置接近。在读取的时候,可以把这些数据一次读取出来)。数据的下标是行和列的名字,名字可以是任意的字符串。Bigtable将存储的数据都视为字符串,但是Big.
table本身不去解析这些字符串,客户程序通常会把各种结构化或者半结构化的数据串行化到这些字符串里。通过仔细选择数据的模式,客户可以控制数据的位置相关性。最后,可以通过BigTable 的模式参数来控制数据是存放在内存中、还是硬盘上。
由于采用列存储的方式管理数据,如何提供数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须解决的问题。
1.3编程模型技术
为了使用户能更轻松地享受云计算带来的业务,让用户能利用该编程模型编写简单的程序实现特定的目的,云计算上的编程模型必须十分简单,必须保证后台复杂的并向执行和任务调度向用户和编程人员透明。
云计算采用类似Map—Reduce的编程模式。现在所有rI’厂商提出的“云”计划中采用的编程模型,都是基于Map—Reduce的思想开发的编程工具。Map—Reduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Map—Reduce这种编程模型并不仅适用于云计算,在多核和多处理、cellprocessor以及异构机群上同样有良好的性能。该编程模式仅适用于编写任何内部松耦合、能够高度并行化的程序。如何改进编程模式,使程序员能够轻松地编写紧耦合的程序,运行时能高效地调度和执行任务,是Map—Reduce编程模型未来的发展方向。
1.4其他技术
除上述讲述的一些关键技术以外,云计算服务的提供还涉及到了方方面面的技术,比如缓存技术、安全技术、网络加速等,这些都是能与云计算技术一起彼此推动的技术。
2云案例
Goosle也是通过云计算的方式,大量降低计算成本,使之业务更具有竞争力。Google几乎所有的产品都可以描述成云产品,因为其内部的技术架构,就是一个非常有借鉴意义和标杆意义的云架构,在这之上的都是云产品。
2.2 IBM蓝云
“蓝云”解决方案是由IBM云计算中心开发的企业级云计算解决方案。该解决方案可以对企业现有的基础架构进行整合,通过虚拟化技术和自动化技术,构建企业自己拥有的云计算中心,实现企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,打破应用对资源的独占,从而帮助企业实现云计算理念。蓝云解决方案由以下部分构成:需要纳入云计算中心的软硬件资源、蓝云管理软件及IBM Tivoli管理软件及蓝云部署服务及客户化服务。
2.3微软云
微软的云计算战略包括三大部分,目的是为自己的客户和合作伙伴提供3种不同的云计算运营模式。
1)微软运营:微软自己构建及运营公共云的应用和服务,同时向个人消费者和企业客户提供云服务,如微软向最终使用者提供的Online Services和Windows Live等服务。
2)伙伴运营:ISV/SI等各种合作伙伴可基于Windows Azure Platform开发ERP、CRM等各种云计算应用,并在Windows Azure Platform上为最终使用者提供服务。另外一个选择是,微软运营在自己的云计算平台中的Business Productivity Online Suite(BPOS)产品也可交由合作伙伴进行托管运营。
BPOS主要包括Exchange Online、SharePoint Online、omce Communications Online和LiveMeeting Online等服务。
3)客户自建:客户可以选择微软的云计算解决方案构建自己的云计算平台。微软可以为用户提供包括产品、技术、平台和运维管理在内的全面支持。
3机遇与挑战
3.1 服务的可用性
我们日常在使用的GooSe Search、⋯”““~“⋯一C,oogle Earth、C,oogle Map、Googh Gmai、Google Doe 如今,绝大多数互联网服务提供商都会利用多等业务都是C,oosle基于自己云计算平台提供的。个网络提供商来使自己避免在一个单独公司出现故障的情况下导致从互联网上消失,我们相信唯一合乎情理的提供极高可用性服务的解决方案就是多云计算提供商。
可用性相关的另一个问题是分布式拒绝服务(DDoS,Distributed Denial of Service)攻击。由于弹性,云计算将攻击目标从SaaS提供商转移到能够马上吸引攻击并且具有DDos攻击保护能力的效用计算提供商。
3.2数据丢失