云计算简述

1、云计算简介

1.1 云计算的定义

云计算是由分布式计算、并行处理、网格计算发展来的,是一种新兴的商业计算模型。目前,对于云计算的认识在不断的发展变化,云计算没仍没有普遍一致的定义。
  中国网格计算、云计算专家刘鹏给出如下定义 :“云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务”。
  狭义的云计算 指的是厂商通过分布式计算和虚拟化技术搭建数据中心或超级计算机,以免费或按需租用方式向技术开发者或者企业客户提供数据存储、分析以及科学计算等服务,比如亚马逊数据仓库出租生意。
  广义的云计算 指厂商通过建立网络服务器集群,向各种不同类型客户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务。广义的云计算包括了更多的厂商和服务类型,例如国内用友、金蝶等管理软件厂商推出的在线财务软件,谷歌发布的Google应用程序套装等。

通俗的理解是,云计算的“云“就是存在于互联网上的服务器集群上的资源,它包括硬件资源(服务器、存储器、CPU等)和软件资源(如应用软件、集成开发环境等),本地计算机只需要通过互联网发送一个需求信息,远端就会有成千上万的计算机为你提供需要的资源并将结果返回到本地计算机,这样,本地计算机几乎不需要做什么,所有的处理都在云计算提供商所提供的计算机群来完成。

1.2 基本特征

根据美国国家标准和技术研究院的定义,云计算服务应该具备以下几条特征:

  • 随需应变自助服务。
  • 随时随地用任何网络设备访问。
  • 多人共享资源池。
  • 快速重新部署灵活度。
  • 可被监控与量测的服务。

一般认为还有如下特征:

  • 基于虚拟化技术快速部署资源或获得服务。
  • 减少用户终端的处理负担。
  • 降低了用户对于IT专业知识的依赖。

1.3 云计算的主要形式

1.2.1 按服务模式来分

美国国家标准和技术研究院的云计算定义中明确了三种服务模式:

软件即服务(SaaS): 消费者使用应用程序,但并不掌控操作系统、硬件或运作的网络基础架构。是一种服务观念的基础,软件服务供应商,以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组账号密码。例如:Microsoft CRM与Salesforce.com。

平台即服务(PaaS):消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或运作的网络基础架构。平台通常是应用程序基础架构。例如:Google App Engine。

基础设施即服务(IaaS):消费者使用“基础计算资源”,如处理能力、存储空间、网络组件或中间件。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载平衡器等),但并不掌控云基础架构。例如:Amazon AWS、Rackspace。

云计算的服务模式

1.2.2 按部署来分

美国国家标准和技术研究院的云计算定义中也涉及了关于云计算的部署模型:

  • 公用云(Public Cloud)

简而言之,公用云服务可通过网络及第三方服务供应者,开放给客户使用,“公用”一词并不一定代表“免费”,但也可能代表免费或相当廉价,公用云并不表示用户数据可供任何人查看,公用云供应者通常会对用户实施使用访问控制机制,公用云作为解决方案,既有弹性,又具备成本效益。

  • 私有云(Private Cloud)

私有云具备许多公用云环境的优点,例如弹性、适合提供服务,两者差别在于私有云服务中,数据与程序皆在组织内管理,且与公用云服务不同,不会受到网络带宽、安全疑虑、法规限制影响;此外,私有云服务让供应者及用户更能掌控云基础架构、改善安全与弹性,因为用户与网络都受到特殊限制。

  • 社区云(Community Cloud)

社区云由众多利益相仿的组织掌控及使用,例如特定安全要求、共同宗旨等。社区成员共同使用云数据及应用程序。

  • 混合云(Hybrid Cloud)

混合云结合公用云及私有云,这个模式中,用户通常将非企业关键信息外包,并在公用云上处理,但同时掌控企业关键服务及数据。

云种类

2、云计算技术介绍

云计算系统中运用了很多技术,其中以编程模型技术、数据存储技术、数据管理技术、虚拟化
技术、可扩展的并行计算和高可靠的系统技术最为关键。

2.1 编程模型技术

