操作系统系统概述——云计算

OS 专栏收录该内容
6 篇文章 0 订阅

看了写论文整理出的概述报告

云计算体系结构

摘要:系统地分析和总结云计算的研究现状,划分云计算体系架构为核心服务、服务管理、用户访问接口等3个层次。围绕低成本、高可靠、高可用、规模可伸缩性等研究目标,深入全面地介绍了云计算的关键技术及最新研究进展。在云计算基础设施方面,介绍了云计算数据中心设计与管理及资源虚拟化技术;在大规模数据处理方面,分析了海量数据处理平台及其资源管理与调度技术;在云计算服务保障方面,讨论了服务质量保证和安全与隐私保护技术,针对新型的云计算应用和云计算存在的局限性,有探讨并展望了今后的研究方向。

 

关键词:云计算;虚拟化;数据中心;海量数据处理;服务质量;安全与隐私

CloudComputing

Abstract:Basedon the analysis and summary of the previous work,the cloud computing frameworkcan be divided into three layers:core cloud services,cloud service managementand user access interface.To realize low-cost,reliable,available and scalablecloud services,the up-to-date key technologies and research progress of thethree layers within the cloud framework are reviewed intensively and extensively.Regardingcloud infrasture,the strategies for data center design and management areintroduce together with the vitualization technology.In respect of large-scaledata processing,serveral platforms and their resource management and taskscheduling mechanisms are investigated extensively.with regard to cloud servicequality.both Qos guarantee and security/privacy protection are discussed indepth.The prospects for future research are futher explord based on the newapplication models and limitations of cloud computing

Key words:cloud computing,virtualization;data center;large-scaledata processing;quality of service;security and privacy

云计算背景:

         随着科学技术进步,近年来,互联网地发展日新月异,尤其在社交网站、电子商务、数字城市、在线视频等领域发展迅猛,从我们生活中来看,就可以随便举出例子,比如阿里巴巴、爱奇艺、智能家居等等,这些应用具有数据存储量大、业务增长速度快等特点。在企业的IT资金投入中,往往只有20%的投入用于软硬件更新和商业价值的提升,而另外的80%则被用于了系统维护,而这些都是在于数据量海量增长的背景下,举个例子,据统计至2010年,社交网站Facebook已存储了15PB的数据,并且每天新增60TB数据[1]

       鉴于以上情况,2006年Google、Amazon等公司提出了“云计算”的构想。根据美国国家标准与技术研究院的定义,云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式,它为用户屏蔽了数据中心管理、大规模数据处理、应用程序部署等问题。通过云计算,用户可以根据其业务负载快速申请或释放资源,并以按需支付的方式对所使用的资源付费,在提高服务质量的同时降低运维成本。

       实际上,云计算本质上并非一个全新的概念,最早可以追溯到1961年,计算机先驱John MoCarthy就预言:“未来的计算资源能像公共设施(如水、电)一样被使用。”不过限于当时的技术限制未能付诸实现罢了,而如今各种技术的成熟正好为云计算铺好了道路,也正因为其美好的构想,所以云计算模式一经提出便得到了工业界、学术界的广泛关注。比如Amazon等公司的云计算平台提供了可快速部署的虚拟服务器,能够实现基础设施的按需分配。Google公司的App Engine云计算开发平台能够为应用服务提供商开发和部署云计算服务提供接口。同时,各国学者对云计算也开展了大量研究工作,比如2007年,斯坦福大学等美国众多高校便广泛与Google、IBM合作,研究云计算关键技术,近年来,随着云计算研究的深入,众多国际会议(如SIGCOMM、OSDI、SIGMOD、CCS等)上陆续发表了云计算相关研究成果。而在发展战略上,各国政府也纷纷将云计算列为国家战略,投入了相当大的财力和物力用于云计算的部署。其中,美国政府利用云计算技术建立联邦政府网站,以降低政府信息化运行成本。英国政府建立国家级云计算平台(G-Cloud),超过2/3的英国企业开始使用云计算服务。在我国,北京、上海、深圳、杭州、无锡等城市开展了云计算服务创新发展试点示范工作:电信、石油石化、交通运输等行业也启动了相应的云计算发展计划,以促进产业信息化。

