注重体验与质量的电子书资源下载网站
分类于: 计算机基础 云计算&大数据
简介
目录
第1章 云计算概述 1
1.1 初识云计算 1
1.1.1 云计算的定义 1
1.1.2 计算模式的演进过程 4
1.1.3 云计算简史 10
1.1.4 云计算的推动力 11
1.2 云计算的公共特征与分类 13
1.2.1 云计算的公共特征 13
1.2.2 云计算的分类 13
1.2.3 与云计算有关的技术 17
1.3 云计算的三元认识论 20
1.3.1 云计算作为一种商业模式 20
1.3.2 云计算作为一种计算范式 21
1.3.3 云计算作为一种实现方式 22
1.4 云计算的开源方法论 23
1.4.1 开源定义和相关概念 23
1.4.2 开源的价值和意义 25
1.4.3 开源发展历程 26
1.4.4 开源是种方法论 27
1.4.5 开源对云计算人才培养带来的挑战 28
1.5 实践:GitHub 30
1.5.1 GitHub简介 30
1.5.2 使用GitHub 31
1.5.3 Github界面总览 37
1.6 本章小结 38
第2章 分布式计算 39
2.1 分布式计算概述 39
2.1.1 基本概念 39
2.1.2 分布式计算的原理 40
2.2 分布式计算的理论基础 41
2.2.1 ACID原则 41
2.2.2 CAP理论 41
2.2.3 BASE理论 44
2.2.4 最终一致性 45
2.2.5 一致性散列 46
2.3 分布式系统概述 49
2.3.1 分布式系统的基础知识 49
2.3.2 分布式系统的特性 50
2.3.3 分布式存储系统实例:Apache Hadoop 51
2.4 分布式系统的进阶 53
2.4.1 分布式存储系统 54
2.4.2 分布式计算系统 55
2.4.3 分布式资源管理系统 57
2.5 典型的分布式系统 60
2.5.1 网格系统 60
2.5.2 P2P系统 63
2.5.3 透明计算 65
2.5.4 区块链系统 68
2.6 本章小结 74
第3章 云计算架构 75
3.1 云计算的本质 75
3.1.1 革命性概念:IT作为服务 75
3.1.2 云之道 75
3.1.3 云计算系统工程 76
3.1.4 云数据中心 77
3.1.5 云的工作负载模式 77
3.1.6 云计算的规模效应 79
3.2 云计算的架构 81
3.2.1 计算架构的进化 81
3.2.2 一般云计算架构的二维视角 84
3.3 云栈和云体 87
3.3.1 云栈 87
3.3.2 云体 93
3.3.3 IT作为服务 94
3.4 软件定义的数据中心 95
3.4.1 数据中心的历史 96
3.4.2 继续发展的推动力 98
3.4.3 软件定义的必要性 99
3.4.4 软件定义数据中心的架构分析 100
3.4.5 软件定义数据中心的发展 102
3.5 实践:OpenStack 104
3.5.1 OpenStack是什么? 104
3.5.2 OpenStack组件介绍 107
3.5.3 体验使用OpenStack 108
3.6 本章小结 109
第4章 虚拟化技术 110
4.1 虚拟化的定义 110
4.2 服务器虚拟化 111
4.2.1 x86架构对虚拟化的限制 112
4.2.2 全虚拟化 113
4.2.3 半虚拟化 114
4.2.4 硬件辅助虚拟化 114
4.3 商用虚拟机技术 115
4.4 新型硬件虚拟化 117
4.4.1 硬件虚拟化背景 117
4.4.2 硬件虚拟化的代表 118
4.4.3 硬件虚拟化的未来 119
4.5 实践:Xen虚拟化技术 120
4.5.1 Xen的历史 120
4.5.2 Xen功能概览 120
4.5.3 Xen实际操作 121
4.6 实践:KVM虚拟化技术 125
4.6.1 KVM简介 125
4.6.2 KVM的基本安装操作 125
4.7 轻量级虚拟化 130
4.7.1 容器技术简介 130
4.7.2 容器与虚拟机的对比 131
4.7.3 容器背后的内核知识 132
4.8 实践:Docker容器 134
4.8.1 安装Docker 134
4.8.2 运行第 一个Docker容器 136
4.9 本章小结 137
第5章 分布式存储 138
5.1 分布式存储的基础 138
5.1.1 基本概念 138
5.1.2 分布式存储分类 139
5.1.3 分布式存储的发展历史 141
5.2 文件存储 144
5.2.1 单机文件系统 144
5.2.2 网络文件系统 144
5.2.3 并行文件系统 145
5.2.4 分布式文件系统 146
5.2.5 高通量文件系统 146
5.3 从单机存储系统到分布式存储系统 147
5.3.1 单机存储系统 147
5.3.2 分布式存储系统 148
5.4 实践:分布式存储系统Ceph 152
5.4.1 概述 152
5.4.2 设计思想 153
5.4.3 整体架构 154
5.4.4 集群部署 156
5.5 本章小结 160
第6章 云计算网络 161
6.1 基本概念 161
6.1.1 计算机网络 161
6.1.2 覆盖网络 162
6.1.3 大二层网络 164
6.1.4 租户网络 164
6.2 数据中心网络:云计算的骨架 165
6.2.1 数据中心网络拓扑 165
6.2.2 用 Mininet 搭建数据中心仿真环境 167
6.3 网络虚拟化 169
6.3.1 灵活控制:软件定义网络(SDN) 170
6.3.2 快速部署:网络功能虚拟化(NFV) 176
6.4 租户网络管理 179
6.4.1 网络功能即服务(Network Function as a Service) 180
6.4.2 OpenStack Neutron 180
6.4.3 Group-Based Policy 183
6.5 实践:用Mininet搭建OpenFlow实验环境 185
6.5.1 Mininet入门 186
6.5.2 Mininet实验 187
6.6 本章小结 189
第7章 云计算安全 190
7.1 云安全概述 190
7.1.1 云计算安全挑战 190
7.1.2 云计算安全现状 193
7.1.3 云计算安全技术框架 193
7.1.4 云计算安全关键技术 195
7.2 虚拟机安全 196
7.2.1 虚拟化软件栈安全威胁 197
7.2.2 虚拟化软件栈安全防御 201
7.2.3 虚拟化安全总结 202
7.3 云存储安全 203
7.3.1 云存储的安全需求 203
7.3.2 安全云存储系统概述 204
7.3.3 安全云存储系统的一般架构 204
7.3.4 安全云存储系统的关键技术 205
7.4 云数据安全 207
7.4.1 云数据面临的安全威胁 208
7.4.2 云数据安全研究内容 209
7.4.3 云数据安全研究进展 209
7.5 实践:全同态加密算法 210
7.5.1 HElib库的调试与分析 210
7.5.2 FHE-CODE的调试与分析 212
7.5.3 全同态加密方案对比与分析 213
7.6 本章小结 216
第8章 云原生应用的开发 217
8.1 云原生的相关概念 217
8.1.1 云原生简介 217
8.1.2 云原生的内容 218
8.1.3 云原生应用的技术手段 222
8.2 云原生应用开发实践的12要素 225
8.3 云原生应用开发 234
8.3.1 云原生应用开发的原则 234
8.3.2 云原生的落地:Kubernetes 236
8.4 实践:基于Node.js的云原生应用开发 238
8.5 本章小结 245
第9章 云计算操作系统 246
9.1 计算机软件与操作系统 246
9.1.1 计算机软件的发展 246
9.1.2 操作系统的发展简史 247
9.1.3 操作系统的软件定义本质 249
9.2 UNIX类操作系统的发展 250
9.2.1 UNIX系统简介 250
9.2.2 UNIX家族的演化 251
9.2.3 类UNIX系统的发展 253
9.2.4 UNIX系统的展望 254
9.3 云操作系统概述 255
9.3.1 基本概念 255
9.3.2 云操作系统实例 256
9.3.3 云操作系统的挑战 257
9.3.4 新一代云操作系统的职责与功能 258
9.4 云计算编程模型与环境 259
9.4.1 云计算环境下的编程困惑 259
9.4.2 云计算编程模型 260
9.5 云操作系统的资源调度 262
9.5.1 资源调度简介 263
9.5.2 云操作系统下资源调度的挑战 263
9.5.3 云计算资源调度的策略和算法 264
9.6 实践:Mesos 266
9.6.1 Mesos架构 267
9.6.2 Mesos设计解读 269
9.6.3 在Mesos上运行Spark 270
9.6.4 Mesos实现容器编排 272
9.7 本章小结 273
第10章 云端软件 274
10.1 从软件到云件 274
10.1.1 云件的基本概念 274
10.1.2 从软件到云件的变迁 275
10.1.3 云件的关键技术 279
10.1.4 云件的开发、部署和运行模式 280
10.2 云件系统的架构设计与运行原理 281
10.2.1 计算与存储的分离的设计理念 281
10.2.2 基于微服务架构的云件模型 282
10.2.3 云件的系统级架构设计 286
10.3 云件的开发模式与效果 289
10.3.1 云件的开发模式 289
10.3.2 云件的效果展示 292
10.4 云件在大规模在线实训平台中的应用 293
10.4.1 实训平台提出的背景 293
10.4.2 构建基于云件系统的大数据工程实训平台 294
10.5 实践:云件应用开发实例 298
10.6 本章小结 300
第11章 云计算运维 301
11.1 云服务环境的监控 301
11.1.1 云监控概述 301
11.1.2 云监控特性 302
11.1.3 云监控需求 302
11.1.4 云监控结构 304
11.1.5 关键技术 306
11.2 云监控解决方案 308
11.2.1 云监控的通用技术 308
11.2.2 容器的监控 310
11.3 智能运维 314
11.3.1 智能运维的历史 315
11.3.2 智能运维的内容 316
11.3.3 AIOps的关键场景与技术 319
11.3.4 智能运维的展望 326
11.4 实例:智能运维在大视频运维中的应用 327
11.4.1 背景介绍 327
11.4.2 人工智能技术在大视频运维系统中的应用 328
11.5 本章小结 333
第12章 桌面云 334
12.1 桌面云概述 334
12.1.1 桌面云的发展历史 334
12.1.2 什么是桌面云? 335
12.2 桌面云架构与关键技术 337
12.2.1 传输协议 337
12.2.2 服务层 340
12.2.3 资源层 341
12.2.4 安全 342
12.2.5 桌面云面临的挑战 344
12.3 桌面云典型应用案例 344
12.3.1 桌面云在政府中的应用 345
12.3.2 桌面云在运营商中的应用 346
12.3.3 桌面云在教育中的应用 348
12.3.4 桌面云在电力中的应用 349
12.3.5 桌面云在医疗中的应用 352
12.3.6 桌面云在工业中的应用 354
12.4 实践:基于OpenStack的桌面云 355
12.4.1 Windows镜像的制作 355
12.4.2 配置SPICE实现远程访问 359
12.5 本章小结 360
第13章 软件开发云 361
13.1 软件开发云的概念 361
13.1.1 传统软件开发中的挑战 361
13.1.2 云计算给软件开发带来的新可能 362
13.1.3 云时代的软件开发 363
13.2 华为软件开发云服务 364
13.2.1 软件交付的趋势和挑战 364
13.2.2 DevCloud是什么 365
13.2.3 DevCloud核心理念 366
13.3 DevCloud技术方案 366
13.3.1 DevCloud总体架构 366
13.3.2 DevCloud主要服务 367
13.4 实践:DevCloud实战 368
13.4.1 DevCloud登录 368
13.4.2 项目管理 369
13.4.3 代码托管 370
13.4.4 构建 373
13.4.5 测试 374
13.4.6 发布 375
13.4.7 部署 376
13.4.8 流水线 377
13.5 本章小结 378
第14章 大数据与人工智能 379
14.1 什么是大数据? 379
14.1.1 大数据的发展背景 379
14.1.2 大数据的定义 381
14.1.3 大数据的技术 383
14.2 什么是人工智能? 385
14.2.1 人工智能的历史及概念 385
14.2.2 人工智能的特征与参考框架 388
14.2.3 人工智能的发展趋势 390
14.3 云计算、大数据与人工智能的关系 392
14.3.1 云计算与大数据的融合 393
14.3.2 云计算与人工智能的融合 394
14.4 本章小结 395
参考文献 396
论文阅读 399
1.1 初识云计算 1
1.1.1 云计算的定义 1
1.1.2 计算模式的演进过程 4
1.1.3 云计算简史 10
1.1.4 云计算的推动力 11
1.2 云计算的公共特征与分类 13
1.2.1 云计算的公共特征 13
1.2.2 云计算的分类 13
1.2.3 与云计算有关的技术 17
1.3 云计算的三元认识论 20
1.3.1 云计算作为一种商业模式 20
1.3.2 云计算作为一种计算范式 21
1.3.3 云计算作为一种实现方式 22
1.4 云计算的开源方法论 23
1.4.1 开源定义和相关概念 23
1.4.2 开源的价值和意义 25
1.4.3 开源发展历程 26
1.4.4 开源是种方法论 27
1.4.5 开源对云计算人才培养带来的挑战 28
1.5 实践:GitHub 30
1.5.1 GitHub简介 30
1.5.2 使用GitHub 31
1.5.3 Github界面总览 37
1.6 本章小结 38
第2章 分布式计算 39
2.1 分布式计算概述 39
2.1.1 基本概念 39
2.1.2 分布式计算的原理 40
2.2 分布式计算的理论基础 41
2.2.1 ACID原则 41
2.2.2 CAP理论 41
2.2.3 BASE理论 44
2.2.4 最终一致性 45
2.2.5 一致性散列 46
2.3 分布式系统概述 49
2.3.1 分布式系统的基础知识 49
2.3.2 分布式系统的特性 50
2.3.3 分布式存储系统实例:Apache Hadoop 51
2.4 分布式系统的进阶 53
2.4.1 分布式存储系统 54
2.4.2 分布式计算系统 55
2.4.3 分布式资源管理系统 57
2.5 典型的分布式系统 60
2.5.1 网格系统 60
2.5.2 P2P系统 63
2.5.3 透明计算 65
2.5.4 区块链系统 68
2.6 本章小结 74
第3章 云计算架构 75
3.1 云计算的本质 75
3.1.1 革命性概念:IT作为服务 75
3.1.2 云之道 75
3.1.3 云计算系统工程 76
3.1.4 云数据中心 77
3.1.5 云的工作负载模式 77
3.1.6 云计算的规模效应 79
3.2 云计算的架构 81
3.2.1 计算架构的进化 81
3.2.2 一般云计算架构的二维视角 84
3.3 云栈和云体 87
3.3.1 云栈 87
3.3.2 云体 93
3.3.3 IT作为服务 94
3.4 软件定义的数据中心 95
3.4.1 数据中心的历史 96
3.4.2 继续发展的推动力 98
3.4.3 软件定义的必要性 99
3.4.4 软件定义数据中心的架构分析 100
3.4.5 软件定义数据中心的发展 102
3.5 实践:OpenStack 104
3.5.1 OpenStack是什么? 104
3.5.2 OpenStack组件介绍 107
3.5.3 体验使用OpenStack 108
3.6 本章小结 109
第4章 虚拟化技术 110
4.1 虚拟化的定义 110
4.2 服务器虚拟化 111
4.2.1 x86架构对虚拟化的限制 112
4.2.2 全虚拟化 113
4.2.3 半虚拟化 114
4.2.4 硬件辅助虚拟化 114
4.3 商用虚拟机技术 115
4.4 新型硬件虚拟化 117
4.4.1 硬件虚拟化背景 117
4.4.2 硬件虚拟化的代表 118
4.4.3 硬件虚拟化的未来 119
4.5 实践:Xen虚拟化技术 120
4.5.1 Xen的历史 120
4.5.2 Xen功能概览 120
4.5.3 Xen实际操作 121
4.6 实践:KVM虚拟化技术 125
4.6.1 KVM简介 125
4.6.2 KVM的基本安装操作 125
4.7 轻量级虚拟化 130
4.7.1 容器技术简介 130
4.7.2 容器与虚拟机的对比 131
4.7.3 容器背后的内核知识 132
4.8 实践:Docker容器 134
4.8.1 安装Docker 134
4.8.2 运行第 一个Docker容器 136
4.9 本章小结 137
第5章 分布式存储 138
5.1 分布式存储的基础 138
5.1.1 基本概念 138
5.1.2 分布式存储分类 139
5.1.3 分布式存储的发展历史 141
5.2 文件存储 144
5.2.1 单机文件系统 144
5.2.2 网络文件系统 144
5.2.3 并行文件系统 145
5.2.4 分布式文件系统 146
5.2.5 高通量文件系统 146
5.3 从单机存储系统到分布式存储系统 147
5.3.1 单机存储系统 147
5.3.2 分布式存储系统 148
5.4 实践:分布式存储系统Ceph 152
5.4.1 概述 152
5.4.2 设计思想 153
5.4.3 整体架构 154
5.4.4 集群部署 156
5.5 本章小结 160
第6章 云计算网络 161
6.1 基本概念 161
6.1.1 计算机网络 161
6.1.2 覆盖网络 162
6.1.3 大二层网络 164
6.1.4 租户网络 164
6.2 数据中心网络:云计算的骨架 165
6.2.1 数据中心网络拓扑 165
6.2.2 用 Mininet 搭建数据中心仿真环境 167
6.3 网络虚拟化 169
6.3.1 灵活控制:软件定义网络(SDN) 170
6.3.2 快速部署:网络功能虚拟化(NFV) 176
6.4 租户网络管理 179
6.4.1 网络功能即服务(Network Function as a Service) 180
6.4.2 OpenStack Neutron 180
6.4.3 Group-Based Policy 183
6.5 实践:用Mininet搭建OpenFlow实验环境 185
6.5.1 Mininet入门 186
6.5.2 Mininet实验 187
6.6 本章小结 189
第7章 云计算安全 190
7.1 云安全概述 190
7.1.1 云计算安全挑战 190
7.1.2 云计算安全现状 193
7.1.3 云计算安全技术框架 193
7.1.4 云计算安全关键技术 195
7.2 虚拟机安全 196
7.2.1 虚拟化软件栈安全威胁 197
7.2.2 虚拟化软件栈安全防御 201
7.2.3 虚拟化安全总结 202
7.3 云存储安全 203
7.3.1 云存储的安全需求 203
7.3.2 安全云存储系统概述 204
7.3.3 安全云存储系统的一般架构 204
7.3.4 安全云存储系统的关键技术 205
7.4 云数据安全 207
7.4.1 云数据面临的安全威胁 208
7.4.2 云数据安全研究内容 209
7.4.3 云数据安全研究进展 209
7.5 实践:全同态加密算法 210
7.5.1 HElib库的调试与分析 210
7.5.2 FHE-CODE的调试与分析 212
7.5.3 全同态加密方案对比与分析 213
7.6 本章小结 216
第8章 云原生应用的开发 217
8.1 云原生的相关概念 217
8.1.1 云原生简介 217
8.1.2 云原生的内容 218
8.1.3 云原生应用的技术手段 222
8.2 云原生应用开发实践的12要素 225
8.3 云原生应用开发 234
8.3.1 云原生应用开发的原则 234
8.3.2 云原生的落地:Kubernetes 236
8.4 实践:基于Node.js的云原生应用开发 238
8.5 本章小结 245
第9章 云计算操作系统 246
9.1 计算机软件与操作系统 246
9.1.1 计算机软件的发展 246
9.1.2 操作系统的发展简史 247
9.1.3 操作系统的软件定义本质 249
9.2 UNIX类操作系统的发展 250
9.2.1 UNIX系统简介 250
9.2.2 UNIX家族的演化 251
9.2.3 类UNIX系统的发展 253
9.2.4 UNIX系统的展望 254
9.3 云操作系统概述 255
9.3.1 基本概念 255
9.3.2 云操作系统实例 256
9.3.3 云操作系统的挑战 257
9.3.4 新一代云操作系统的职责与功能 258
9.4 云计算编程模型与环境 259
9.4.1 云计算环境下的编程困惑 259
9.4.2 云计算编程模型 260
9.5 云操作系统的资源调度 262
9.5.1 资源调度简介 263
9.5.2 云操作系统下资源调度的挑战 263
9.5.3 云计算资源调度的策略和算法 264
9.6 实践:Mesos 266
9.6.1 Mesos架构 267
9.6.2 Mesos设计解读 269
9.6.3 在Mesos上运行Spark 270
9.6.4 Mesos实现容器编排 272
9.7 本章小结 273
第10章 云端软件 274
10.1 从软件到云件 274
10.1.1 云件的基本概念 274
10.1.2 从软件到云件的变迁 275
10.1.3 云件的关键技术 279
10.1.4 云件的开发、部署和运行模式 280
10.2 云件系统的架构设计与运行原理 281
10.2.1 计算与存储的分离的设计理念 281
10.2.2 基于微服务架构的云件模型 282
10.2.3 云件的系统级架构设计 286
10.3 云件的开发模式与效果 289
10.3.1 云件的开发模式 289
10.3.2 云件的效果展示 292
10.4 云件在大规模在线实训平台中的应用 293
10.4.1 实训平台提出的背景 293
10.4.2 构建基于云件系统的大数据工程实训平台 294
10.5 实践:云件应用开发实例 298
10.6 本章小结 300
第11章 云计算运维 301
11.1 云服务环境的监控 301
11.1.1 云监控概述 301
11.1.2 云监控特性 302
11.1.3 云监控需求 302
11.1.4 云监控结构 304
11.1.5 关键技术 306
11.2 云监控解决方案 308
11.2.1 云监控的通用技术 308
11.2.2 容器的监控 310
11.3 智能运维 314
11.3.1 智能运维的历史 315
11.3.2 智能运维的内容 316
11.3.3 AIOps的关键场景与技术 319
11.3.4 智能运维的展望 326
11.4 实例:智能运维在大视频运维中的应用 327
11.4.1 背景介绍 327
11.4.2 人工智能技术在大视频运维系统中的应用 328
11.5 本章小结 333
第12章 桌面云 334
12.1 桌面云概述 334
12.1.1 桌面云的发展历史 334
12.1.2 什么是桌面云? 335
12.2 桌面云架构与关键技术 337
12.2.1 传输协议 337
12.2.2 服务层 340
12.2.3 资源层 341
12.2.4 安全 342
12.2.5 桌面云面临的挑战 344
12.3 桌面云典型应用案例 344
12.3.1 桌面云在政府中的应用 345
12.3.2 桌面云在运营商中的应用 346
12.3.3 桌面云在教育中的应用 348
12.3.4 桌面云在电力中的应用 349
12.3.5 桌面云在医疗中的应用 352
12.3.6 桌面云在工业中的应用 354
12.4 实践:基于OpenStack的桌面云 355
12.4.1 Windows镜像的制作 355
12.4.2 配置SPICE实现远程访问 359
12.5 本章小结 360
第13章 软件开发云 361
13.1 软件开发云的概念 361
13.1.1 传统软件开发中的挑战 361
13.1.2 云计算给软件开发带来的新可能 362
13.1.3 云时代的软件开发 363
13.2 华为软件开发云服务 364
13.2.1 软件交付的趋势和挑战 364
13.2.2 DevCloud是什么 365
13.2.3 DevCloud核心理念 366
13.3 DevCloud技术方案 366
13.3.1 DevCloud总体架构 366
13.3.2 DevCloud主要服务 367
13.4 实践:DevCloud实战 368
13.4.1 DevCloud登录 368
13.4.2 项目管理 369
13.4.3 代码托管 370
13.4.4 构建 373
13.4.5 测试 374
13.4.6 发布 375
13.4.7 部署 376
13.4.8 流水线 377
13.5 本章小结 378
第14章 大数据与人工智能 379
14.1 什么是大数据? 379
14.1.1 大数据的发展背景 379
14.1.2 大数据的定义 381
14.1.3 大数据的技术 383
14.2 什么是人工智能? 385
14.2.1 人工智能的历史及概念 385
14.2.2 人工智能的特征与参考框架 388
14.2.3 人工智能的发展趋势 390
14.3 云计算、大数据与人工智能的关系 392
14.3.1 云计算与大数据的融合 393
14.3.2 云计算与人工智能的融合 394
14.4 本章小结 395
参考文献 396
论文阅读 399