第八章 云计算原理与技术

第八章 云计算原理与技术

8.1 云计算概述

  • 对于一般用户而言,云计算是指通过网络以按需、易扩展的方式获得所需的服务,即随时随地只要能上网就能使用各种各样的服务,这种服务可以是IT和软件、互联网相关的,也可以是其他的服务。

  • 对于专业人员而言,云计算是指基于互联网的超级计算模式,即把原本存储于个人计算机、移动设备等个人设备上的大量信息集中在一起,使其在强大的服务器端协同工作。它是一种新型的共享计算资源的方法,能够将巨大的系统连接在一起,以提供各种计算服务。

云计算定义包括以下4点:

  1. 云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式。
  2. 云计算模式具有5个基本特征:按需自助服务、广泛的网络访问,共享的资源池、快速弹性能力、可度量的服务。
  3. 云计算有3种服务模式:软件即服务(SaaS)、平台即服(PaaS)基础设施即服务(IaaS)
  4. 云计算有4种部署方式:私有云、社区云、公有云、混合云。

云计算的技术模式:
1)以小分大(Amazon模式)
2)以小聚大(Google模式)

云计算的分类

  1. IaaS
    IaaS层可以实现硬件资源的按需配置,创建虚拟的计算、存储中心。虚拟化技术是IaaS的关键技术。
  2. PaaS
    PaaS即要为SaaS层提供可靠的分布式编程框架,又要为IaaS层提供资源调度、数据管理、屏蔽底层系统的复杂性等支持。PaaS的关键技术包括并行程序模型、海量数据库、资源调度与监控、超大型分布式文件系统等分布式并行计算平台技术。
  3. SaaS
    以软件作为服务,提供基于互联网恩恩软件应用服务。

8.2 云计算关键技术

  1. 体系结构
    云计算可以按需提供弹性服务,它的体系架构大致分为3个层次:核心服务层、服务管理层、用户访问接口层。
    1.核心服务层
    核心服务层分为三个子层:IaaS、PaaS、SaaS。
    2.服务管理层
    服务管理层为核心服务层提供支持,进一步确保核心服务层的可靠性、可用性与安全性。
    3.用户访问接口层
    用户访问接口层实现端到云的访问。

2.数据存储
云计算环境下的数据存储,通常称为海量数据存储,或大数据存储,计算具有复杂性。传统的关系数据库中强调事物的ACID特性,对数据的一致性的严格要求使其在很多分布式场景中无法应用。在这种情况下出现了基于BASE特性的新型数据库,即只要求满足basically available(基本可用)、soft state(柔性状态)和eventually consistent(最终一致性)。

NoSQL并没有一个准确定义,但一般认为它应当具有以下几个特征:

  1. 模式自由
  2. 支持简易备份
  3. 简单的应用程序接口
  4. 最终一致性(或者说支持BASE特性不支持ACID)
  5. 支持海量数据

3.计算模型
云计算运行于并行计算框架,需要高扩展性和容错性支持。目前比较成熟的技术有MapReduce、Dravd等。MapReduce是Google提出的并行程序编程模型,运行于GFS之上。MapReduce的设计思想在于将问题分而治之,首先将用户的原始数据源进行分块,然后分别交给不同的Map任务去处理。Map任务输入中解析出键-值对(key/value)集合,然后对这些集合执行用户自行定义的Map函数得到中间结果,并将该结果写入本地硬盘。Reduce任务从硬盘上读取数据之后会根据键值进行排序,将具有相同键值的数据组织在一起。最后应用用户自定义的Reduce函数处理这些排好序的结果并输出最终结果。
4.资源调度
云计算平台的资源调度包括:异构资源管理、资源合理调度与分配等。

研究有效的资源调度技术可以提高MapReduce等PaaS层海量数据处理平台的性能。

5.虚拟化
虚拟化是IaaS层的重要组成部分,也是云计算的重要特点。虚拟化技术具有以下特点。

  1. 资源共享
  2. 资源定制
  3. 细粒度资源管理

虚拟化技术是实现云计算资源池化和按需服务的基础。

8.3 Google云计算原理
Google 的云计算基础架构模式包括4个相互独立又紧密结合在一起的系统: Google File System 分布式文件系统(GFS)、分布式的锁机制Chubby、Google开发的模型简化的大规模分布式数据库 BigTable以及针对Google应用程序的特点提出的MapReduce编程模式。

  1. GFS
    网页搜索业务需要海量的数据存储,同时还需要满足高可用性、高可靠性和经济性等要求。Google基于以下假设开发了分布式文件系统一一Google File System (GFS)。
    1)硬件故障是常态,充分考虑到大量结点的失效问题,需要通过软件将容错以及自动恢复功能集成在系统中。
    2) 支持大数据集,系统平台需要支持海量大文件的存储,文件大小通常以吉字节计,并包含大量小文件。
    3) 一次写入、多次读取的处理模式,充分考虑应用的特性,增加文件追加操作,优化顺序读写速度
    4)高并发性,系统平台需要支持多个客户端同时对某一个文件的追加写入操作,这些客户端可能分布在几百个不同的节点上,同时需要以最小的开销保证写入操作的原子性。

  2. MapReduce
    MapReduce是Google公司的Jeffery Dean设计的一个新的抽象模型,解决大规模并行计算的编程、数据分发和容错处理等问题。

  3. BigTable
    结构化数据表,按列。数据种类:VRL、网页内容、用户的个性化设置。

  4. Dremel
    Dremel是Google的“交互式”数据分析系统,可以用于组建规模上千的集群,处理PB级别的数据。Dremel弥补了MapRedue的交互式查询能力不足的缺陷。

8.4 Amazon云服务
目前,Amazon云服务主要包括弹性计算云(EC2)、简单存储服务(S3)、简单数据库服务(Simple DB)、简单队列服务(SQS)、弹性MapReduce服务、内容推送服务CloudFront、数据导入/导出服务(AWS import/export)、关系数据库服务(RDS)等。

其他组件

  1. EC2
    特点:灵活性、低成本、安全性、易用性和容错性。
  2. S3
    只提供简单的数据存储。
  3. SQS
    Amazon SQS提供以下主要功能:
    1)冗余基础设施:确保将用户的消息至少传输一次,对消息高度并发访问,在发送和检索消息时具有高度可用性。
    2)多个写入器和读取器:用户的系统的多个部分可以同时发送或接收消息。
    3)每个队列的设置均可配置:并非用户的所有队列都要完全相同。
    4)可变消息大小:用户的消息大小可高达262 144B (256 KB)。
    5)访问控制:用户可以控制谁能从队列发送和收取消息。
    6)延迟队列:延迟队列即用户对其设置默认延迟的队列,从而使所有排队消息的传送推迟一段时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值