基于云计算理论体系对云计算应用和实践的探索和展望

2013-04-18 03:55左保河
计算机与现代化 2013年11期
关键词:虚拟化服务器资源

左保河,罗 璇

(华南理工大学软件学院,广东 广州 510006)

0 引言

作为世界上拥有最多服务器的谷歌,自从其101项目[1]以来,随着互联网络的发展,通过网络访问非本地资源服务的计算服务条件的成熟,为了达到方便协同地提供各种服务,“云计算”技术应运而生。云计算是从PC应用到互联网发展的一次技术变革。云计算即为新的Web 2.0,它的核心思想是将大量的网络连接的计算资源统一管理调度,构成一个资源集合,以服务于用户,它是数据共享与服务共享计算模式的结合体[2]。狭义地讲,云计算是指通过网络以按需、易于扩展方式使用IT基础设施资源的模式;广义地讲是指通过网络以按需、易于扩展方式使用交付的服务模式。

1 云计算及其体系

1.1 云计算定义

IBM 技术白皮书“Cloud Computing”[3]中对云计算进行定义:“云计算用来同时描述一个系统平台或一种类型的应用程序。云计算平台按需进行动态的部署(Provision)、配置(Configuration)、重新配置(Reconfigure)以及取消服务(Deprovision)。云计算是并行运算(Parallel Computing)、分布式计算(Distributed Computing)及网格计算(Grid Computing)的发展[4],是一种商业实现,它是虚拟化(Virtualization)、效用计算(Utility Computing)[5]的综合。”

可以说云计算是从网格技术的思想上进化而来,却又带着自身的独特性。网格计算[6]即分布式计算,把一个需求巨大计算能力才能解决的问题分成许多程序段,然后把这些程序段分配给许多计算机处理,最后综合这些计算结果得到最终结果。网格计算强调资源共享,任何人可以使用或贡献节点资源,它把工作量转移到远程可用计算资源上;云计算吸取网格计算的思想精髓,其强调专有,由少数团体提供专有资源,使用者不需要贡献自己资源,云计算包含了以软件作为服务的应用、网格计算以及虚拟化技术。

1.2 云计算的需求背景

(1)需求是动力:IT设施成为社会的基础设施,现在面临高成本的瓶颈,云计算应运而生,用户不需要专业的IT团队,不要购买、维护、安放有形的IT产品,降低了成本,提高了效率,快捷地使用IT服务,同时提高软件、硬件、人力等资源的利用率。

(2)技术是基础:云计算自身核心技术的发展,如硬件技术、虚拟化技术、海量存储技术、分布式并行计算、多用户构架。这种技术发展促进了应用。

此背景下,在Google、IBM、微软等IT巨头的带动下,逐步形成了云计算的商业模式,以网络为中心和以服务为产品形态,按需使用和付费。

1.3 云计算特征

(1)超大规模:各大公司具有数以万计的服务器,形成了强大的计算能力。其规模可以动态伸缩的,边界是模糊的。

(2)虚拟化:支持用户随时随地用各种网络终端获取服务。减少设备依赖,虚拟化层把云平台上方的应用软件和下方基础设施隔离开,设备维护和软件更新分离。

(3)按需弹性服务:云是个庞大资源池,用户可以按照需求通过云平台的管理,将整合的计算资源根据应用访问的具体情况进行动态调整。

(4)性价比高:云的特殊的容错措施使得可以采用低价的节点构成云,其公共性和通用性使资源利用率大幅提升。

(5)云计算达到了两个分布式计算的目标:可拓展性和高可用性。可拓展性表达了云计算能够无缝地扩展到大规模集群之上,甚至包括数千个节点同时处理。高可用性代表了云使用数据多容错性、计算节点可换等措施来保障服务,云的规模可以动态伸缩,满足应用和用户规模增长的需求。

1.4 云计算服务形式

云计算现在应用在3个方面:将基础设施作为服务IaaS(Infrastructure as a Service),将平台作为服务PaaS(Platform as a Service)和将软件作为服务SaaS(Software as a Service)。

SaaS服务是提供商部署应用软件在服务器上,用户通过互联网订购,便可以直接通过浏览器使用。这种服务方便快捷,无需对系统或环境做过多改变。

