1、云计算:是分布式计算技术的一种,通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器组成的庞大系统经搜寻、计算分析之后将处理结果传回给用户。核心思想是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向客户按需服务。
2、云计算的特点:
①数据安全可靠:云计算提供了最可靠、最安全的数据存储中心,用户无需担心数据丢失、病毒入侵等麻烦,严格的权限管理策略可以帮助我们与指定的人放心地共享数据;
②客户端需求低:云计算对客户端的设备要求最低,使用起来也最方便,可以在浏览器中直接编辑存储在云端的文档,可以随时与朋友分享信息,无需担心软件是否是最新版本,在云端有专业IT人员帮你维护硬件,安装升级软件,防范各类病毒和各类网络攻击;
③轻松共享数据:云计算可以实现不同设备间的数据与应用共享,在云计算的网络应用模式中,数据只有一份,保存在云端,电子设备只需要连接互联网就可以访问和使用同一份数据;
④可能无限多:云计算为我们使用网络提供了几乎无限多的可能,为存储和管理数据提供了几乎无限多的空间,也为我们完成各类应用提供了几乎无限强大的计算能力;
⑤营销能力强:通过网络把多个成本较低的计算实体整合成一个具有强大营销能力的完美系统,通过不断提高云的覆盖能力以及云之间的逻辑计算能力,从而达到系统营销的目的,可以减轻用户的经济负担。
3、云计算的主要服务形式:
①IaaS(Infrastructure as a Service)基础设施即服务:
IaaS即把厂商的由多台服务器组成的“云端”基础设施作为计量服务提供给客户,将内存、I/O设备、存储和计算能力整合成一个虚拟资源池,为整个业界提供所需要的存储资源和虚拟化服务器等服务。这是一种托管型硬件方式,为整个业界提供所需要的存储资源和虚拟化服务器等服务。
②PaaS(Platform as a Service)平台即服务:
这是一种分布式平台服务,把开发环境作为一种服务来提供,厂商提供开发环境、服务器平台、硬件资源等服务给客户,用户在其平台基础上定制开发自己的应用程序并通过其服务器和互联网传递给其他客户。PaaS能够给企业和个人提供研发的中间件平台、应用程序开发、数据库、应用服务器、试验、托管及应用服务。
③SaaS(Software as a Service)软件即服务:
SaaS服务供应商将应用软件统一部署在自己的服务器上,用户根据需求通过互联网向厂商订购应用软件服务,服务供应商根据所定软件数量、时间长短等因素收费,并且通过浏览器向客户提供软件模式。这种服务模式的优势是由服务提供商维护和管理软件、提供软件运行的硬件设施,用户只需拥有能够接入互联网的终端,即可随时随地使用软件。
4、云计算技术体系结构分为四层:物理资源层(包括计算机、存储器、网络设施、数据库和软件)、资源池层(将大量相同类型的资源构成同构和接近同构的资源池)、管理中间件层(负责对云计算资源进行管理并对众多应用任务进行调度)、SOA构建层(将云计算能力封装成标准Web Services服务,并纳入SOA体系进行管理使用)。
5、云计算的实现机制:
①用户交互接口:向应用以Web Services方式提供访问接口,获取用户需求;
②服务目录:是用户可以访问的服务清单,系统管理模块负责管理和分配所有可用的资源,核心是负载均衡。配置工具负责在分配的结点上准备任务运行环境;
③监视统计模块:负责监视结点的运行状态,并完成用户使用结点情况的统计;
④用户交互接口:允许用户从目录选取并调用一个服务,该请求传递给系统管理模块后,为用户分配恰当的资源,然后调用配置工具来为用户准备运行环境。
6、在云计算中,根据服务集合所提供的服务类型,整个云计算服务集合被划分成4个层次:应用层(对应SaaS服务)、平台层(对应PaaS服务)、基础设施层(对应IaaS服务)、虚拟化层(对应硬件即服务),每一层都对应一个子服务集合。云计算体系结构中的层次可以分割,即某一层次可以单独完成一项用户请求而不需要其他层次为其提供必要的服务与支持。
7、云计算的产业三级分层:云软件、云平台、云设备
①上层分级:云软件SaaS
打破大厂垄断局面,所有人都可以在上面自由挥洒创意,提供各式各样的软件服务。参与者:世界各地的软件开发者
②中层分级:云平台PaaS
打造程序开发平台与操作系统平台,让开发人员可以通过网络撰写程序与服务,一般消费者也可在上面运行程序。参与者:Google、微软、苹果、阿里
③下层分级:云设备IaaS
将基础设备(如IT系统、数据库等)集成起来,像旅馆一样,分隔成不同房间供企业租用。参与者:IBM、英伟达、戴尔、惠普
8、云计算技术层次主要从系统属性和设计思想角度来说明云,是对软硬件资源在云计算技术中所充当角色的说明,云计算由4部分构成:
①服务接口(服务接口、服务注册、服务查找、服务访问):统一了云计算时代使用计算机的各种规范、云计算服务的各种标准等,用户端与云端交互操作的入口,可以完成用户或服务注册,对服务的定制和使用;
②服务管理中间件(用户管理、资源管理、安全管理、映像管理):中间件位于服务和服务器集群之间,提供管理和服务即云计算体系结构中的管理系统。对标识、认证、授权、目录、安全性等服务进行标准化和操作,为应用提供统一的标准化程序接口和协议,隐藏底层硬件、操作系统和网络的异构性,统一管理网络资源;
③虚拟化资源(计算资源池、网络资源池、存储资源池、数据库资源池):一些可以实现一定操作,具有一定功能,但其本身是虚拟的资源,如计算池、存储池、网络池等,通过软件技术来实现相关虚拟化功能;
④服务接口(服务器集群、网络设备、存储设备、数据库):主要指能支持计算机正常运行的一些硬件设备及技术。
9、云计算的核心技术:编程模型(MapReduce)、海量数据分布存储技术(GFS)、海量数据管理技术(BT)、虚拟化技术、云计算平台管理技术。
10、MapReduce分布式处理技术:Google在2000年初期开发的用于网页索引的用户定义函数,被设计用来处理分布在多个并行节点的PB级和EB级数据,可以进行海量数据分割、任务分解与结果汇总。MapReduce的软件实现是指定一个Map(映射)函数,把键值对(key/value)映射成新的键值对,形成一系列中间形式的键值对,然后传递给Reduce(化简)函数,把具有相同中间形式key的value合并。
11、MapReduce架构设计:由Map和Reduce两部分用户程序组成,然后利用框架在计算机集群上根据需求运行多个程序实例来处理各个子任务,然后再对结果进行归并。Map及分解,把海量数据分成若干份,分给多台处理器并行处理;Reduce即合并,把各台处理器处理的结果进行汇总操作得到最终结果。
12、Hadoop架构:是一个处理、存储和分析海量分布式、非结构化数据的开源框架,具有高容错性和对数据读写的高吞吐率,能自动处理失败结点,提供的分布式文件系统GFS(Google File System)是一个可扩展、结构化、具备日志的分布式文件系统,支持大型、分布式大数据量的读写操作,容错性较强;分布式数据库(Big Table)是一个有序、稀疏、多维的映射表,有良好的伸缩性和高可用性,用于将数据存储或部署到各个计算结点。
13、Hadoop的技术组件
- Hadoop分布式文件系统HDFS:所有Hadoop集群的默认存储层;
- 名称结点:提供数据存储位置及结点失效信息的结点;
- 二级结点:名称结点的备份,会定期复制和存储名称结点的数据,以防名称节点失效;
- 作业跟踪器:发起和协调MapReduce作业或数据处理任务的结点;
- 从结点:普通结点,从结点存储数据并从作业跟踪器获取数据处理指令。
14、Google云计算执行过程:
①将要执行的MPI程序复制到Hadoop框架中的Master和每一台Worker机器中;
②Master选择由哪些Worker机器执行Map程序和Reduce程序;
③分配所有的数据区块到执行Map程序的Worker机器中进行Map(切割);
④将Map后的结果存回Worker中;
⑤执行Reduce程序的Worker机器,远程读取每一份Map结果,进行混合、汇整、排序,同时执行Reduce程序;
⑥将结果输出给用户。