云计算与大数据技术 第一章

1.1什么是云计算

云计算概述

云计算(CloudComputing)是基于互联网的相关服务的增加,使用和交付模式,通常涉及通过互联网来提供动态易扩展且常为虚拟化的资源,是并行计算(Parallel Computing)、分布式计算(DistributedComputing)和网格计算(GridComputing)等的融合和发展,也是虚拟化(Virtualization),效用计算(UtilityComputing),面向服务架构(SOA)等概念混合演进后商业实现的结果。本章将介绍什么是云计算、云计算的发展背景和特点,云计算的基础设施、掌握云计算的商业模式及云计算的主要服务模式。

1.1.1云计算的定义

1)维基百科:云计算是一种动态扩展的计算模式,通过计算机网络将虚拟化的资源作为服务提供给用户;云计算通常包含基础设施即服务(Infrastructure as a Service,Iaas),平台即服务(Platform asaService,PaaS),软件即服务(Software as a Service, Saas),
2)Google:将所有的计算和应用放置在“云”中,终端设备不需要安装任何软件,通过互联网来分享程序和服务。
3)微软:云计算是“云+端”的计算,将计算资源分散分布,部分资源放在云上,部分资源放在用户终端,部分资源放在合作伙伴处,最终由用户选择合理的计算资源。
4)互联网数据中心(International Data Corporation,IDC):云计算是一种新型的IT技术发展,部署及发布模式,能够通过互联网实时提供产品,服务和解决方案。
5)美国国家标准与技术实验室(National Institute of Standards and Tecknology, NIST):云计算是一种无处不在的,便捷的、通过互联网访问的一个可定制的IT资源(IT资源包括网络、服务器、存储、应用软件和服务)共享池,是一种按使用量付费的模式。它能够通过最少量的管理或与服务供应商的互动实现计算资源的迅速供给和释放。这是现阶段广为接受的云计算的定义。
6)美国联邦云计算战略报告中,定义了四种云。
●公有云;提供面向社会大众,公共群体的云计算服务。如Amazon云平台,Google AppEngine等。公有云有很多优点,但最大的一个缺点是难以保证数据的私密性。
.私有云:提供面向行业/组织内的云计算服务。如政府机关,企事业单位、学校等内部使用的云平台。私有云可较好地解决数据私密性问题,对数据私密性要求特别高的行业或组织,建设私有云将是一个必然的选择,例如WindowAzure是私有云平台管理和服务软件。
·社区云:提供面向社团组织内用户使用的云计算平台。如美国航天局(National Aeronautics and Space Administration,NASA)的Nebula云平台为NASA的研究人员提供快速的IT访问服务。
●混合云:包含上述两种以上云计算类型的混合式云平台。

1.1.2云计算的概念模型

1)用户的公共程。云计算面向各类用户,包括企业、政府部门,学术机构,个人等用户,也包括应用软件,中间件平台等“用户”。中间件是一种独立的系统软件或服务程序,公布式应用软件懂助这种软件在不同的技术之间共享资源。中间件位于零户机/服告器的操作系统之上,管理计算机资源和网络通信,它是连择两个独立应用程序或独立系统的软件,
2)设备的多样性。云计签用于提供服务的设备是益样的,既包括各种礼模的服者器,工机,存储设备,也包括各种类型的终确设备。如计算机,智能手机,各种智钱传感器,RFID(Radio Fropuancy Identification,射频识别。它是一种通信技术。可通过无线电信专识别特定目标并读写相关数据,而无便在识别系统与特定目格之间建立机械或光学接触)设备等,
3)商业模式的服务性。云计算的服务特性修现在两个方面;简化和标准的服务撞口,按究计费的商业核式。
4)提供方式的最活性。云计算院可以作为一种公用设施,提供社会服务,却“公有云”,也可以作为企业信息化的集中计算平台来提供,即“私有云”。
1.1.3 云计算的特点
与传统计算机息统相比,云计算具有以下特点。
1)具有大规模并行计算能力。基于云端的强大而虚价的计算能力。为大鞋度应用提供传统计算系统或用户终端所无法完成的计策服务。云计算系统的计算资源包括: CPU运算资源,存储资源,网络带宽等,一被企业私有云有成百上千台服务器,有的甚至是上百万台服务器。
2)资源虚拟比(virtualination)和弹性调度,云计算系统的资源池中包括存储,处理器、内存。网络带宽等资源。它们以按需后配方式,为小航度应用提供计算资源,实现资源共享。并且,云计算系统的形模可以动态地伸缩,满足不同的应用和不同的用户需求。同时,云计算系统中不同的物理机和虚拟机资源可根据零户需求话息分配。零户所获得到的资源可能来自于北京的云计算资源,也可能来自于上海的云计算资源。虚拟化技术也是云计算的核心技术之一,包括了网语虚拟化,存储虚抓化,服者紧虚批化,操作系统虚拟化,应用虚拟比等。
3)数据量区大并且增速讯猛。由于在云计算环境下。人何既是信息的使用者,也易信息的创服者。导数互联网上的信息量制增,那么如何他用这些数着为人们提快更好的服务成为目前的研究热点,并产生了典型的大数据处理技术,如Hpdoop,Spark Storm等,而这些技术都与云计算密不可分。
云计算还有一些其他特点:高可靠性,云计算应用了数据盘副本容错,计算结点同构可互换等措施练证高可靠性;通用性,却同一个云可以支持不同的应用运行;高性价比,云计算相对低廉的价格使得用户使用起来更"实患”。