云计算基本原理:

         云计算虽然是一种创新的计算模式,不过了解其原理将可以更好地了解它,云计算是对分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)及分布式数据库的改进处理,其前身是利用并行计算解决大型问题的网格计算和将计算资源作为可计量的服务提供的公用计算,在互联网宽带技术和虚拟化技术高速发展后萌生出的云计算。在传统的技术中,集群计算将大量独立的计算机通过高速局域网相连,从而提供高性能计算能力。效用计算为用户提供按需租用计算机资源的途径。网格计算整合大量异构计算机的闲置资源(如计算资源和磁盘存储等),组成虚拟组织,以解决大规模计算问题,服务计算作为连接信息技术和商业服务的桥梁,研究如何用信息技术对商业服务建模、操作和管理。云计算实在传统的技术上发展创新而来的。

       对云计算而言,其借鉴了传统分布式计算的思想。通常情况下,云计算采用计算机集群构成数据中心,并以服务的形式交付给用户,使得用户可以像使用水、电一样按需购买云计算资源。从这个角度看,云计算与网格计算的目标非常类似。但是云计算和网格计算等传统的分布式计算也有着较明显的区别:首先云计算是弹性的,即云计算能够根据工作负载大小动态分配资源,而部署与云计算平台上的应用需要适应资源地变化,并能根据变化做出响应;其次,相对于强调异构资源共享的网格计算,云计算更强调大规模资源池的分享,通过分享提高资源复用率,并利用规模经济降低运行成本;最后云计算需要考虑经济成本,因此硬件设备、软件平台的设计不再一味追求高性能,而要综合考虑成本、可用性、可靠性等因素[2]

       许多云计算公司和研究人员对云计算采用了各种方式进行描述和定义,基于云计算的发展和我们对云计算的理解,概括性给出云计算的基本原理为:利用非本地或远程服务器(集群)的分布式计算机为互联网用户提供服务(计算、存储、软硬件等服务)。这使得用户可以将资源切换到需要的应用上,更具需求访问计算机和储存池。云计算可以把普通的服务器或者PC连接起来以后得到超级计算机和存储的功能,但是成本更低。云计算真正实现了按需计算,从而有效地提高了对软硬件资源的利用效率。云计算的出现使高性能并行计算不再是科学家和专业人士的专利,普通的用户也能通过云计算享受高性能并行计算所带来的便利,使人人都有机会可以使用并行机,从而大大提高了工作效率和计算资源的利用率。云计算模式中用户不需要了解服务器在哪里,不用关心内部如何运作,通过高速互联网就可以透明地使用各种资源[3]

       同时,基于上述比较并结合云计算的应用背景,云计算的特点可以归纳如下:首先就是弹性服务,其好处在于服务的规模可快速伸缩,从而能够自动适应业务负载的动态变化。用户使用的资源与业务的需求相一致,避免了因为服务器性能过载或者冗余而导致服务质量下降或资源浪费;其次就是资源池化,在这里资源将以共享的资源池的方式统一管理。利用虚拟化技术,将资源分享给不同用户,资源的放置、管理与分配策略对于用户而言是透明的;再者服务做到按需分配,以服务的形式为用户提供应用程序、数据存储、基础设施等资源,并可以更具用户需求,自动分配资源,而不需要系统管理员干预;最后,泛在接入,用户可以利用各种终端设备(如PC电脑、笔记本电脑、智能手机等)随时随地通过互联网访问云计算服务。以上特性,使得用户只需连上互联网就可以源源不断地使用计算机资源,实现了“互联网即计算机”的构想。

       综上所述,云计算是分布式计算、互联网技术、大规模资源管理等技术的融合与发展,其研究和应用是一个系统工程,涵盖了数据中心管理、资源虚拟化、海量数据处理、计算机安全等重要问题。

云计算服务层次:

         云计算可以按需提供弹性资源,它的表现形式是一系列服务的集合。结合当前云计算的应用与研究来看,云计算还处于萌芽阶段,有庞杂的各类厂商在开发不同的云计算服务。云计算的表现形式多种多样,简单的云计算在人们日常网络应用中随处可见,比如腾讯QQ空间提供的在线制作Flash图片,Google的搜索服务,GoogleDoc,Google Apps等。目前云计算的主要服务形式有:SaaS(Software as a service),PaaS(Platform as aService),IaaS(Infrastucture as a Service)。下面我们将分别讲述每个模块。

(1)软件即服务(SaaS)

       SaaS服务提供商将应用软件统一部署在自己的服务器上,用户根据需求通过互联网向厂商订购应用软件服务,服务提供商根据客户所定软件的数量、时间的长短等因素收费,并且通过浏览器向客户提供软件的模式。这种服务模式的优势是,由服务提供商维护和管理软件、提供软件运行的硬件设施,用户只需拥有能够接入互联网的终端,即可随时随地使用软件[4]。这种模式下,客户不再像传统模式那样花费大量资金在硬件、软件、维护人员,只需要支出一定的租赁服务费用,通过互联网就可以享受到相应的硬件、软件和维护服务,这是网络应用最具效益的营运模式。对于小型企业来说,SaaS是采用先进技术的最好途径。

  以企业管理软件来说,SaaS模式的云计算ERP可以让客户根据并发用户数量、所用功能多少、数据存储容量、使用时间长短等因素不同组合按需支付服务费用,既不用支付软件许可费用,也不需要支付采购服务器等硬件设备费用,也不需要支付购买操作系统、数据库等平台软件费用,也不用承担软件项目定制、开发、实施费用,也不需要承担IT维护部门开支费用,实际上云计算ERP正是继承了开源ERP免许可费用只收服务费用的最重要特征,是突出了服务的ERP产品。

Saas是基于云计算基础平台所开发的应用程序。企业可以通过租用SaaS层服务解决企业信息化问题,如企业通过Gmail建立属于该企业的电子邮件服务。该服务托管于Google的数据中心,企业不必考虑服务器的管理、维护问题。对于普通用户来讲,SaaS层服务将桌面应用程序迁移到互联网,可实现应用程序的泛在访问。

(2)平台即服务(PaaS)

PaaS是云计算应用程序运行环境,提供应用程序部署与管理服务。通过PaaS层的软件工具和开发语言,应用程序开发者只需上传程序代码和数据即可使用服务,而不必关注底层的网络、存储、操作系统的管理问题,由于目前互联网应用平台(如Facebook、Google、淘宝等)的数据量日趋庞大,PaaS层应当充分考虑对海量数据的存储与处理能力,并利用有效的资源管理与调度策略提高处理效率[5]

简而言之,PaaS能够把开发环境做为一种服务来提供,这是一种分布式平台服务,PaaS能够给企业或个人提供研发的中间件平台,提供应用程序开发、数据库、应用服务器、实验、托管及应用服务。

