《分布式计算、云计算与大数据》第八章
第八章 云计算原理与技术
1、云计算的起源:
1984年sun公司提出了网络纪计算机
2003年platform提出了网格计算池
2006年Gongle提出了云计算
2、云计算的定义
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。因而,云计算又称为网格计算。通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
云计算的4种部署方式:私有云、社区云、公有云、混合云
云计算3种服务模式:软件即服务、平台即服务、基础设施即服务
3、云计算的分类
1.Laas:是云计算的基础,为上层云计算服务提供必要的硬件资laas 源,同时在虚拟化技术的支持下, laaS层可以实现硬件资源的按需配置,虚拟化技术是aaS的关键术。
2.PaaS :PaaS既要为SaaS层提供可靠的分布式编程框架,又要云计算的分类 Paas 为laaS层提供资源调度、数据管理、屏蔽底层系统的复杂性等支持。
3.SaaS:SaaS层部署在PaaS和IaaS平台之上,同时用户可以在PaaS平台上开发部署SaaS服务
4、云计算与其他计算形式
1)、云计算与分布式计算
2)、 云计算与网格计算
3)、云计算与对等计算
4)、云计算与并行计算
5、云计算关键技术:
1.体系结构:三个层次:资源层、平台层与应用层。
资源层汇聚支撑云计算上层服务的各种物理设备,如服务器、网络设备、存储设备等,将这些物理设备,通过虚拟化层采用相应技术形成动态资源池,并对资源池的各种资源进行管理。
平台层在资源层之上,它把软件开发环境当做服务提供给用户,平台层主要为应用程序开发者设计,面向广大互联网应用开发者,把分布式软件开发、测试、部署、运行环境以及复杂的应用程序托管当作服务,使得开发者可以从复杂低效的环境搭建、配置和维护工作中解放出来,将精力集中在软件编写上,从而大大提高软件开发的效率,平台层是整个云计算系统的核心层,包括并行程序设计和开发环境,一些管理系统和管理工具。
应用层面向用户提供软件服务和用户交互接口,它为用户搭建信息化所需要的所有网络基础设施及软硬件运作平台,负责所有前期的实施、后期的维护等一系列工作,用户可随意根据自己的需要租赁软件服务,不必再购买软硬件、建设机房及配备维护人员。
资源层、平台层与应用层是云计算体系结构的主要组成部分,基于这三个层次,不但整体实现了信息应用服务的定制化,而且实现了底层逻辑基础资源、基础软件和应用的一体化,即信息服务以一个整体的形式出现。
2、数据存储:云计算环境下的数据存储,通常称为海量数据存储、或大数据存储
1.传统的关系数据库中强调事务的ACID特性:原子性、一致性、隔离性、持久性
2.出现基于BASE特性的新型数据库只要求满足:基本可用、柔性状态、最终一致性
3.NoSOL数据库特征:模式自由、支持简易备份、简单的应用程序接口、最终一致性、支持海量数据
4.大规模数据管理技术
云技术能对海量的数据进行处理、利用的前提是,数据管理技术必须具备高效的管理大量的数据的能力。目前,云计算系统中的数据管理技术主要是Google的Big Table数据管理技术和Hadoop开发的开源数据管理模块HBase。
云计算平台的存储结构
3、编程模型
要使用户能够简便、轻松的获取云环境下的编程服务,编程模型必须具备简洁易操作的性能,那样,用户只要通过简单程序编写就能达成既定的目标。此外,编程模型后台复杂的并行执行、任务调度向用户和编程人员保持透明,又是该服务的一大特色。例如Google构造的Map Reduce编程规范就可满足上述要求,过Map和Reduce两个简单概念构成基本的运算单元便可以并行处理海量的数据。Map Reduce既满足了编程模型需要,也满足了任务调度模型的需求,目前使用较广泛。
4、Google云计算原理
1.GFS:开发了文件分布式存储
2.MapReduce:并行计算
3.BigTable:采用列式存储
5、Amazon云服务
2001年互联网泡沫使业务量锐减,系统资源大量闲置
其他组件:
- ec2:成本低、易用性、安全性、容错性;弹性云动作是基于即买即用模式。
- s3:只提供简单数据存储。