PaaS服务是客户将自己的应用程序部署到云基础设施上,客户无法管理和控制底层云基础设施,但可以控制云端应用程序及其环境配置。缺点是缺少了互操作性和可移植性。

IaaS服务是厂商把多台服务器组成云端基础设施,作为计量服务提供给客户。具有代表的是Google Docs(类似微软Office在线办公软件,通过网络分享并设置共享权限),Google APP(企业应用套件,处理企业级庞大信息量,方便快捷地与客户合作伙伴沟通协作)。

现阶段云计算主要应用在科学领域和商业领域。特别是在商业应用上,云计算有公共云(Public Cloud),企业内部使用的私有云(Private Cloud),商业使用的企业云(Enterprise Cloud)。公共云,即在互联网上将云服务公开免费给大众使用,其方便访问、具备弹性伸缩性、节约资源并与硬件无关。私有云是导入企业内部使用,主要解决企业对数据安全高要求问题。企业云是专门应用在商业领域的商业云系统,主要用来处理客户关系、人力资源管理、维护数据库等。商业模式还分为保护服务模式和合作模式。服务模式是针对用户而言,主要研究云计算在逐步的商用过程中需要解决的问题。合作模式是针对产业链合作而言,主要研究为搭建合理有序的云计算产业所能够采取的合作模式。

1.5 云计算体系结构和关键技术

1.云计算体系包括物理资源层、资源池层、管理中间件层和SOA(Service-Oriental Architecture,面向服务的体系结构)。其中,物理资源层包括计算机、存储器、网络设施、数据库和软件等。资源池层是将大量相同类型的资源构成同构或接近同构的资源集合。管理中间层负责资源管理、任务管理、用户管理、安全管理。SOA是将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。

2.云计算关键技术。

(1)虚拟化技术[7]:VMware Infrastructure,其特点是通过服务器整合,表示上虚拟化来降低IT成本、提高灵活性、减少停机以改进业务连续性。智能运行较少的服务器并动态关闭不使用的服务器,达到计算节点透明和任务透明的效果。

虚拟化架构安全离不开可信计算。可信计算的主要思想是在终端产品(如PC机)上引入安全芯片,即构建可信计算平台(TPM)将可信根(为度量、存储、报告用的可信根)植入TPM,并从BIOS、Loader到操作系统内核层,再到应用层都构建信任关系,建立相应的信任链;推出可信终端(如可信PC),当终端受到攻击时,可实现自我保护、自我管理和自我恢复。

(2)数据存储技术:满足大量用户使用需求,具有分布式、高吞吐率和高传输率等特征。它是云计算技术的基础,在云计算中处于基础核心地位。例如Google的GFS(Google File System)(非开源)和HDFS(Hadoop Distributed File System)(开源)都在广泛地被应用。

(3)资源管理技术[8]:合理进行资源优化配置,提高数据的更新率和随机读取速率。

(4)分布式编程和计算:在保证后台复杂的并行执行和任务调度上使得编程模型简单化,当前Map-Reduce模型有Map(映射)阶段和Reduce(化简)阶段。

(5)虚拟资源管理调度:融合物理资源形成资源池,通过资源管理器对池内资源调度。

1.6 云计算安全问题

由于云计算应用的无边界性、流动性导致新的安全问题。云平台采用虚拟化技术配置资源,进行安全性部署;根据海量用户身份差异,提供身份标识,建立授权机制;基于用户对自身敏感数据高安全的需求,提供面向用户的安全隐私保障;基于云计算高可用性,建立数据容错备份机制和服务故障诊断及恢复机制。从而保证了数据传输的安全性(不窃取、不泄露、合法认证)[9],数据存储的安全性(位置明确、相互隔离、便于迁移和灾难恢复)。

云安全(Cloud Security)是网络时代信息安全新体现,融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网络的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。识别和查杀病毒不仅仅是依靠本地硬盘中的病毒库,而是依靠庞大的网络服务,实时进行采集分析和处理,整个互联网形成一个整体杀毒系统,参与者越多就越安全。

其中密钥存储设备服务的“安全服务品质协议”的制定、交付验证、第三方检验等,逐渐发展形成一种新型的技术体系与管理体系。

2 云计算实践应用