Google App Engine,Salesforce的force.com平台,八百客的800APP是PaaS的代表产品。以Google App Engine为例,它是一个由python应用服务器群、BigTable数据库及GFS组成的平台,为开发者提供一体化主机服务器及可自动升级的在线应用服务。用户编写应用程序并在Google的基础架构上运行就可以为互联网用户提供服务,Google提供应用运行及维护所需要的平台资源。

(3)基础设施服务(IaaS)

IaaS提供硬件基础设施部署服务,为用户按需提供实体或虚拟的计算、存储和网络等资源。在使用IaaS层服务的过程中,用户需要向IaaS层服务提供商提供基础设施的配置信息,运行于基础设施的程序代码以及相关的用户数据。由于数据中心是IaaS层的基础,因此数据中心的管理和优化问题近年来成为研究热点。梁歪,为了优化硬件资源的分配,IaaS层引入了虚拟化技术[6]。借助于Xen、KVM、VMware等虚拟化工具,可以提供可靠性高、可定制性强、规模可扩展的IaaS层服务。

IaaS的优点是用户只需低成本硬件,按需租用相应计算能力和存储能力,大大降低了用户在硬件上的开销。

  目前,以Google云应用最具代表性,例如GoogleDocs、GoogleApps、Googlesites,云计算应用平台GoogleApp Engine。

  GoogleDocs是最早推出的云计算应用,是软件即服务思想的典型应用。它是类似于微软的Office的在线办公软件。它可以处理和搜索文档、表格、幻灯片,并可以通过网络和他人分享并设置共享权限。Google文件是基于网络的文字处理和电子表格程序,可提高协作效率,多名用户可同时在线更改文件,并可以实时看到其他成员所作的编辑。用户只需一台接入互联网的计算机和可以使用Google文件的标准浏览器即可在线创建和管理、实时协作、权限管理、共享、搜索能力、修订历史记录功能,以及随时随地访问的特性,大大提高了文件操作的共享和协同能力。

 

云计算技术层次

    云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。

(1)编程模型

  MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

(2) 海量数据分布存储技术

  云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

  GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。

  一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置[7]。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,块服务器间的块迁移。主服务器定期通过HeartBeat消息与每一个块服务器通信,给块服务器传递指令并收集它的状态。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在系统中保存3个以上备份。

  客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。

  (3) 海量数据管理技术

  云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

  BT是建立在GFS,Scheduler, Lock Service和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。

Google的很多项目使用BT来存储数据,包括网页查询,Google earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功的提供了灵活高效的服务。

(4)虚拟化技术

    数据中心为云计算提供了大规模资源,为了实现基础设施服务的按需分配,需要研究虚拟化技术,虚拟化是IaaS层重要的组成部分,也是云计算的最重要特点,虚拟化技术可以提供如下特点。

【1】  资源共享。通过虚拟机封装用户各自的运行环境,有效实现多用户分享数据中心资源。

【2】  资源定制。用户利用虚拟化技术,配置私有的服务器,指定所需的CPU数目、内存容量、磁盘空间,实现资源的按需分配。

【3】  细粒度资源管理。将物理服务器拆分成若干虚拟机,可以提高服务器的资源利用率,减少浪费,而且有助于服务器的负载均衡和节能,

基于以上特点,虚拟化技术成为了实现云计算资源池化和按需服务的基础,通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。

(5)云计算平台管理技术

  云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。

  云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

 

 

云计算安全

云计算技术正在全面发展,应用越来越广泛,所以其安全问题不容忽视,特别是云体系结构的内部和云计算外部环境安全,尽管云计算用户希望他们的数据能够保持为机密,但是当前的云计算是建立在一种传统的层级安全模式上的,但是这种机制只是能够保证云服务商提供的专有代码不被非信任代码的不坏,而对于用户的数据被专有代码访问却是没有任何防卫机制的,因此,除了执行应用程序的硬件外,云用户必须确信如下几点:

(1)    用户必须相信服务厂商提供的软件,这其中包含作为超级用户和固件的特权代码,还有提供商的管理软件协议栈

(2)    用户必须相信服务商的工作人员,包括系统管理员以及任何能够接近硬件的员工,如清洁工和保安等

(3)    在任何数据可能重复的地方加强法律,而从这条出发,这就是一项巨大与神秘化的基础项目,将会导致各方面的牵涉,将会限制云计算的应用

当前最好的用于保护隐私的机制使用了一种叫做硬件安全模型机制,而这些具体应用将依赖于防干扰的硬件来保护重要的秘密,比如密钥,同时支持一系列的暗语功能,但是都需要较大的代价,同时不能普遍适用,典型的布置使用硬件安全用来保护密钥等资料,而在不受信任的计算节点上只短暂的解析数据,从而仍然有使得数据受到威胁的可能,早期的研究依赖受信任的管理程序来保护应用程序运行在有恶意的操作系统上,但是一旦管理程序本身被恶意的云服务商控制,则后果仍不可估量,最后,尽管一些应用程序能够运行于加密的数据上,而这些暗号模型对于一般的计算还是有着性能限制。

       所以目前实现高安全性的云计算环境仍面临诸多挑战,一方面,云平台上的应用程序同底层硬件环境捡拾松耦合的,没有固定不变的安全边界,大大增加了数据安全与隐私保护的难度[8]。另一方面,云计算环境中数据量十分巨大(通常都是TB甚至PB级),传统安全机制在可扩展性及性能方面难以有效满足需求,随着云计算的安全问题日益突出,近年来研究者针对云计算的模型和应用,讨论了云计算安全隐患,研究了云计算环境下的数据安全和隐私保护技术,下面我们将结合云计算核心服务的层次模型与云计算部署模式两个方面来介绍云计算环境下的数据安全与隐私保护技术[9]

       云计算核心服务层次

