云计算的架构及核心技术作者:薛慧丽来源:《智能计算机与应用》2014年第04期摘要:云计算的核心技术主要包括云架构体系、云核心技术、云的未来走向等三各方面,其中云架构体系部分,主要包括SaaS、PaaS、IaaS在内的云服务层,以及包括用户层、机制层、检测层在内的云管理层。
云核心技术主要包括MAP-Reduce编程模型、海量数据分存技术、海量数据管理技术、虚拟化技术、云计算平台管理技术等五大内容。
“云计算”的未来走向目前仍存在着挑战与机遇。
关键词:云计算;架构体系;核心技术中图分类号:TP308 文献标识码:A文章编号:2095-2163(2014)04-0063-05Abstract:The architecture of the system and its core technology of cloud computing are introduced and analyzed in the paper. Cloud architecture system is divided into two parts: cloud services, including SaaS, PaaS, IaaS layer and cloud management, including user layer,mechanism layer, detection layer. After that, the paper clarifies the top five core technologies of cloud computing, which are respectively: MAP-reduce programming model, mass data storage technology, massive data management technology, virtualization technology and cloud computing platform management technology. Finally, there still exist challenges and opportunities for the future of cloud computing.Key words:Cloud Computing; Architecture System; Core Technology0引言云计算是近年来的一个热门词汇,其含义已经跨越了学术和科技界,并且融入到许多社会行业之中。
根据美国国家标准与技术研究院(NIST)的定义[1],云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式。
近年来,新一代大规模的互联网应用的发展势头极为迅猛,其中主要包括数字城市、网络教育、网络传媒、搜索引擎、电子商务、电子政务、在线视频、产业应用、主题应用等,这些应用的最大特点就是数据存储量大、增长速度快、以及维护费用高。
据统计,传统企业在IT 建设中所投入的费用,用于软硬件更新与商业价值提升的费用仅占其中的20%,而用于系统维护的费用则占到了80%。
另据2006年IDC对200家企业的统计,部分企业的信息技术人力成本已达到l 320美元(每人/每台服务器),而部署一个新的应用系统则需要花费5.4周[2]。
面对如此庞大的数据和高昂的成本等现实问题,如果能引入“云计算”的技术和方法,相应问题即有望获得根本性的解决。
本文即对“云计算”的架构体系及其核心技术展开深入的探讨与剖析。
1云计算的架构体系云计算这种新的应用技术虽然涉及到非常多的产品与技术,且貌似错综复杂,但是如果对云计算系统进行深入分析,其架构体系仍是清晰且确定的,云计算的具体架构体系概略如图1所示。
该架构体系主要分为“服务”和“管理”两大组成部分。
1.1云计算的服务设计在服务设计中,所提供的主要是基于云计算的各种云服务,其中共包括三个服务层。
一是Software as a Service层(简称SaaS),软件即是服务,其作用就是将各种应用软件以Web的方式提供给广大用户;二是Platform as a Service(简称PaaS),平台就是服务,其作用则是将应用开发与部署这个大平台作为一种服务提供给各种用户;三是Infrastructure as a Service(简称IaaS),基础设施就是服务,相应作用就是将最底层、最基础的各种计算和存储等功能以及其他资源作为一种服务提供给广大用户。
虽然这三个服务层所提供的服务完全不同,但是各层之间却是相互独立,又相互依存的关系。
如:软件服务层(SaaS)的产品和服务,必须依赖平台服务层(PaaS)以及基础设施服务层(IaaS)的各种技术与资源。
下面即对各层的功能性质进行全面的阐述和呈现。
1.1.1软件服务层(SaaS)这是最先出现、也是最常见的云计算服务。
在该种服务模式下,用户只要能进入互联网,就可以通过浏览器直接使用或运行放置于云层上的资源或应用。
云层上的软件配置和硬件设施都由SaaS云供应商负责统一的管理和维护,供应商可以设置用户免费使用,也可以设定用户按需使用并收取一定的费用。
这种云服务最大的好处就是用户勿需再为软件的安装、升级以及病毒防护等问题付出考虑,而且更重要的则是免除了用户在硬件和软件方面的高昂费用支出。
SaaS的前身其实就是ASP(Application Service Provider,应用服务提供商),但是其概念和思想已经和ASP相差甚远。
和Netsuit都是最早的ASP厂商。
直到2003年后,当时的ASP 企业在Salesforce的带领下转向了SaaS的研发,并随着技术和商业的不断成熟,国外的一些SaaS的企业(如Salesforce、WebEx和Zoho等)已经获得了可观的成功,而国内的一些企业(诸如用友、金算盘、金碟、阿里巴巴和八百客等)也正积极地加入到SaaS这一行列中来,以尽快提升其科研实力。
1.1.2平台服务层(PaaS)因为PaaS的整合率非常惊人,诸如Google App Engine这样的一台服务器,即能够支撑成千上万个应用,也就是说,PaaS是最经济的一种平台服务模式,为此PaaS面向的用户主要是技术开发人员。
而且不论在什么时候、什么地点,用户都可以在PaaS这个平台上编辑各种文档,以及对SDK(Software Development Kit,软件开发工具包)进行测试和部署等。
并且尤为重要的是用户在使用过程中,已经不再需要关注服务器、网络、存储以及操作系统等资源的运行和维护。
2007年由Salesforce公司开发的是业界的第一个PaaS服务平台,但在云计算三个服务层中却是最晚出现。
通过这个平台,用户不仅可以对Salesforce所提供的各种开发工具进行轻松的设计与应用,而且还可以将各种应用在Salesforce的基础设施上进行直接部署,并获得良好实现。
2008年4月,Google公司推出了Google App Engine,由此PaaS平台的服务范围,开始从在线商业应用层面扩展到普通的Web应用层面,这就使得越来越多的用户开始了解、熟悉并逐渐体验到了PaaS服务的强大功能。
1.1.3基础设施服务层(IaaS)用户可以通过IaaS基础设施服务层,从云计算供应商处获得所需要的计算、存储、网络、服务器以及操作系统等资源及应用,并且用户只需按资源租用量付费,而其余所有的维护与管理工作只需要交给IaaS供应商去完成即可。
其实,类似于IaaS的想法早就问世,诸如VPS(Virtual Private Server,虚拟专用服务器)和IDC(Internet Data Center,互联网数据中心)等,只是,在IaaS出现前,相应的关键技术并未得到有效解决,因而使得该种服务除了价格高昂之外,在其性能和使用等方面都还存在许多问题,这就决定了基础设施服务层(IaaS)在大中型企业的用户中并未获得广泛采用。
直到2006年底,Amazon权威发布了EC2(Elastic Compute Cloud)这一IaaS云服务之后,并且由于EC2具有着技术、价格和性能等诸多方面的明显优势,才使该种服务得到了业界的广泛认可和接受,随之IaaS就开启了其高速发展之路,纽约时报就是率先采用IaaS技术与服务的著名大型企业之一。
1.2云计算的管理设计整个云计算中心能否得到有效的管理,能否安全、稳定地运行,这就是云计算管理层的任务,相应地也是其功能所在。
云计算管理层属于云计算的核心部分,而与过去的数据中心相比,云计算的鲜明优势即在于云管理具有出众的优越性。
同时,这一层也是前面三个云服务层的重要基础,可为云服务的每一个层面提供管理、维护、安全、运行等多方面的功能和各种重要的技术支持。
具体实现如图2所示,云计算管理层一共由九个模块组成,而这九个模块又可以再分为三层——用户层、机制层和检测层。
下面即对各层展开逐一的分析和介绍。
1.2.1用户层这是面向云用户的功能管理层,云管理人员通过各种不同的功能为用户提供优质的服务。
该层面共包括四个模块:用户管理、客户支持、服务管理和计费管理。
具体地,用户管理是各个系统的通用问题,云计算也概莫能外。
并且云计算中最为核心的关键问题就是要使每一个云用户均能得到舒畅、而又方便的客户体验。
客户支持模块的主要任务则是要建设一套基于云计算技术的、非常完善的客户支持系统,能够按照问题的轻重缓急或者用户的优先级别依次帮助用户解决各类疑难问题。
而服务管理模块就是按照SOA(Service-Oriented Architecture,面向服务的架构)的设计规范,将云上各种应用的不同功能进行服务拆分,再通过定义良好的接口和契约将已经拆分出来的服务进行排列,这样做就可使整个系统更加灵活,从而能够更具效果地、以及更方便、快捷地为各种不同类型、多种不同需要的客户实现高效、定制的服务。
此外,计费管理模块即是利用检测层的监控系统采集到的相关数据,有针对、有目的地将不同用户所使用的不同资源或者不同服务进行有效统计,并通过完善、详细的报表形式向各个用户收取准确费用。
1.2.2机制层要对云计算进行有效的管理,就离不开云管理的机制层。
如果没有云管理机制的有效运维与整体部署,云计算中心内部就不可能拥有更安全、更环保、更自动的现代管理。
和上面的用户层一样,机制层也包含了四个模块:运维管理、资源管理、安全管理和容灾支持。
其中,机制层的运维系统越强健,自动化程度越高,云计算的运行就会越出色。
资源管理模块主要是对服务器、存储设备、网络设备等物理节点的管理,其功能分别表现为自动部署、资源调度、资源池管理等三个方面。