导图社区 云计算思维导图
整个思维导图结构清晰,层次分明,通过不同颜色的分支区分各个章节,便于读者快速把握《云计算导论第3版》的核心内容和知识体系。
编辑于2025-06-14 14:24:42云计算导论第3版
第1章 云计算概述
云计算定义
云计算的基本概念
云计算是一种按使用量付费的模式,是基于互联网的相关服务的增加,使用和交付模式,这种模式提供可用的,便携的,按需的网络访问,进入可配置的计算资源共享池
云计算的特点
云计算的组成
6个部分:基础设施,存储,平台,应用,服务,客户端
云计算的发展历程
云计算的起源
云计算是继20世纪80年代大型计算机到客户端−服务器大转变之后的又一种信息技术的巨变
云计算的发展阶段
并行计算−集群计算−网格计算−分布式计算
云计算的分类
按服务类型分类
基础设施即服务(IaaS
平台即服务(PaaS
软件即服务(SaaS
是一种通过网络提供软件的模式,用户无须购买软件,而是向提供商租用基于Web的软件来管理企业经营活动
按部署模型分类
公有云
公有云是云计算服务提供商为公众提供服务的云计算平台,理论上任何人都可以通过授权接入该平台,指为外部客户提供服务的云
私有云
私有云是云计算服务提供商为企业在其内部建设的专有云计算系统,指企业自己使用的云
混合云
混合云则是同时提供公有和私有服务的云计算系统,它是介于公有云和私有云之间的一种折中方案,指供自己和客户共同使用的云
社区云
云计算的优势与挑战
云计算带来的优势
超大规模,虚拟化,高可靠性,通用性,高可靠性,通用性,高可扩展性,按需服务,便利性
云计算面临的挑战
服务的持续可用性,服务的安全性,服务的迁移,服务的性能
典型的云应用
云存储
云物联
云服务
第2章 云计算基础
虚拟化技术
虚拟化的基本概念
虚拟化技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术
虚拟化技术的分类
硬件虚拟化
操作系统虚拟化
资源虚拟化
分布式计算
分布式计算的基本概念
分布式计算是一种计算方法,分布式计算将应用分解成许多更小的部分,分配到多台计算机进行处理
分布式计算的关键技术
分布式存储
分布式计算框架
分布式计算和云计算
关键技术
分布式海量数据存储
虚拟化技术
云管理平台
并行编程技术
数据管理技术
云交付模型
客户端
SaaS (软件即服务)
是一种通过网络提供软件的模式,用户无须购买软件,而是向提供商租用基于Web的软件来管理企业经营活动
PaaS (平台即服务)
进行服务器平台或开发环境提供的服务
IaaS (基础设施即服务)
是消费者可以通过互联网从完善的计算机基础设施获得服务
云部署模式
部署云计算服务的模式有:公有云,私有云和混合云
公有云
是云计算服务提供商为公众提供服务的云计算平台,理论上任何人都可以通过授权接入该平台
私有云
是云计算服务提供商为企业在其内部建设的专有云计算系统
混合云
则是同时提供公有和私有服务的云计算系统,它是介于公有云和私有云之间的一种折中方案
第3章 云计算机制
云基础设施机制
虚拟网络边界
虚拟防火墙
虚拟专业网络(VPN)
VPN主要特点
安全保障,服务质量保证(QoS),可扩充性和灵活性,可管理性
虚拟服务器
特性:多实例,隔离性,封装性
带来的优点:实时迁移,快速部署,高兼容性,提高资源利用率,动态调度资源
云存储设备
云存储设备机制指专门为基于云配置所设计的云存储设备
云存储设备的实例可以被虚拟化,虚拟化后的单位:文件,块,数据集,对象
云管理机制
远程管理系统
通过向外部的云资源管理者提供工具和用户界面来配置并管理基于云的IT资源
远程管理系统主要创建两种类型的入口:使用与管理入口,自助服务入口
资源池化管理
是云管理平台的关键所在
设计资源池建设需考虑5个因素:资源种类,应用架构,应用等级保障,管理需求,安全域
服务等级协议管理系统(SLA)
是服务提供者和客户之间的一个正式合同,用来保证可计量的网络性能达到所定义的品质
SLA监控器机制被用来专门观察云服务运行时性能,确保它们履行了SLA公布的约定QoS需求
SLA监控器服务体系架构需要3个服务角色:服务提供者,服务客户和服务代理
计费管理系统
专门用于收集和处理使用数据,它涉及云提供者的结算和云用户的计费
资源备份
可对同一个IT资源创建多个实例
云监控
指为了保证应用和服务的性能,开发者必须依据应用程序,服务的设计和实现机制估算工作负载,确定所需资源和容量,避免资源供应不足或供应过量
自动化运维
服务模板管理
也可以理解为服务蓝图,服务蓝图给出了一种可视化,架构式定义服务的全新方式
提供服务的部署视图,能够说明服务运行所需的资源,由服务器对象,存储对象和网络对象组成
云CMDB及流程管理
CMDB:配置管理数据库
服务目录管理
租户及用户管理
容量规划及管理
特殊云机制
自动伸缩监听器
负载均衡器
软件负载均衡技术
硬件负载均衡技术
本地负载均衡技术
全局负载均衡技术
链路集合负载均衡技术
子主题
3种方式:非对称分配,负载优先级,上下文感知的分配
故障转移系统
资源集群
多设备代理
状态管理数据库
云架构
位于云架构上层的是:SaaS
位于云架构中间层的是:PaaS
位于云架构下层的是:IaaS
第4章 虚拟化
虚拟化
虚拟化是:指计算机元件在虚拟的基础上而不是在真实,独立的物理硬件基础上运行
虚拟化技术是:云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术,虚拟化技术可以提供:资源共享,资源定制,细粒度资源管理
虚拟化的发展:20世纪60年代开始有了虚拟化技术的萌芽,20世纪60年代首次出现虚拟化技术,1974年虚拟化标准被提出,20世纪90年代开始虚拟化的进一步发展
虚拟化带来的好处:提高资源利用率,降低成本,节能减排,统一管理,提高安全性
虚拟化的分类
服务器虚拟化
完全虚拟化
准虚拟化
操作系统层虚拟化
网络虚拟化
网络虚拟化是:将不同网络的硬件和软件资源组合成一个虚拟的整体;网络虚拟化通常包括虚拟局域网和虚拟专用网
SDN(软件定义网络):是网络虚拟化的一种实现方式其核心技术OpenFlow通过将网络设备控制面与数据面分离开,实现了网络流量的灵活控制,使网络作为管道变得更加智能
NFV(网络功能虚拟化):通过使用x86等通用性硬件及虚拟化技术承载很多功能的软件处理,从而降低网络昂贵的设备成本
存储虚拟化
应用虚拟化
通常包含两层含义:一是应用软件的虚拟化,二是桌面的虚拟化
系统虚拟化
核心思想:是使用虚拟化软件在一台物理机上虚拟出一台或多台虚拟机
虚拟化与云计算
云计算是业务模式,是产业形态,不是一种具体的技术,例如IaaS,PaaS,SaaS都是云计算的表现形式;虚拟化技术是一种具体的技术,虚拟化和分布式系统都是实现云计算的关键技术之一;虚拟化技术与云计算几乎是相辅相成的,在云计算涉及的地方都有虚拟化的存在,可以说虚拟化技术是云计算实现的关键。
开源技术
Xen
是一个开放源代码的虚拟机监控器,是一个基于X86架构,发展最快,性能最稳定,占用资源最少的开源虚拟化技术
KVM
是一个开源的系统虚拟机的模块,KVM的虚拟化需要硬件支持它是基于硬件的完全虚拟化
OpenVZ
是基于Linux内核和作业系统的操作系统升级虚拟化技术
虚拟化未来发展趋势
连接协议标准化
平台开放化
公有云私有化
虚拟化客户端硬件化
第5章 云安全
云安全威胁(11)种
界面和API被黑
凭证被盗和身份验证
数据泄露
系统漏洞
账户劫持
恶意内部人士
高级持续性威胁寄生虫
子主题永久的数据丢失
云服务滥用
拒绝服务(DOS)攻击
共享技术,共享危险
云安全防护策略
基础设施安全
数据可控及数据隔离
综合考虑数据中心的软/硬件部署
建立安全的远程管理机制
常用的远程管理机制:VPN,远程桌面,Web控制台UI
选择安全的虚拟化厂商及成熟的技术
建立,健全IT行业法规
针对突然的服务中断等不可抗拒因素采取异地容灾策略
数据安全
数据传输安全
数据存储
数据残留
应用安全
终端客户安全
SaaS应用安全
PaaS应用安全
虚拟化安全
虚拟化软件安全
虚拟服务器安全
身份识别和访问管理
用户管理
角色管理
权限管理
安全凭证管理
操作系统安全
操作审计
合规更加简化
用户与资源活动的可见性
安全性分析和故障排除
安全自动化
典型的云安全应用
金山私有云安全平台:金山私有云安全平台是一种完全的私有安全云
卡巴斯基的全功能安全防护:旨在为互联网信息搭建一个无缝,透明的安全体系
瑞星“云安全”
趋势科技“云安全”
第6章 分布式文件系统
文件系统
文件系统是操作系统用来组织磁盘文件的方法和数据结构
本地文件系统通常包含4类信息:超级块,索引节点,文件内容,目录内容
本地文件系统只能访问与主机通过I/O总线直接相连的磁盘上的数据,为了解决资源共享问题,出现了分布式文件系统
分布式文件系统
分布式文件系统指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连
分布式文件系统的实现方法有两种:共享文件系统,共享磁盘
共享文件系统是实现分布式文件系统单一映像功能的传统方法,它把文件系统的功能分布到客户主机和服务器上来完成这一任务
共享磁盘模型中,系统中没有文件服务器,而代之以共享磁盘
基本架构
服务器
主控服务器
命名空间的维护:主控服务器负责维护整个文件系统的命名空间,并提供给用户使用
数据服务器管理:主控服务器还需要集中管理数据服务器
服务调度:主控服务器的最终目的是服务好客户端的请求
主备容灾:主控服务器在整个分布式文件系统中的作用非常重要,其维护文件(块)到数据服务器的映射,管理所有的数据服务器状态,并在某些条件触发时执行负载均衡计划
数据服务器
数据服务器的主要工作模式是定期向主控服务器汇报其状况,然后等待并处理命令,更快,更安全地存放数据
数据本地存储
状态维护
副本管理
客户端
接口
缓存
数据分布
服务器间协议
GFS
是由谷歌开发并设计的一个面向大规模数据处理的分布式文件系统
架构设计
采用主/从模式,一个GFS包括一个master服务器和多个chunk服务器;master作为管理节点,保存系统的元数据,负责整个文件系统的管理,chunk是真正用于存储数据的机器,用来存储的文件大小为64MB
实现流程
客户端将文件名和程序指定的字节偏移,根据固定的block大小,转换成文件的block索引
客户端把文件名和block索引发送给master节点,master节点将相应的block标识和副本的位置信息发还给客户端;客户端用文件名和block索引作为key缓存这些信息
客户端发送请求到其中一个block处,一般会选择最近的。
chunk服务器返回给客户端要读取的chunk数据
特点
GFS和传统分布式文件系统比较:控制流和数据流分离;降低master负载,性能提高,在用户态下实现
HDFS
HDFS是Hadoop的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求开发的,它可以运行于廉价的商用服务器上
基本概念
数据块:HDFS默认最基本的存储单位是64MB的数据块
元数据节点和数据节点:元数据节点用来管理文件系统的命名空间,它将所有文件和文件夹的元数据保存在一个文件系统树中,并且管理文件目录,文件和block的对应关系以及block和datanode的对应关系
HDFS的设计目标
错误检测和快速,自动地恢复是HDFS的核心架构目标
比起关注数据访问和低延迟问题,HDFS的设计更着重于数据访问和高吞吐量
HDFS应用对文件的要求是write-one-read-many访问模型
移动计算的代价比移动数据的代价要低
优缺点分析
优点
处理超大文件
流式地访问数据
运行于廉价的商用机器集群上
缺点
不适合低延迟数据访问
无法高效存储大量小文件
不支持多用户写入及任意修改文件
分布式应用协调器ZooKeeper
Zookeeper 是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能有:配置维护,名字服务,分布式同步,组服务等
Zookeeper中的角色
领导者
学习者
跟随者
观察者
客户端
设计目的
最终一致性
可靠性
实时性
等待无关
原子性
顺序性
工作原理
Zookeeper 的核心是原子广播,这个机制保证了各个server之间的同步
Zookeeper 应用对HDFS的改进
namenode是整个HDFS的核心,HDFS所有的操作均需有namenode参与,并且namenode负责维护整个分布式文件系统中所有文件的元信息以及目录信息,如果namenode出现了失败,那么HDFS中的所有文件信息将全部丢失
为了解决namenode单点失败造成的问题,改进的HDFS系统中可配置多个namenode,每个namenode与所有的data node均有联系,且向Zookeeper 注册自己的存在
与此同时,在架构中加入了一个角色——dispatcher,负责将读/写请求传递给活跃的namenode,执行,处理多个namenode的同步及互斥问题
主要应用场景
配置管理
集群管理
云存储
云状网络结构
子主题
云状结构的存储系统
云存储的概念:指通过集群应用,网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来进行协同工作,共同对外提供数据存储和业务访问功能的一个系统
云存储的分类
数据块级云存储
文件级云存储
对象级云存储
云存储的结构模型
访问层
个人空间服务
任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务
应用接口层
网络接入,用户认证,权限管理
应用接口层是云存储最灵活多变的部分
基础管理层
集群系统分布式文件系统,网格计算
基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分
存储层
存储虚拟化,存储集中管理,状态监控,维护升级等
存储层是云存储最基础的部分
典型的云存储应用
个人级云存储
网络磁盘
在线文档编辑
在线网络游戏
企业级云存储
空间租赁服务
数据备份和容灾
云迁移与云管理案例
企业云迁移策略
云管理的最佳实践
第7章 数据处理与并行编程
数据密集型计算
数据密集型计算是采用数据并行方法实现大数据量并行计算的应用,计算数据量级为TB或PB级,因此也被称为大数据的核心支撑技术
数据本地性的思想
将任务放置在离输入数据最近的节点运行
网络带宽远远低于计算节点本地磁盘的带宽总和
机架内两个节点之间的带宽远远大于跨机架的两个节点之间的带宽,将任务调度到同一个机架内的节点是次优选择
在调度任务时应当移动代价很小的计算,而不是移动代价昂贵的数据,避免有限的网络带宽处于饱和状态
数据密集型计算的应用
基因工程领域
天文计算领域
商业计算领域
分布式数据处理
分布式数据处理的概念是建立在集中和分散这两种信息服务都能实现的原则基础上的
分布式数据处理的范围
输入/输出
处理
数据存储
个人信息或管理部门的信息
检查和控制
规划
分布式数据处理的控制
信息中心
信息中心的作用
信息中心是实现分布式数据处理必不可少的一个部门
集中式数据处理与分布式数据处理的比较
集中式数据处理
集中式计算机网络有一个大型的中央系统,其终端是客户机,数据全部存储在中央系统中,由数据库管理系统进行管理,所有的处理都由该大型系统完成,终端只是用来输入和输出
分布式数据处理
分布式计算的数据可以分布在很大区域,分布式计算的优点是可以快速访问,多用户使用
协作式数据处理
协作式数据处理系统内的计算机能够联合处理数据,处理既可集中实施,也可分区实施
并行编程模型概述
数据并行
数据并行即将相同的操作同时作用于不同的数据
消息传递
消息传递即各个并行执行的部分之间通过传递消息来交换消息,协调步伐,控制执行
并行编程模型的比较
编程级别
数据并行:高
消息传递:低
适用的并行机类型
数据并行:SIMD/SPMD
消息传递:SIMD/MIMD/SPMS/MPMD
执行效率
数据并行:依赖于编译器
消息传递:高
地址空间
数据并行:单一
消息传递:多个
存储类型
消息并行:共享内存
消息传递:分布式或共享内存
通信的实现
数据并行:编译器负责
消息传递:程序员负责
问题类
数据并行:数据并行类问题
消息传递:数据并行,任务并行
目前状况
数据并行:缺乏高效的编译器支持
消息传递:使用广泛
并行编程模型MapReduce
MapReduce
是谷歌公司2004年提出的能并行处理海量数据的并行编程模型
实际处理流程
输入分片
输入数据被自动分割成固定大小的分片
每个分片由一个Map任务处理
分片大小影响并行度和负载均衡
Map阶段
每个Map任务处理一个输入分片
读取输入数据并解析为键值对
用户自定义的map函数处理这些键值对,生成中间键值对
输出结果先写入内存缓冲区
分区与排序
内存缓冲区达到阈值后,数据溢出(spill)到磁盘
溢出前根据分区函数(默认是哈希)将数据分区
每个分区内按键排序(默认升序)
Merge阶段
当Map任务完成时,所有溢出文件被合并为一个已分区且排序的输出文件
这个文件存储在Map节点的本地磁盘上(而非HDFS)
Shuffle阶段
Reduce任务从所有Map节点获取(fetch)自己负责的分区数据
使用HTTP协议传输数据
数据在传输过程中保持排序顺序
Reduce阶段
Reduce任务将来自不同Map节点的数据合并排序
对相同key的值进行分组
用户自定义的reduce函数处理这些分组数据
输出结果通常写入HDFS
输出阶段
每个Reduce任务产生一个输出文件
输出文件存储在HDFS上
云计算对行业变革的影响
云处理技术Spark
MapReduce的开源实现——Hadoop
Hadoop是一个由Apache基金会开发的分布式系统基础架构
Hadoop实现了一个分布式文件系统(HDFS)
Hadoop的框架最核心的设计就是HDFS和MapReduce;HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算
Hadoop是一个能够对大量数据进行分布式处理的软件框架
Hadoop优点
高可靠性
高扩展性
高效性
高容错性
低成本
Hadoop的核心框架
HDFS
Namenode
Datanode
文件操作
Linux集群
Hadoop集群包含一个namenode和大量datanode
第八章分布式存储系统
特性
可扩展
低成本
高性能
易使用
概述
分布式存储系统是大量普通服务器通过internet互联,对外作为一个整体提供存储服务的系统
NoSQL数据库
它是一个轻量,开源,不提供SQL功能的关系数据库且NoSQL数据库并没有一个统一的架构
NoSQL数据库的4大分类
键值存储数据库
这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据
列存储数据库
这部分数据库通常用来应对分布式存储的海量数据,键仍然存在,但是它们的特点是指向多个列,这些列是由列家族来安排的
文档型数据库
可以看作是键值存储数据库的升级版,允许在其中嵌套键值
图形数据库
图形结构的数据库与其他行列以及刚性结构的SQL数据库不同,它使用灵活的图形模型,并且能够扩展到多个服务器上
特征
不需要预定义模式
无共享架构
弹性可扩展
分区
异步复制
BASE
NoSQL数据库保证的是BASE特性
目前HBase数据库是安全特性最完善的NoSQL数据库产品之一
分布式数据存储系统——BigTable
BigTable是一个分布式的结构化数据存储系统,它被设计用来处理海量数据,通常是分布在数千台普通服务器上的PB级的数据
数据模型
BigTable是一个稀疏的,分布式的,持久化存储的多维度排序Map
行
表中的行关键字可以是任意的字符串
列族
表中的列关键字组成的集合称为“列族”,列族是访问控制的基本单位
时间戳
在BigTable中,表中的每一个数据项都可以包含同一份数据的不同版本,不同版本的数据通过时间戳来索引
BigTable的构件
BigTable内部存储数据的文件是Google SSTable格式的,SSTable是一个持久化的,排序的,不可更改的Map结构
BigTable还依赖一个高可用的,序列化的分布式锁服务组件,称为Chubby
链接到客户程序中的库
一个master 服务器
多个Table服务器
分布式存储系统HBase
Hbase是一个分布式的,面向列的开源数据库,它不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库
HBase-Hadoop Database是一个高可靠性,高性能,面向列,可伸缩的分布式存储系统
HBase的访问接口和数据模型
Native java API
HBase Shell
Thrift Gateway
REST Gateway
Pig
Hive
HBase以表的形式存储数据
行键
列族
时间戳
单元格
区域
每个表一开始只有一个Region,HRegion是HBase中分布存储和负载均衡的最小单元
HBase系统架构
Zookeeper
HMaster
HRegionServer
是HBase中最核心的模块
HStore
HStore存储是HBase存储的核心
HBase存储格式
HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括两种文件类型
HFile
HLog File
第九章云计算的应用
‘云应用’是“云计算”概念的子集,是云计算技术在应用层的体现
“云应用”的工作原理是把传统软件“本地安装,本地运算”的使用方式变为“即取即用”的服务,通过互联网或局域网连接并操控远程服务器集群,完成业务逻辑或计算任务的一种新型应用
“云应用”的主要载体为互联网技术
“云应用”的特性
跨平台性
易用性
轻量性
云应用提供商
Greasy
我国云应用平台
燕麦企业云盘(OATOS)
Google Apps for Business
Microsoft Office 365
亚马逊公司的弹性计算云
这是最早提供远程云计算平台服务的公司
开放的服务
2006年3月,亚马逊公司发布了简单存储服务(S3),这种存储服务按照每个月类似租金的形式进行服务付费,同时用户还需要为相应的网络流量进行付费
亚马逊云科技连续11年被评为全球云计算领导者
灵活的工作模式
弹性计算云用户使用客户端通过SOAP over HTTPS协议来实现与亚马逊公司弹性云计算内部的实例进行交互。使用HTTPS协议的原因是为了保证远端连接的安全性,避免用户数据在传输的过程中完成泄漏
Microsoft Azure
是一种灵活和支持互操作的平台,它可以被用来创建云中运行的应用
架构
Microsoft Azure是专为在微软建设的数据中心管理所有服务器,网络及存储资源所开发的一种特殊版本windows server操作系统
Microsoft Azure服务平台
网站
Virtual Machines
Cloud Services
Mobile服务
大型数据处理
Media 媒体支持
谷歌公司的云计算平台与应用
MapReduce 分布式编程环境
通过“映射”(map)和“化简”(Reduce )这两个简单的概念来参加运算,用户只需要提供自己的Map函数及Reduce 函数就可以在集群上进行大规模的分布式数据处理
分布式大规模数据库管理系统BigTable
BigTable模型中的数据模型包括行,列及相应的时间戳,所有的数据都存放在表格中的单元里
阿里云
阿里云是阿里巴巴集团旗下的云计算品牌
阿里云的主要产品
底层技术平台
弹性计算
云数据库
存储与内容分发网络
网络
大规模计算
云盾
DDoS防护服务
安骑士
阿里绿网
安全网络
网络安全专家服务
服务器安全托管
渗透测试服务
态势感知
IBM公司的蓝云云计算平台
蓝云云计算平台中的虚拟化
子主题
蓝云云计算平台中的存储结构
云计算的存储体系结构包含类似于Google File System的集群文件系统以及基于块设备方式的存储区域网络(SAN)系统两种
SAN系统是云计算平台的另外一种存储体系结构选择
SAN系统的连接方式上可以有两种选择
一种选择是使用光纤网络
一种选择是使用以太网
SAN系统与分布式文件系统并不是相互对立的系统
清华大学的透明计算平台
3个重要组成部分
透明客户端
计算机,PAD,手机
透明网络
以太网,CATV,IEEE 802.11,IEEE1394
透明服务器
计算机,服务器,大型机