【1】    IaaS层的安全

虚拟化是云计算IaaS层普遍采用的技术。该技术布景可以实现资源可定制,而且能够有效隔离用户的资源,然而虚拟化平台并不是完美的,仍然存在安全漏洞,比如基于Amazon EC2上的实验,Ristenpart等人发现Xen虚拟化平台存在被旁路攻击的危险,为了避免基于Cache缓存的旁路攻击,Raj等人提出了Cache层次铭感的内核分配方法和基于页染色的Cache划分2种资源管理方法,以实现性能与安全隔离。

【2】    PaaS层的安全

PaaS层的海量数据存储和处理需要防止隐私泄露问题,Roy等人提出了一种基于MapReduce平台的隐私保护系统Airavat,集成强访问控制和区分隐私,为处理关键数据提供安全和隐私保护。在加密数据的文本搜索方面,传统的方法需要对关键词进行完全匹配,但是云计算数据量非常大,在用户频繁访问的情况下,精确匹配返回的结果会非常少,使得系统的可用性大幅降低[10],Li等人提出了基于模糊关键词的搜索方法,在精确匹配失败后,还将采取与关键词近似语义的关键词集的匹配,达到在隐私保护的前提下为用户检索更多匹配文件的效果。

【3】    SaaS层的安全

SaaS层提供了基于互联网地应用程序服务,并会保存敏感数据(如企业商业信息)。因为云服务器由许多用户共享,且云服务器和用户不在同一个信任域里,所以需要对敏感数据建立访问控制机制,由于传统的加密控制方式需要花费很大的计算开销,而且密钥发布和细粒度的访问控制都不适合大规模的数据管理,Yu等人讨论了基于文件属性的访问控制策略,在不泄露数据内容的前提下将与访问控制相关的复杂计算工作交给不可信的云服务器完成,从而达到访问控制的目的。

       云计算的部署模式

【1】    私有云

私有云是一个企业或者组织内部构建的云计算系统。部署私有云需要企业新建私有的数据中心或者改造原有数据中心,云基础设施运营的全权负责组织,这可能是由该组织或者第三方管理上可能存在的前提或关闭的前提,由于服务提供商和用户同属于一个信任域,所有数据隐私可以得到保护。

【2】    公有云

公有云是以按需付费方式向公众提供的云计算服务,云基础设施提供广大市民或一个大产业集团,是由销售云服务的组织所拥有的,虽然公有云提供了便利的服务方式,但是由于用户数据保存在服务提供商,存在用户隐私泄露、数据安全得不到保证等问题。

【3】    社区云

云基础设施共享的一些组织和支持一个特定的社会共同关心的问题(例如,使命,安全要求,政策和法规)。这可能是由组织或第三方管理上存在的前提或关闭的前提

【4】    混合云

混合云混合了公有云和私有云的特点,用户的关键数据存放在私有云,以保护数据隐私,当私有云工作负载过重时,可临时购买公有云资源以保证服务质量,部署混合云需要公有云和私有云具有统一的接口标准,以保证服务无缝迁移,

除了以上方面,工业界对云计算的安全问题非常重视,并为云计算服务和平台开发了若干安全机制,其中那个Sun公司发布开源的云计算安全工具可为Amazon EC2提供安全保护。微软公司发布基于云计算平台Azure的安全方案,以解决虚拟化及底层硬件环境中的安全性问题,另外,Yahoo!为hadoop集成了Kerberos验证,Kerberos验证有助于数据隔离,使对敏感数据的访问与操作更为安全[11]

云计算与大数据结合    

         如今,社会的愈发机械化与智能化,结果各种组织或机构正在以不可想象的速度产生和存储大量的数据,管理这些数据就已经是一项棘手工作,而从这些数据中发现有益的信息则更是一项极为有竞争力的关键,各种分析工具用于从这些有结构或者无结构的私有数据信息中发掘出知识变得尤为重要,同时大量的数据广泛存在于各种网站中,这些信息如果能够被利用,将带来不可估量的收益。 比如通过对用户的推特、微博或者产品估计中我们尅得到用户的一系列需求信心,那么我们便可以对此分析预估他们所需,从而能偶最优化资源配置,这些范例被广泛称之为大数据。

       尽管对分析大数据已经步上正轨,但是把它们投入实际应用却仍旧是一项复杂而且耗时耗力的工作,有人指出,大数据能够给公司带来实质的物质价值,而这些公司们也乐于去采用这项技术,但是仍旧在这些实现领域中充满了一系列的挑战,一个公司愿意去使用这些分析技术往往需要高额的软件使用权费用,配置大型的计算机设备,同时对这些帮助企业更好掌握这项技术的专家支付高昂费用,专家们组织数据,并整合分析,帮助企业掌握顾客对产品和市场的需求,举止,未来趋势。然而这些工作往往开销极大同时缺乏弹性。尽管如此对于大数据的使用和研究却仍然没有停止,又因为是新一轮技术制高点,比如美国和英国政府方面在这方面投入了大量的资金,同时在学术上麻省理工学院也与英特尔公司开展了学术会议。

       云计算通过对IT行业增加了极大的弹性从而在IT行业中引发一阵浪潮,使得企业只需要支付他们的资源和服务的费用,从而减少IT的运行成本,企业只需要提供必要的云技术所需的成本资源便可以运行他们的应用,使用云技术能够使它们在特定领域的技术和完成大幅度减少成本,却能够做到使设施、平台和软件资源如同服务一般。

       基于以上各自特点,云计算与大数据之间是相辅相成,相得益彰的关系。大数据挖掘处理需要云计算作为平台,而大数据涵盖的价值和规律则能够使云计算更好的与行业应用结合并发挥更大的作用。云计算将计算资源作为服务支撑大数据的挖掘,而大数据的发展趋势是对实时交互的海量数据查询、分析提供了各自需要的价值信息。
  其次,云计算与大数据的结合将可能成为人类认识事物的新的工具。实践证明人类对客观世界的认识是随着技术的进步以及认识世界的工具更新而逐步深入。过去人类首先认识的是事物的表面,通过因果关系由表及里,由对个体认识进而找到共性规律[12]。现在将云计算和大数据的结合,人们就可以利用高效、低成本的计算资源分析海量数据的相关性,快速找到共性规律,加速人们对于客观世界有关规律的认识。

 