1.2典型的云计算基础架构
Google的云计算技术实际上是针对Google最重要的搜索应用而开发的。针对内部网络数据规模超大的特点,Google提出了一整套基于分布式的并行集群基础架构,并且 Google的数据中心采用廉价的LinuxPC机组成集群,利用软件来处理集群中经常发生的结点失效问题,从而形成了Google的云计算基础架构。
Google的云计算基础架构包括三个相互独立又紧密结合在一起的系统:GFS分布式文件系统,针对Google应用程序的特点提出的Mapkeduce编程模型和大规模分布式数据库 BigTable,
Google云计算架构

MapReduce API式数据库 BigTable分布

GFS分布式文件系统
1)GFS是建立在集群之上的分布式文件系统,Google为了满足其讯速增长的数据处理需求,对文件系统进行了特别优化,解决了包括超大文件的访问,读操作比例远超过写操作和集群中的结点极易发生故障造成结点失效等问题(GFS默认把超大文件分成64MB的块,分布在集群的机器上,使用Linux的文件系统存放,同时每块文件至少有3份以上的宽余,从而解决结点失效问题)。
2)MapReduce是分布式并行编程模型。Google构造MapReduce并行编程模型来简化分布式系统的编程,用户只需要提供自己的Map画数以及Reduce函数,就可以在集群上进行大规极的分布式并行数据处理。Mpp(映射)是把输入Inut分解成中间的keyNalueu值对,Reduce(化简)把key/Valus键值对合成最终的输出Output。这两个函数由开发者提供给系统,Map和Reduce操作分布在集群上运行,并把结果存健在GFS上。
3)BigTable是分布式大规模数据库管理系统,由于Google应用程序需要处理大量的半错构化数据,Google构建了弱一致性要求的大规模数据库系统BigTable。它是稀疏的,分布式的,持久化的,参维排序的,并以KeyValue键值对形式存储的数据模型。BigTable不器关系型数据库,像它的出字一样,就是一个巨大的表格,用来存储半结构化数据。
以上是Google内部云计算架构的三个主要部分,除了这三个部分之外,Google还构建了其他云计算组件,包括领域描述语言,分布式程序调度器,分布式锁服务Chubby机制等。
Google云计算的核心技术构成。其中,数据处理采用MapReduce并行编程模式;大文件存储采用GFS;大规模数据库管理系统采用BigTable;云计算服务采用Google AapEngine。广为流行的Hadoop是对Google的MapReduce,GFS和BigTable等核心技术的开源实现,由Apache软件基企会支持。

1.3云计算的主要服务模式

云计算从用户体验的甬度主要合为三种服务模式:基础设施即服务(Iwfrastructure as a Service,laps).平台即服务(Platform as a Sarvics,Paas),软件即服务(Softwnre as a service. Saps)。Saps例重于软件服务。通过网络提供软件程序服务;PoaS刚重于平台服务,以服务平台或者开发环晚提供服务;Ioas例重于硬件资源服务,注重于计算资源的共享,消费者通过互联网可以从完善的计算机基础设施获得服务。

1.3.1 基础设施即服务laaS
laaS为IT行业创造度拟销计算和数据中心,使得其能够把计算单元,存储器,1/0设备,带宽等计算机基础设施。集中起未成为一个虚拟的资源池来为整个网络提供服务。IaaS提供接近于部机(物理机或虚拟机)的计算资源和基础设施服务。
IaaS的典型代表是Amazon的云计算服务(Amazon web Service,AwS):AWS平台 它提供了两个典型的云计算平台:弹性计算云EC2(ElusticCorputing Cloud)和简单存健服务S3(Simple Storaye Service),EC2完成计等功能,在该平台上用户可以部署自己的系统软件,完成应用软件的开发和发布。S3完成存储计算功能,S3的基础密口是桶,桶是存放文件的容器。S3给每个桶和桶中每个文件分配一个URI地址,因此用户可以通过HTTP或者HTTPS协议访问文件。收费的服务项品包括存储服务器,带宽,CPU资源以及月租费。月程费与电话月租费类似,存储服务器,带宽接容量收费,CPU根据时长(小时)运算量收费。
lanS的关键技术及解决方案是虚拟化技术,使用度拟化技术,将查台服务器的应用整合到一台服务器上的多个虚拟机上运行。 每个服务器有其相应的操作息统和应用程序, 为了充分利用服务器,将多台服务器上的应用整后到一台服务器上的参个虚拟机上运行 其利国率大大提高, 计算虚拟化提高了服务器资源的利用率,安全可靠地降低了数据中心总所有成本TCO(Totpl Cost of Oenarskip).