2.1 Google云计算

Google云计算平台[10]业务数据量巨大,面向全球用户提供实时服务。Google云技术包括:Google分布式文件系统(GFS),提供海量储存和访问能力;分布式计算编程模型MapReduce,使海量信息并行处理简单便捷;分布式锁机制 Chubby[11];分布式结构化数据表Bigtable[12]进行海量数据管理和组织;分布式存储系统Megastore实现关系型数据库和NoSQL间巧妙融合。

Google云计算平台整体架构包括:(1)网络系统。外部网络(Exterior Network)、运营商的骨干网和Google自己搭建的不同地区的数据交换网络;内部网络(Interior Network)连接各个Google自建的数据中心间的网络系统。(2)硬件系统。单个服务器,整合了多服务器机架和存放连接各个服务器机架的数据中心(IDC)。(3)软件系统。(4)软件开发工具C++、Java等。(5)具体应用软件。

Google文件系统GFS[13]是一个大型分布式文件系统,提供海量存储,非开源系统。GFSII Cell是Google文件系统最基础的模块,所有文件盒数据都要利用这种底层模块。GFSII通过基于Linux分布存储的方式,分成主服务器(Master Servers)和块存储服务器(Chunk Servers)。块服务器上以64M为单位的存储空间,分成了许多存储块,由主服务器进行调度和分配。每份数据1式3份,储存于不同的服务集群中,以保证数据的安全性和高吞吐率。GFS操作以添加为主,支持容错,高吞吐量,数据安全保障,扩展能力强,支持压缩,提供用户空间。除了性能,可伸缩性,可靠性以及可用性以外,GFS设计还受到Google应用负载和技术环境的影响。体现如下:(1)考虑节点失效问题,集成容错性和自动恢复功能;(2)构成特殊文件,以G字节计量;(3)增加文件追加操作,优化顺序读写;(4)某些操作非透明,需协助才能完成。

Google应用引擎(App Engine)是一个开发托管网络应用程序平台,使用Google管理的数据中心,可以让用户在Google的基础架构上运行自己的网络应用程序。其架构包括:Front End(前端);Static Files(静态文件)转发请求给服务器,并进行负载均衡和静态文件传输;App Server(应用服务器),同时运行多个应用的运行时(Runtime);应用管理节点,负责启停和计费。应用引擎环境是一种动态网络服务,提供对常用网络技术完全支持;具有持久存储性并有查找、分类、自动扩展和负载平衡等功能[14];提供用户身份验证的 API。其特点是将 Web应用部署到Google的基础设施上,提供数据存储服务,例如集成Gmail、Google User等多种 API。

2.2 Amazon弹性计算云

作为最大互联网在线零售商Amazon是第一批提供云服务的公司之一。首先发布简单存储服务(Simple Storage Service,S3),用户使用 SOAP 协议存放和获取自己的数据对象,其允许在虚拟储存服务中存储5GB数据项。接着推出简单队列服务(Simple Queue Service,SQS),这项服务使得托管虚拟主机间信息交换,支持分布式程序间数据传输。又提供EBS(Elastic Block Storage)服务,为用户提供块级别的存储接口。对于长期保存的或比较重要的数据,采用弹性块存储(Elastic Block Store,EBS)技术。EBS允许用户创建卷(Volume),其功能类似移动硬盘,其可划分地理区域(Region Zone)和可用区域(Availability Zone),可用区域的划分通常是根据是否有独立的供电系统和冷却系统。

Amazon云核心是弹性计算云(Elastic Compute Cloud,EC2),它由Amazon的网络服务发展而来,它提供了在Amazon云中准备、管理和撤销虚拟服务器的Web Services API。EC2主要特点:(1)灵活性。EC2允许用户对运行实例类型和数量自行配置,并灵活选择实例地理位置。(2)低成本。使得企业不必为业务增长购入额外服务器等设备。(3)安全性。EC2提供完整的安全措施,包括基于密钥机制的SSH方式访问和可配置的防火墙机制等。(4)简单易用。用户可根据所提供的模板自由构建自己的应用程序,同时对用户的服务请求自动进行负载平衡。(5)容错性。引入安全组(Security Group)概念,使用弹性IP地址,故障发生时,最大程度地保证用户服务维持在稳定水平。EC2在云中提供可调整大小的计算容量的Web服务,并旨在使开发人员更容易地对Web进行伸缩。