云计算的机遇与挑战

虽然我们看到云计算在国内的广阔前景,但也不得不面对一个现实,云计算需要应对众多的客观挑战,才能够逐渐发展成为一个主流的架构。云计算所面临的挑战包括: 

 

  用户认识不足 

尽管云计算在国内已经得到了广泛的宣传,并且已经出现了若干典型的用户和案例。但是企业和最终用户对云计算仍然缺乏了解和认识,特别是在具体的业务和应用上,云计算可以带来怎样的变革和收益,仍然是不够清晰的。在这种情况下,云计算真正落地成为成功应用,会遇到很多困难。因此,重中之重是抛开大量的理论和概念,在应用和业务角度进行市场推广和用户教育,使云计算具有可操作性。 

 

  硬件迁移风险 

云计算的一个重要特征就是会改变传统的应用交付方式,也改变传统的数据中心运营模式。这种变革,势必会带来一定程度的风险。这种风险包括硬件迁移风险和应用移植风险。硬件迁移风险指的是,在传统数据中心中,硬件都相对独立,但是在云计算中心中,基于虚拟化的模式会导致硬件界限不再那么明显,而是以虚拟机的形式在硬件设备间按照负载均衡和提高利用率的原则进行灵活迁移。这就对传统硬件的部署方式提出了挑战,如果缺乏系统的评估和科学的分析,就会导致硬件平台无法发挥出应有的效能,甚至导致应用系统的崩溃。 

 

  应用移植风险 

应用迁移风险指的是原有应用,如财务应用、ERP应用、CRM应用等,在传统数据中心中是部署在相对独立的硬件系统中的,包括存储也会存在一定的应用独立性。在新的云计算平台中,应用会部署到不同的硬件,甚至是操作系统上,能否实现应用的无缝迁移,是保证计算成功的重要内容。如果在云计算平台上广泛采用虚拟化技术,又会涉及到虚拟机迁移和操作系统的兼容性,这一方面的因素也会影响到应用的可用性。 

 

  安全性 

云计算平台的安全问题由两方面构成。一是数据本身的保密性和安全性,因为云计算平台,特别是公共云计算平台的一个重要特征就是开放性,各种应用整合在一个平台上,对于数据泄漏和数据完整性的担心都是云计算平台要解决的问题。这就需要从软件解决方案,应用规划角度进行合理而严谨的设计。二是数据平台上软硬件的安全性,如果由于软件错误或者硬件崩溃,导致应用数据损失,都会降低云计算平台的效能。这就需要采用可靠的系统监控、灾难恢复机制以确保软硬件系统的安全运行。 

 

 服务等级协议 

云计算所面临的挑战,除了在系统方面的风险外,如何为用户提供合乎要求的服务也是非常重要的。因为相对于传统数据中心,云计算所提供的服务尽管更加丰富,但是也会给用户带来难以控制的担心,通过对用户的需求进行分析,提出合理、可执行的服务等级协议(SLA),将在很大程度上帮助用户树立对云计算服务的信心。

 

总结

从目前来看,云计算平台在改进基础架构、节省成本等方面具备相当的优势。在一些场景,已经可以取代传统的技术。IDC观察到,越来越多的企业开始关注云计算,并评估自身建设云计算平台的可能性。但是,云计算市场仍处于发展初期,大量企业没有足够的经验和知识来自行建设云计算平台。还有待云计算技术的进一步发展成熟。

 

随着经济的发展,服务化成为产业发展的必然趋势,各种生产活动的成果逐渐开始以服务方式向用户进行交付。而云计算所提供的XaaS模式正是服务化趋势的体现。云计算为产业服务化提供了技术平台,使生产流程的最终交付品是一种基于网络和信息平台的服务。I我们可以相信,随着我国经济不断向第三产业转型,云计算在国内将有广阔的发展空间。在未来几年中,中国云计算市场将会保持快速地增长。 

云计算作为一种新兴的信息技术发展迅速,通过总结最近几年在该领域的应用与研究成果,我们在这里初步探讨了云计算体系架构,综述了体系架构中主要关键技术的研究现状,包括数据中心设计月管理、虚拟化、海量数据存储与处理、资源管理与调度、服务质量保证与隐私保护等。总体来说,云计算的研究正处于发展阶段,从拓展云计算应用模式,解决内在的局限性等角度出发,围绕可用性、规模弹性、成本能耗等因素,仍有大量关键问题需要深入研究。

 

 

参考文献

[1] THUSOO A, SHAO Z, ANTHONY S, et al. Datawarehousing and analytics infrastructure at facebook[A]. SIGMOD'10[C].Indianapolis,Indiana, USA:ACM, 2010.1013-1020

[2] GILLEN A,BROUSSARD F W, PERRY R, et al. Optimizing infrastructure:

