职业素质教育课程报告—云计算系统概述及前景分析引言云,这个平淡无奇的词到了互联网领域就是另一片天空,云计算、云存储、云阅读等等。
近日与所有人息息相关的快递业发生的菜鸟快递与顺丰之争背后隐藏着阿里云与腾讯云对数据的你争我夺。
事实上,云是指你作为接受服务的对象,是云端,不管你在何时何地,都能享受云计算提供的服务。
云是网络、互联网的一种比喻说法。
本文将要讨论的云计算也是云的应用之一。
本文将要简要的探讨云计算的定义,并对云计算的系统架构及相关技术做一个简要的归纳梳理,最后就云计算在当下的典型应用分析其行业发展前景。
一云计算定义云计算到底是什么呢?云计算到目前为止还没有一个统一的定义。
云计算的一些领先者如Google、IBM 等IT厂商又或者其他一些研究机构,依据各自的利益和各自不同的研究视角都给出了各自对云计算的定义和理解。
首先参考维基百科的定义,“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;咨询机构Gartner将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而IBM 则认为“云计算是一种新兴的IT服务交付方式,应用、数据和计算资源能够通过网络作为标准服务在灵活的价格下快速地提供最终用户。
”图1 云计算示意图狭义层次的云计算是指IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。
广义层面而言云计算则指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所需的服务。
这种服务可以是IT和软件、互联网相关的,也可以是任意其它的服务。
具体而言,由于在后端有规模庞大、非常自动化和高可靠性的云计算中心的存在,人们只要接入互联网,就能非常方便地访问各种基于云的应用和信息,并免去了安装和维护硬件等繁琐操作,同时,企业和个人也能以低廉的价格来使用这些由云计算中心提供的服务或者在云中直接搭建其所需的信息服务。
二云计算体系架构云计算可以按需提供弹性的服务资源,故而它的表现形式是一系列服务的集合。
结合当前云计算的应用与研究,其体系架构可大致分为核心服务、服务管理、用户访问接口这三层构架。
核心服务层将硬件基础设施、软件运行环境、应用程序抽象成服务,这些服务具有可靠性强、可用性高、规模可伸缩等特点,满足多样化的应用需求。
服务管理层为核心服务提供支持,进一步确保核心服务的可靠性、可用性与安全性。
用户访问接口层实现端到云的访问。
图2 云计算体系架构2.1 核心服务层云计算核心服务通常可以分为3个子层:基础设施即服务层(IaaS,infrastructure as a service)、平台即服务层(PaaS, platform as a service)、软件即服务层(SaaS, software as a service)。
1)IaaS提供硬件基础设施部署服务,为用户按需提供实体或虚拟的计算、存储和网络等资源。
在使用IaaS层服务的过程中,用户需要向IaaS层服务提供商提供基础设施的配置信息,运行于基础设施的程序代码以及相关的用户数据。
2)PaaS是云计算应用程序运行环境,提供应用程序部署与管理服务。
通过PaaS层的软件工具和开发语言,应用程序开发者只需上传程序代码和数据即可使用服务,而不必关注底层的网络、存储、操作系统的管理问题。
由于目前互联网应用平台(如Facebook、Google、淘宝等)的数据量日趋庞大,PaaS层应当充分考虑对海量数据的存储与处理能力,并利用有效的资源管理与调度策略提高处理效率。
3)SaaS是基于云计算基础平台所开发的应用程序。
企业可以通过租用SaaS层服务解决企业信息化问题,如企业通过GMail建立属于该企业的电子邮件服务。
该服务托管于Google的数据中心,企业不必考虑服务器的管理、维护问题。
对于普通用户来讲,SaaS层服务将桌面应用程序迁移到互联网,可实现应用程序的泛在访问。
2.2 服务管理层服务管理层对核心服务层的可用性、可靠性和安全性提供保障。
服务管理包括服务质量(QoS,quality of service)保证和安全管理等。
云计算需要提供高可靠、高可用、低成本的个性化服务。
然而云计算平台规模庞大且结构复杂,很难完全满足用户的QoS需求。
为此,云计算服务提供商需要和用户进行协商,并制定服务水平协议(SLA,service level agreement),使得双方对服务质量的需求达成一致。
当服务提供商提供的服务未能达到SLA的要求时,用户将得到补偿。
此外,数据的安全性一直是用户较为关心的问题。
云计算数据中心采用的资源集中式管理方式使得云计算平台存在单点失效问题。
保存在数据中心的关键数据会因为突发事件(如地震、断电)、病毒入侵、黑客攻击而丢失或泄露。
根据云计算服务特点,研究云计算环境下的安全与隐私保护技术(如数据隔离、隐私保护、访问控制等)是保证云计算得以广泛应用的关键。
除了QoS 保证、安全管理外,服务管理层还包括计费管理、资源监控等管理内容,这些管理措施对云计算的稳定运行同样起到重要作用。
2.3 用户访问接口层用户访问接口实现了云计算服务的广泛访问,通常包括命令行、Web服务、Web门户等形式。
命令行和Web服务的访问模式既可为终端设备提供应用程序开发接口,又便于多种服务的组合。
Web门户是访问接口的另一种模式。
通过Web 门户,云计算将用户的桌面应用迁移到互联网,从而使用户随时随地通过浏览器就可以访问数据和程序,提高工作效率。
虽然用户通过访问接口使用便利的云计算服务,但是由于不同云计算服务商提供接口标准不同,导致用户数据不能在不同服务商之间迁移。
为此,在Intel、Sun和Cisco等公司的倡导下,云计算互操作论坛(CCIF, cloud computing interoperabilityforum)宣告成立,并致力于开发统一的云计算接口(UCI, unified cloud interface),以实现“全球环境下,不同企业之间可利用云计算服务无缝协同工作”的目标。
三云计算的关键技术云计算的目标是以低成本的方式提供高可靠、高可用、规模可伸缩的个性化服务。
为了达到这个目标,需要数据中心管理、虚拟化、海量数据处理、资源管理与调度、QoS 保证、安全与隐私保护等若干关键技术加以支持。
据《2014-2020年中国云计算行业深度调研及发展趋势分析报告》指出云计算的五大关键技术如下:虚拟化技术、分布式海量数据存储、海量数据管理技术、编程方式以及云计算平台管理技术。
3.1 虚拟化技术虚拟化技术是指计算元件在虚拟的基础上而不是真实的基础上运行,它可以扩大硬件的容量,简化软件的重新配置过程,减少软件虚拟机相关开销和支持更广泛的操作系统。
通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。
虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化目。
在云计算实现中。
计算系统虚拟化是一切建立在“云”上的服务与应用的基础。
虚拟化技术目前主要应用在CPU、操作系统、服务器等多个方面,是提高服务效率的最佳解决方案。
所以,云计算的虚拟化技术不同于传统的单一虚拟化,它是涵盖整个IT架构的,包括资源、网络、应用和桌面在内的全系统虚拟化,它的优势在于能够把所有硬件设备、软件应用和数据隔离开来,打破硬件配置、软件部署和数据分布的界限,实现IT架构的动态化,实现资源集中管理,使应用能够动态地使用虚拟资源和物理资源,提高系统适应需求和环境的能力。
对于信息系统仿真,云计算虚拟化技术的应用意义并不仅仅在于提高资源利用率并降低成本,更大的意义是提供强大的计算能力。
众所周知,信息系统仿真系统是一种具有超大计算量的复杂系统,计算能力对于系统运行效率、精度和可靠性影响很大,而虚拟化技术可以将大量分散的、没有得到充分利用的计算能力,整合到计算高负荷的计算机或服务器上,实现全网资源统一调度使用,从而在存储、传输、运算等多个计算方面达到高效。
虚拟化是IaaS层的重要组成部分,也是云计算的最重要特点。
虚拟化技术特点总结如下:1) 资源分享。
通过虚拟机封装用户各自的运行环境,有效实现多用户分享数据中心资源。
2) 资源定制。
用户利用虚拟化技术,配置私有的服务器,指定所需的CPU 数目、内存容量、磁盘空间,实现资源的按需分配。
3) 细粒度资源管理。
将物理服务器拆分成若干虚拟机,可以提高服务器的资源利用率,减少浪费,而且有助于服务器的负载均衡和节能。
基于以上特点,虚拟化技术成为实现云计算资源池化和按需服务的基础。
3.2 分布式海量数据存储云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式(集群计算、数据冗余和分布式存储)保证数据的可靠性。
冗余的方式通过任务分解和集群,用低配机器替代超级计算机的性能来保证低成本,这种方式保证分布式数据的高可用、高可靠和经济性,即为同一份数据存储多个副本。
云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。
3.3 海量数据管理技术云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。
云计算系统中的数据管理技术主要是Google的BT sT~lO数据管理技术和Hadoop团队开发的开源数据管理模块HBase。
由于云数据存储管理形式不同于传统的RDBMS数据管理方式,如何在规模巨大的分布式数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。
同时,由于管理形式的不同造成传统的SQL数据库接口无法直接移植到云管理系统中来,目前一些研究在关注为云数据管理提供RDBMS和SQL的接口,如基于Hadoap子项目HBase和Hive等。
3.4 编程方式云计算提供了分布式的计算模式,客观上要求必须有分布式的编程模式。
云计算采用了一种思想简洁的分布式并行编程模型Map—Reduce。
Map—Reduce 是一种编程模型和任务调度模型。
主要用于数据集的并行运算和并行任务的调度处理。
在该模式下,用户只需要自行编写Map函数和Reduce函数即可进行并行计算。
其中,Map函数中定义各节点上的分块数据的处理方法,而Reduce函数中定义中间结果的保存方法以及最终结果的归纳方法。
3.5 云计算平台管理技术云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不问断的服务是巨大的挑战。