云计算必须保证后台复杂的并行执行和任务调度,对用户和编程人员是透明,因此,云计算的编程模型必须简单有效,才能让用户更方便地享受云服务。云计算采用类似 MAP-Reduce的编程模式,
是一种简化的分布式编程模型和高效的任务调度模型,适用于大规模数据集(大于1TB)的并行运算。现在,大部分 IT 厂商采用的编程模型,都是基于 MAP-Reduce 的思想开发的。
  严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

2.2 海量数据分布存储技术

云计算用分布式存储数据,并用冗余的方式保证数据存储的高可用、高可靠和经济性。云计算系统由大量服务器组成,为保证大量可靠的用户服务,数据存储技术必须具有高传输率和高吞吐率的特性的同时还需要保证数据的可靠性,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。现在,广泛使用的数据存储技术是 GFS(Google File System)和 HDFS(Hadoop Distributed FileSystem) 。大部分 IT 厂商都是使用 HDFS 的数据存储技术。未来将集中发展超大规模的数据存储、数据安全、数据加密和提高 I/O 速率等方面。

GFS即Google文件系统(Google File System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。
  一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,块服务器间的块迁移。主服务器定期通过HeartBeat消息与每一个块服务器通信,给块服务器传递指令并收集它的状态。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在系统中保存3个以上备份。
  客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。

2.3 海量数据管理技术

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

BT是建立在GFS, Scheduler, Lock Service和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。
  Google的很多项目使用BT来存储数据,包括网页查询,Google earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功的提供了灵活高效的服务。

2.4 虚拟化技术

虚拟化技术是指计算任务在虚拟的基础上而不是真实的硬件基础上运行,可实现软件应用与底层硬件相隔离,扩大硬件的容量,简化软件的重新配置过程。它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。
  利用虚拟化技术,可以有效地整合数据中心的硬件资源、虚拟服务器和其它基础设施,通过高效的管理和调度,为上层应用程序提供动态的、可扩展的、灵活的基础设施平台,以满足云计算按需部署、随需随用的需求。半虚拟化技术是目前主流的技术,能减少 CPU 额外的开销,但内存性能消耗较大。因此,原来的 CPU 集型应用程序可以较好地迁移到虚拟化平台上来,而内存或 I/O 密集型应用程序,在数据操作等方面将会面临更大的性能问题。

虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。

2.5 可扩展的并行计算技术

并行计算技术是云计算最具挑战性的核心之一,多核处理器增加了并行的层次结构和并行程序开发的难度,当前尚无有效的并行计算解决方案。可扩展性是并行计算的关键技术之一,将来的很多
并行应用必须能够有效扩展到成千上万个处理器上,必须能随着用户需求的变化和系统规模的增大进行有效地扩展,这对开发者是一个巨大的挑战,短期内很难开发出成熟的产品。

2.6 高可靠的系统技术

如何有效地管理庞大的资源,使大量分布在不同地点的服务器能够协同工作,执行各种任务,并能快速地发现和恢复系统故障,保证整个系统提供不间断的服务是巨大的挑战。当系统规模增大后,面对大量的紧耦合通讯应用,目前还没出现有效的系统级容错方案,主要通过应用层面的检查点和重启技术,这不但增加了系统开发的难度和工作量,还影响系统运行的性能。如何形成一个强大可靠的、动态的、自治的计算存储资源池,提供云计算所需要的高容量的计算能力,保证大规模系统的可靠运营,有待进一步的深入研究。

4、云计算的应用

云 计 算 平 台 是 一 个 强 大 的 “云 ”网 络 ,连 接 了 大量并发的网络计算和服务,可利用虚拟化技术扩展每一个服务器的能力,将各自的资源通过云计算平台结合起来,提供超级计算和存储能力。
  构建在网络之上的云计算给人们带来了诸多方便,为人们的生活和工作提供了无限多的可能。目前国内提供了各种的云计算产品,用户可以方便的进行使用,如百度云盘等远程存储。

4.1 云计算国外相关组织及方向

目前,国外已经有多个云计算的科学研究项目,非常有名是ScientificCloud和 [OpenNebula](htp:∥ hive.apache.org/)项 目。产 业 界 也 在 投 入 巨 资 部署各自的云计算系统,参与者主要有 Gogle、Ama-zon、IBM、Microsoft等。国 内 关 于 云 计 算 的 研 究 也 已起步,并在计算机系统虚拟化基础理论与方法研究方面取得了阶段性成果。国际上云计算主要研究组织及研发方向如表 1所示

 

云计算国外组织及方向

4.2 云计算国内相关组织及方向

国内学术界对云计算研究也非常热门,并做了大 量 的 研 究 工 作 。国内企业界主要云计算研究组织及研发方向如下图所示:

 

国内产品比较

4.3 移动互动应用程序

Tim O’Reilly 认为:将来是属于能对人或者其他传感器提供实时响应的服务。如实时响应的服务,需要综合两个或多个源信息或服务提供综合服务的应用,不仅要求高可用性,而且需要大型数据中心可靠地存储大量数据,正日益增加对移动云计算和移动云应用程序的采用。

4.4 并行批处理程序

云计算为批处理和数据分析提供了独特的机遇,TB 级的数据分析将可以在数小时内完成。如果应用程序中的数据有足够的并行性,就可以利用云提供的成本特性,在不扩大成本的前提下,使用大量机器可以在很短的时间内,完成少量机器需要很长时间才能完成的工作。

4.5 分析需求的兴起

计算密集型批处理的典型案例就是商业分析,大型数据库起初主要是针对事务处理,但这种需求已经不再增长了。现在越来越多的计算资源用于理解客户、供应链和排名分析等数据分析问题,网数据库处理的资源平衡点正在从事务转向商业分析。

4.6 计算密集型桌面应用程序的扩展

最新版本的数学软件,如 Matlab 和 Mathematica 都可以通过云计算进行复杂的评估计算,其它的桌面应用程序,将来也可以无缝地扩展到云系统中。

4.7 地域局限的应用程序

有些应用程序尽管本身很适合云的伸缩性和并行性,但却因为数据传输成本或者数据传输延迟的根本性限制,而不能使用云计算。只有降低了网络数据传输的成本或延迟,这些应用程序才适用于云计算。

5、云计算的研究热点及挑战

通过对云计算相关专利进行分析,可以看出在 Iaas 层的主要以虚拟化技术展开,同时涉及分布式云框架以及数据安 全 方 面 的 技 术。PaaS 层 服 务 器 相 关的数据传输、数据存储、数据安全、分布式网络方面的技术为主。而 Iaas 层与Paas 层则以数据中心与数据存储的相关技术为桥梁, 形成云计算核心服务层的基础支持。Saas 层则承担了云计算结果的展示功能,更加注重平台建设,服务优化方面的技术。因此,目前在云计算领域相对热点的技术主要集中在虚拟化技术,云安全技术、分布式计算方面。

同时,IaaS 提供硬件基础设施部署服务,为用户按需提供实体或虚拟的计算、存储和网络等资源。在使用 IaaS 层服务的过程中,用户需要向 IaaS 层服务提供商提供基础设施的配置信息,运行于基础设施的程序代码以及相关的用户数据。由于数据中心是 IaaS 层的基础,因此数据中心的管理和优化问题近年来成为研究热点。

5.1 云计算领域前沿技术

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

  • 资源分享。通过虚拟机封装用户各自的运行环境,有效实现多用户分享数据中心资源。
  • 资源定制。用户利用虚拟化技术, 配置私有的服务器,指定所需的 CPU 数目、内存容量、磁盘空间,实现资源的按需分配。
  • 细粒度资源管理。将物理服务器拆分成若干虚拟机, 可以提高服务器的资源利用率,减少浪费,而且有助于服务器的负载均衡和节能。

基于以上特点,虚拟化技术成为实现云计算资源池化和按需服务的基础。通过支持动态创建分离的、完全独立与物理网络硬件的虚拟网络,网络虚拟化解决了实现云计算——网络——敏捷性的最终障碍之一。就像服务器虚拟化将虚拟机(VM)从底层 x86 服务器硬件分离出来以改变计算运营模式一样,网络虚拟化将基于软件的虚拟网络从底层网络硬件分离出来,以便支持新的网络运营模式。在不更改的情况下非破坏性地部署到任何现有网络上,网络虚拟化将物理网络转变为可根据需求而消费并改变用途的容量池。
  云计算计算的实现主要集中在虚拟化、分布式计算系统、云存储、云操作系统这四个方面。

参考:
云计算(维基百科)
云计算关键技术及应用研究
云计算领域的热点技术

 

转载于:https://my.oschina.net/idea813/blog/1622323

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值