the relationship between it labor costs and bestpractices for managing the windows desktop[EB/OL].http://download.microsoft.com/download/a/4/4/a4474b0c-57d8-41a2-afe6-32037fa93ea6/IDC_windesktop_IO_whitepaper.pdf 2007.

[3]MELL P, GRANCET. The NIST Definition of Cloud Computing[R].

National Institute of Standards and Technology, 2011.

[4]AmazonEC2[EB/OL]. http://aws.amazon.com/ec2 2011.

[5] DEAN J,GHEMAWAT S. MapReduce: a flexible data processing

tool[J]. Commun ACM, 2010, 53(1): 72-77.

[6] Google AppEngine[EB/OL]. http://code.google.com/appengine/ 2011.

[7] SalesforceCRM[EB/OL]. http://www.salesforce.com/.

[8] MILOJICIC D,WOLSKI R. Eucalyptus: delivering a private cloud[J].

Computer. 2011, 44(4): 102-104.

[9] FOSTER I, YONGZ, RAICU I, et al. Cloud Computing and Grid

Computing 360-Degree Compared[Z]. 2008.1-10.

[10] Google investorrelations[EB/OL].http://investor.google.com/financial.

2011.

[11] GREENBERG A, HAMILTONJ, MALTZ D A, et al. The cost of a

cloud: research problems in data center networks[J].SIGCOMM

Comput Commun Rev, 2008, 39: 68-73.

[12] GREENBERG A,HAMILTON J R, JAIN N, et al. VL2: a scalable

and flexible data center network[A]. SIGCOMM'09[C]. Barcelona,

Spain: ACM, 2009.51-62.

  • 3
    点赞
  • 0
    评论
  • 17
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