3 展望

云计算是数据共享计算模式与服务共享计算模式的结合体,是下一代计算模式的发展方向。云计算未来主要有两个发展方向:(1)构建与应用程序紧密结合的大规模底层基础设施,使得应用拓展更大规模;(2)通过构建新型云计算应用程序,在网络上提供更加丰富的用户体验如教育系统和医疗体系等。云计算代表IT领域向集约化、规模化与专业化道路发展的趋势。

根据预测未来几年IT云服务上的支出将持续增长,而且由于云计算的发展理念符合当前低碳经济与绿色计算的总体趋势,可能发展成为未来网络空间系统,将被世界各国大力倡导与推动。云计算代表了IT领域迅速向集约化、规模化与专业化道路发展的趋势,可以说云计算可能成为当前信息领域正在发生的一场科技化化革命。但是也有一些问题需要谨慎面对,如云计算行业标准、建立基线和指标、云计算性能检测工具的认定、处理新兴安全问题等。

4 结束语

从全球化经济发展来看,云计算将推动IT领域的产业细化,云服务商通过购买服务的方式减少对非核心业务的投入,从而强化自己核心领域的竞争优势。最终,各种类型的云服务商之间形成强强联合、协作共生关系,推动信息技术领域加速实现全球化,并最终形成真正意义上的全球性的“云”。未来云计算将形成一个以云基础设施为核心、涵盖云基础软件和平台服务与云应用服务等多个层次的巨型全球化IT服务化网络体。

[1]Stephen Baker.Google and Wisdom of Clouds[N].Business-week,2007-12-13.

[2]Chen K,Zheng W M.Cloud computing:System instances and current research[J].Journal of Software,2009,20(5):1337-1348.

[3]Boss G,Malladi P,Quan D,et al.Cloud Computing[R].IBM White Paper,2007.

[4]中国云计算网.什么是云计算?[EB/OL].http://www.cloudcomputing2china.cn/Article/ShowArticle.asp?ArticleID=1,2008-05-14.

[5]刘鹏.云计算的定义和特点[EB/OL].http://www.chinacloud.cn/show.sapx?id=741&cid=17,2009-06-16.

[6]Bermanf F,Foxg G C,Heyt A J G.The Grid:Past,Present,and Future[M]//Grid Computing:Making the Global Infrastructurea Reality.England:John Wiley and Sons,2003:9-50.

[7]Nagarajanab A,Muellerf F,Engelmannc C,et al.Proactive fault to lerance for HPC with Xen virtualization[C]//Proceedings of the 21st Annual International Conference on Supercomputing.2007:23-32.

[8]陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,29(9):2562-2567.

[9]葛慧.云计算的信息安全[J].信息科学,2009(2):42-43.

[10]Barroso L A,Dean J,Holzle U.Web search for a planet:The Google cluster architecture[J].IEEE Micro.,2003,23(2):22-28.

[11]Burrows M.The chubby lock service for loosely-coupled distributed systems[C]//Proc.of the 7th USENIX Symposium on Operating Systems Design and Implementation.2006:335-350.

[12]Chang F,Dean J,Ghemawat S,et al.Bigtable:A distributed storage system for structured data[C]//Proc.of the 7th USENIX Symposium on Operating Systems Design and Implementation.2006:205-218.

[13]Ghemawats S,Gobioffh H,Leungpt Shun-Tak.The Google file system[C]//Proceedings of the 19th ACM Symposium on Operating Systems Principles.2003:29-43.

[14]Zhang Y X,Zhou Y Z.Transparent computing:A new paradigm for pervasive computing[C]//Proc.of the 3rd Int’l Conf.on Ubiquitous Intelligence and Computing(UIC 2006).2006:1-11.

猜你喜欢
虚拟化服务器资源
基础教育资源展示
一样的资源,不一样的收获
通信控制服务器(CCS)维护终端的设计与实现
基于OpenStack虚拟化网络管理平台的设计与实现
资源回收
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
资源再生 欢迎订阅
中国服务器市场份额出炉
得形忘意的服务器标准