虚拟化技术的另一个主要功能是隔离。如某个虚拟机崩溃或故障(如操作系统的障,应用程序前清,驱动程序故障等),不会影响同一服务器上的其他虚拟机。在某个虚拟机中的病毒,蠕虫等与其他虚拟机相隔离,就像每个虚抓机都位于单独的物理机器上一样。虚拟化技术还可以进行资源控制以提供性能隔离,即可以为每个虚拟机指定最小和最大资源使用量,以确保某个虚拟机不会占用所有的资源而使得同一系统中的其他虚拟机无资源可用。
虚拟化技术的第三个重要法能是封装。封装意味看将整个虚拟机(硬件配置。8105配置,内存状器,碰盘状态,1/0设备状态。CPU状态)存健在独立于物理硬件的一小组文件中,复制和移动虚拟机就像复制和移动文件一样简单。

1.3.2 平台即服务PaaS
PaaS是批应用服务的运行和开发环境作为一种服务提供的商业模式。即PaaS为开发人员提供了构建应用程序的环境,开发人员无候过主考虑底成硬件,可以方便地使用很多在构建应用时的必象服务。
Google hep Engine(应用引擎)提供了一种PaaS类型的云计算服务平台。专为故件开发肃制定。GoaglekppEnging是由Pythan应用服务器群,BiTable数据床访问及GFS教操存付服务组成的平台,它能为开发者提供一体化的。提供主机服务器及可自动升级的在线应用服务。用户编写应用程序,Gooyle提供应用运行及维护所需象的一切平台资源。 
Google ArpEngine这种服务让开发人员可以编译基于Python的应用程序。并可免费使用Goosle的基础设选来进行托管(最高办情空间达5000B)。
Goagle ap Engine和imaron的S3.EL2及Simglebe不同,因为后者直接提供的是一系列硬件资源供用户选择使用。
Paas的类键技术有两个。一个是分布式的并行计算,另一个是大文件分布式存储,自布式并行计算技术是为了充行利用广泛部署的普通计算资源实现大规模运算和应用的目的,实现真正将传统运算转化为并行计算,为客户提供并行服务。大文件分布式存储是为了解决海量数据存储在廉价的不可信结点集群帮构上数据安全性及运行性的保证.

1.3.3软件即服务SaaS
SaaS是一种基于亚联网提供软件服务的应用模式,即提供各种应用软件服务。用户只需接使用时间和使用规模付卖,不需安装相应的应用软件,打开浏览器却可运行,并且不需要额外的服务器硬件,实现软件【应用服务)按需定制。在
SaaS是一种随着互联网技术的发展和应用软件的成熟,在21世纪开始实赶的软网应用模式。Saas服务模式商传统的销整软件办么许可证的方式有很大的不同,它采用软件租货的形式,这种糕式也是未来管理软件的发展趋势。
SaaS的关键技术是主租户技术。云计算要求硬件资源和款件资源能够更好地共享,要具有良好的伸馆性。任何一个闻户都解够按股自己的需求进行零户化配置而不影响其他用户的使用,查租户技术就是云计算环境中能够满足上述需求的关键技术,

1.3.4三种服务模式之间的关系
它们之间的关系主要可以从以下两个角度进行合析。
1.从用户体验角度分析
从用户体验角度而言,它们之间关系是独立的,因为它们面对的是不同类型的用户。SaaS主要面对的是普通用户,对普通用户而言。在任何时候或者任何地点,只要连接上互联网,通过测览器就能直接使用在云端上运行的应用,而不需要顾虑软件安装等项事,并且可以无去和期高昂的软硬件投入。Paas主要的用户是开发人员,为了支撑着整个Paas平台的运行,供应商需要提供回大功能:友好的开发环境,丰富的服务,自动的资源调度,精细的管理和监控。laas主要的用户是具有专业知识的系统管理员。Iaas供应商需学在7个方面对基础设施进行管理以结用户提供资源,它们是资源抽象、资源监控,负载管理,数据管理,资源部署、安全管理和计费管理。
2.从技术角度后析
云计算的服务层次是根据服务类型来划分的,与大家熟悉的计算机网络体系结构中层次的划分不同。从技术角度而言,它们有一定的继承关系,即Saas基于Paas,Paas基于Iaas,但并不是简单的继承关系。因为Saas可以是基于Paas或者直撞部署于laas之上,Paas可以构建于Iaas之上,也可以直精构建在物理资源之上。也就是说某一层次可以单独究成一项用户的请求而不需要其他屈次为其提供必要的服务和支持。云计算系统按资源封装的层次合为对底层硬件资源不同级别的封装,从而实现将资源转度为服务的目的。

云计算的主要部署模式
云计算的主要部署模式有:公有云,私有云,混合
I)公有云:面向互联网大众的云计算服务。公有云的受众是整个互联网环境下的所有人,只要注册缴纳一定的费用任何人都可以使用其提供的云计算服务。用户不需要自己构建硬件,软件等基础设施和后期维护,可以在任何地方,任何时间,多种方式,以互联网的形式访问获取资源 。
2)私有云:面向企业内部的云计

你可能感兴趣的:(云计算,hadoop,mapreduce)