关于本书 本电子迷你书摘自《云计算与分布式系统:从并行处理到物联网》一书第 1、2、6章,由InfoQ制作,属于InfoQ软件开发丛书。 免费下载本电子书 以下是《云计算与分布式系统:从并行处理到物联网》一书的介绍: 经过30年的发展,并行处理和分布式计算计算机科学和信息技术中方兴未艾。许多高校现在已经开设相关课程。教师和学生一直在寻找一本可以全面涵盖计算理论和信息技术(包括设计、编程和分布式系统应用)的教材。本书正是为了满足这一需求而设计,而且本书还可以作为相关领域专业技术人员的参考书。 本书介绍了硬件和软件、系统体系结构、新的编程范式,以及强调速度性能和节能的生态系统方面的最新进展。这些最新发展说明了如何创建高性能集群、可扩展网络、自动数据中心和高吞吐量/网格系统。我们还介绍了编程以及如何将分布式系统系统应用于创新的互联网应用中。本书的目的是将传统的多处理器和多计算机集群转换为Web规模网格、以及在未来互联网中泛在使用的对等(P2P)网络,包括近年来快速发展的大型社会网络和物联网。 本书主要内容 我们已经在单独的一卷中介绍了许多里程碑式的发展。我们呈现的成果不仅来自于我们自己的研究团队,还来自于美国、中国和澳大利亚的主要研究组织。总的来说,本书总结了近年来从并行处理到分布式计算和未来互联网的进展。 本书从现代分布式模型概述开始,揭示并行、分布式与云计算系统的设计原理、系统体系结构和创新应用。本书试图将并行处理技术与基于网络的分布式系统结合。书中通过开源和商业厂商的具体例子,重点介绍了用于研究、电子商务、社会网络、超级计算等应用的可扩展物理系统、虚拟化数据中心和系统。 全书共9章内容,分为三部分:第一部分覆盖系统模型和关键技术,包括集群化和虚拟化。第二部分介绍数据中心设计、云计算平台、面向服务的体系结构、分布式编程范式和软件支持。第三部分研究计算/数据网格、对等网络、普适、物联网和社会网络。 本书有6章内容涉及云计算方面的相关材料,分别是第1章、第3~6章和第9章。书中描述的系统包括公有:谷歌应用引擎、亚马逊Web服务、Facebook、SalesForce.com等。这些系统在升级Web服务和互联网应用方面发挥着越来越重要的作用。计算架构师、软件工程师和系统设计师可能想要利用技术来建造未来计算机和基于互联网的系统。 本书特点 覆盖现代分布式计算技术,包括计算机集群、虚拟化、面向服务的体系结构、大规模并行处理器、对等系统云计算、社会网络和物联网。 强调开发并行、分布式和云计算系统的普适性、灵活性、有效性、可扩展性、可用性和可编程性。 硬件、网络和系统体系结构方面的最新进展: 多核CPU和众核GPU(Intel、 Nvidia、AMD)。 虚拟机和虚拟集群(CoD、Violin、Amazon VPC)。 Top500体系结构(Tianhe-1A、Jaguar、Roadrunner等)。 谷歌应用引擎、亚马逊AWS、微软Azure、IBM蓝。 TeraGrid、DataGrid、ChinaGrid、BOINIC、Grid' 5000和FutureGrid。 Chord、Napster、BiTorrent、KaZaA、PPlive、JXTA和.NET。 RFID、传感器网络、GPS、CPS和物联网。 Facebook、Force.Com、Twitter、SGI Cylone、Nebula和GoGrid。 范式、编程、软件和生态系统方面新的改进: MapReduce、Dryad、Hadoop、MPI、Twister、BigTable、DISC等。 服务和信任模型(SaaS、IaaS、PaaS和PowerTrust)。 编程语言和协议(Python, SOAP, UDDI, Pig Latin)。 虚拟化软件(Xen、KVM、VMware ESX等)。 操作系统和混搭系统(Eucalyptus、Nimbus、OpenNebula、vShere/4等)。 面向服务的体系结构(REST、WS、Web 2.0、OGSA等)。 分布式操作系统(DCE、Amoeba和MOSIX)。 中间件和软件库(LSF、Globus、Hadoop、Aneka)。 书中含有100多个例题,并且每章末都有习题和进一步阅读建议。 涵盖多个来自主流分布式计算提供商(亚马逊、谷歌、微软、IBM、惠普、Sun、 Silicon Graphics、Rackspace、SalesForce.com、netSuite和Enomaly等)的案例研究。 原书目录 第一部分系统建模、集群化和虚拟化 第1章分布式系统模型和关键技术 1.1互联网之上的可扩展计算 1.1.1互联网计算的时代 1.1.2可扩展性计算趋势和新的范式 1.1.3物联网和CPS 1.2基于网络的系统技术 1.2.1多核CPU和多线程技术 1.2.2大规模和超大规模GPU计算 1.2.3内存、外部存储和广域网 1.2.4虚拟机和虚拟化中间件 1.2.5云计算的数据中心虚拟化 1.3分布式和云计算系统模型 1.3.1协同计算机集群 1.3.2网格计算的基础设施 1.3.3对等网络家族 1.3.4互联网上的云计算 1.4分布式系统云计算软件环境 1.4.1面向服务的体系结构(SOA) 1.4.2分布式操作系统趋势 1.4.3并行和分布式编程模型 1.5性能、安全和节能 1.5.1性能度量和可扩展性分析 1.5.2容错和系统可用性 1.5.3网络威胁与数据完整性 1.5.4分布式计算中的节能 1.6参考文献和习题 第2章可扩展并行计算集群 2.1大规模并行集群 2.1.1集群发展趋势 2.1.2计算机集群的设计宗旨 2.1.3基础集群设计问题 2.1.4Top500超级计算机分析 2.2计算机集群和MPP体系结构 2.2.1集群组织和资源共享 2.2.2节点结构和MPP封装 2.2.3集群系统互连 2.2.4硬件、软件和中间件支持 2.2.5大规模并行GPU集群 2.3计算机集群的设计原则 2.3.1单系统镜像特征 2.3.2冗余高可用性 2.3.3容错集群配置 2.3.4检查点和恢复技术 2.4集群作业和资源管理 2.4.1集群作业调度方法 2.4.2集群作业管理系统 2.4.3集群计算的负载共享设备(LSF) 2.4.4MOSIX: Linux集群和操作系统 2.5顶尖超级计算系统的个案研究 2.5.1Tianhe-1A:2010年的世界最快超级计算机 2.5.2Gray XT5 Jaguar:2009年的领先超级计算机 2.5.3IBM Roadrunner:2008年的领先超级计算机 2.6参考文献和习题 第3章虚拟机和集群与数据中心虚拟化 3.1虚拟化的实现层次 3.1.1虚拟化实现的层次 3.1.2VMM的设计需求和提供商 3.1.3操作系统级的虚拟化支持 3.1.4虚拟化的中间件支持 3.2虚拟化的结构/工具与机制 3.2.1hypervisor与Xen体系结构 3.2.2全虚拟化的二进制翻译 3.2.3编译器支持的半虚拟化技术 3.3CPU、内存和I/O设备的虚拟化 3.3.1虚拟化的硬件支持 3.3.2CPU虚拟化 3.3.3内存虚拟化 3.3.4I/O虚拟化 3.3.5多核处理器的虚拟化 3.4虚拟集群和资源管理 3.4.1物理集群与虚拟集群 3.4.2在线迁移虚拟机的步骤与性能影响 3.4.3内存、文件与网络资源的迁移 3.4.4虚拟集群的动态部署 3.5数据中心的自动化与虚拟化 3.5.1数据中心服务器合并 3.5.2虚拟存储管理 3.5.3虚拟化数据中心的操作系统 3.5.4虚拟化数据中心的可信管理 3.6参考文献与习题 第二部分平台、面向服务的体系结构编程 第4章构建在虚拟化数据中心上的平台体系结构 4.1云计算和服务模型 4.1.1公有、私有和混合 4.1.2生态系统和关键技术 4.1.3基础设施即服务(IaaS) 4.1.4平台即服务 (PaaS) 和软件即服务(SaaS) 4.2数据中心设计与互连网络 4.2.1仓库规模的数据中心设计 4.2.2数据中心互连网络 4.2.3运送集装器的模块化数据中心 4.2.4模块化数据中心的互连 4.2.5数据中心管理问题 4.3计算与存储的体系结构设计 4.3.1通用的体系结构设计 4.3.2层次化的体系结构开发 4.3.3虚拟化支持和灾难恢复 4.3.4体系结构设计挑战 4.4公有平台:GAE、AWS和Azure 4.4.1公有及其服务选项 4.4.2谷歌应用引擎(GAE) 4.4.3亚马逊的Web服务(AWS) 4.4.4微软的Windows Azure 4.5间的资源管理 4.5.1扩展的云计算服务 4.5.2资源配置和平台部署 4.5.3虚拟机创建和管理 4.5.4资源的全球交易 4.6安全与信任管理 4.6.1安全的防御策略 4.6.2分布式入侵/异常检测 4.6.3数据和软件保护技术 4.6.4数据中心的信誉指导保护 4.7参考文献与习题 第5章面向服务的分布式体系结构 5.1服务和面向服务的体系结构 5.1.1REST和系统系统 5.1.2服务和Web服务 5.1.3企业多层体系结构 5.1.4网格服务和OGSA 5.1.5其他的面向服务的体系结构系统 5.2面向消息的中间件 5.2.1企业总线 5.2.2发布-订阅模型和通知 5.2.3队列和消息传递系统 5.2.4或网格中间件应用 5.3门户和科学网关 5.3.1科学网关样例 5.3.2科学协作的HUBzero平台 5.3.3开放网关计算环境(OGCE) 5.4发现、注册表、元数据和数据库 5.4.1UDDI和服务注册表 5.4.2数据库和订阅-发布 5.4.3元数据目录 5.4.4语义Web和网格 5.4.5作业执行环境和监控 5.5面向服务的体系结构中的工作流 5.5.1工作流的基本概念 5.5.2工作流标准 5.5.3工作流体系结构和规范 5.5.4工作流运行引擎 5.5.5脚本工作流系统Swift 5.6参考文献与习题 第6章编程和软件环境 6.1和网格平台的特性 6.1.1的功能和平台的特性 6.1.2网格和的公共传统特性 6.1.3数据特性和数据库 6.1.4编程和运行时支持 6.2并行和分布式编程范式 6.2.1并行计算和编程范式 6.2.2MapReduce、Twister和迭代MapReduce 6.2.3来自Apache的Hadoop软件库 6.2.4微软的Dryad和DryadLINQ 6.2.5Sawzall和Pig Latin高级语言 6.2.6并行和分布式系统的映射应用 6.3GAE的编程支持 6.3.1GAE编程 6.3.2谷歌文件系统(GFS) 6.3.3BigTable——谷歌的NOSQL系统 6.3.4Chubby——谷歌的分布式锁服务 6.4亚马逊AWS与微软Azure中的编程 6.4.1亚马逊EC2上的编程 6.4.2亚马逊简单存储服务(S3) 6.4.3亚马逊弹性数据块存储服务(EBS)和SimpleDB 6.4.4微软Azure编程支持 6.5新兴软件环境 6.5.1开源的Eucalyptus和Nimbus 6.5.2OpenNebula、Sector/Sphere和Open Stack 6.5.3Manjrasoft Aneka和工具机 6.6参考文献与习题 第三部分网格、P2P和未来互联网 第7章网格计算系统和资源管理 7.1网格体系结构和服务建模 7.1.1网格历史与服务类别 7.1.2CPU清除和虚拟超级计算机 7.1.3开放网格服务体系结构(OGSA) 7.1.4数据密集型网格服务模型 7.2网格项目和网格系统创建 7.2.1国家网格和国际项目 7.2.2美国的NSF TeraGrid 7.2.3欧盟的DataGrid 7.2.4ChinaGrid设计经验 7.3网格资源管理和资源中介 7.3.1资源管理和作业调度 7.3.2CGSP的网格资源监控 7.3.3服务记账和经济模型 7.3.4Gridbus的资源中介 7.4网格计算的软件与中间件 7.4.1开源网格中间件包 7.4.2Globus Tookit体系结构(GT4) 7.4.3集装器和资源/数据管理 7.4.4ChinaGrid支持平台(CGSP) 7.5网格应用趋势和安全措施 7.5.1网格应用技术融合 7.5.2网格负载与性能预测 7.5.3网格安全执行的信任模型 7.5.4认证与授权方法 7.5.5网格安全基础设施(GSI) 7.6参考文献与习题 第8章对等计算和覆盖网络 8.1P2P计算系统 8.1.1P2P计算系统的基本概念 8.1.2P2P计算面临的基础挑战 8.1.3P2P网络系统分类 8.2P2P覆盖网络及其性质 8.2.1无结构P2P覆盖网络 8.2.2分布式哈希表(DHT) 8.2.3结构化P2P覆盖网络 8.2.4混合式覆盖网络 8.3路由、邻近性和容错 8.3.1P2P覆盖网络的路由 8.3.2P2P覆盖网络中的网络邻近性 8.3.3容错和失效恢复 8.3.4抗扰动与失效 8.4信任、信誉和安全管理 8.4.1节点信任和信誉系统 8.4.2信任覆盖网络和DHT实现 8.4.3PowerTrust:可扩展的信誉系统 8.4.4加强覆盖网络安全,抵御DDoS攻击 8.5P2P文件共享和版权保护 8.5.1快速搜索、副本和一致性 8.5.2P2P内容分发网络 8.5.3版权保护问题和解决方案 8.5.4P2P网络中的共谋盗版预防 8.6参考文献与习题 第9章普适云计算、物联网与社会网络 9.1支持普适计算趋势 9.1.1云计算在HPC/HTC和普适计算中的应用 9.1.2NASA和CERN的大规模私有 9.1.3灵活和可扩展的混搭系统 9.1.4移动云计算平台Cloudlet 9.2分布式系统的性能 9.2.1科研综述 9.2.2数据密集型扩展计算(DISC) 9.2.3HPC/HTC系统的性能指标 9.2.4云计算的服务质量 9.2.5MPI、Azure、EC2、MapReduce、Hadoop的基准测试 9.3物联网关键技术 9.3.1实现普适计算的物联网 9.3.2射频标识(RFID) 9.3.3传感器网络和ZigBee技术 9.3.4全球定位系统(GPS) 9.4物联网创新应用 9.4.1物联网应用 9.4.2零售和供应链管理 9.4.3智能电网和智能建筑 9.4.4信息物理系统(CPS) 9.5在线社会网络和专业网络 9.5.1在线社会网络特征 9.5.2基于图论的社会网络分析 9.5.3社会网络社区和应用 9.5.4Facebook:世界上最大的社会网络 9.5.5Twitter:微博、新闻和提醒服务平台 9.6参考文献与习题
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值