云计算原理与技术

云计算概述

云计算的起源

云计算原理与技术

云计算的定义

对一般用户而言:云计算是指通过网络以按需、易扩展的方式获得所需的服务。即随时随地只要能上网就能使用各种各样的服务,如同钱庄、银行、发电厂等。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务。

对专业人员而言:是分布式处理、并行处理和网格计算的发展,或者说是这些计算机科学概念的商业实现。是指基于互联网的超级计算模式–即把原本存储于个人电脑、移动设备等个人设备上的大量信息集中在一起,在强大的服务器端协同工作。它是一种新兴的共享计算资源的方法,能够将巨大的系统连接在一起,以提供各种计算服务。

云计算的分类

云计算按照提供服务的类型可以分为基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)。

IaaS:基础设施作为服务

IaaS —— Infrastructure as a Service
创建虚拟的计算、存储中心,使得其能够把计算单元、存储器、I/O设备、带宽等计算机基础设施,集中起来成为一个虚拟的资源池来对外提供服务。
典型应用:
弹性计算云EC2 (Elastic Compute Cloud) ——计算
简单存储服务S3 (Simple Storage Service) —— 存储

PaaS:平台作为服务

PaaS —— Platform as a Service
把服务器平台或开发环境作为一种服务提供
典型应用
salesforce.com 的 force.com
Google App Engine
800app :不再需要任何编程即可开发包括企业管理软件

SaaS:软件作为服务

SaaS —— Software as a Service
SaaS是一种基于互联网提供软件服务的应用模式。
软件租赁:用户按使用时间和使用规模付费
绿色部署:用户不需安装,打开浏览器即可运行
不需要额外的服务器硬件
软件(应用服务)按需定制

云计算关键技术

体系结构

云计算的体系结构大致分为3个层次:核心服务层、服务管理层、用户访问接口层。
云计算原理与技术

数据存储

云计算环境下的数据存储,通常称为海量数据存储,或大数据存储。云计算原理与技术

计算模型

云计算的计算模型是一种可编程的并行计算框架,需要高扩展性和容错性支持。MapReduce 是Google 提出的并行程序编程模型,运行于GFS 之上。它的设计思想在于将问题分而治之,首先将用户的原始数据源进行分块,然后分别交给不同的Map任务去处理。
云计算原理与技术

资源调度云计算原理与技术

资源调度是云计算核心技术之一,它为云计算平台提供资源分配、任务调度等资源管理功能。通常云计算资源调度包括两个层面:一个是物理主机到虚拟机层面的资源分配(映射);另一个是任务到虚拟机层面的调度(映射)。

虚拟化

虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑。虚拟化技术包括:服务器虚拟化、存储虚拟化、网络虚拟化、桌面虚拟化、应用虚拟化等

Google 云计算

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

GFS

云计算原理与技术

MapReduce

一个软件架构,是一种处理海量数据的并行编程模式用于大规模数据集(通常大于1TB)的并行运算。
MapReduce实现了Map和Reduce两个功能。
Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集Reduce对结果集进行分类和归纳。
Map()和 Reduce() 两个函数可能会并行运行,即使不是在同一的系统的同一时刻。

BigTable

Google目前向公众开放的服务很多,需要处理的数据类型也非常多。包括URL、网页内容、用户的个性化设置在内的数据都是Google需要经常处理的 ,为此Google开发了满足弱一致性要求的大规模数据库系统——BigTable。