第1章 似曾相识云计算 1
1.1旧事如烟 1
1.2新闻中的云计算 2
1.3云计算的演进 4
1.4什么是云计算 5
1.5革命性概念:IT作为服务 6
1.6云的规模效应 7
1.7云计算的优势 10
1.8云计算的五大特点 11
1.9云计算的驱动力 11
1.10云计算与其他计算范式的关系 12
1.10.1主机计算 13
1.10.2客户机-服务器模式 13
1.10.3服务器集群 13
1.10.4网格计算 13
1.10.5效用计算 14
1.10.6自动计算 14
1.10.7服务计算 14
1.10.8并行和分布式计算 15
1.11云计算的误区 15
1.12云之道 16
1.13云数据中心 17
1.14云计算应用举例 18
1.15云计算的挑战 18
1.16云计算简史 18
思考题 19
第2章 云的本体 20
2.1本体是事物之本 21
2.2云、云体、云平台和云计算 22
2.3云栈 22
2.3.1基础设施即服务层 23
2.3.2平台即服务层 24
2.3.3软件即服务层 26
2.3.4云栈与装扮的比较 26
2.4四层云栈模式 27
2.5五层云栈模型 27
2.5.1第一层:固件/硬件层 28
2.5.2第二层:软件内核层 28
2.5.3第三层:云基本资源层 29
2.5.4第四层:云软件环境层 32
2.5.5第五层:云应用程序层 33
2.6云的类型 33
2.6.1公有云 33
2.6.2私有云 34
2.6.3社区云 35
2.6.4混合云 35
2.6.5行业云 36
2.6.6其他云类型 37
2.7云的工作负载模式 37
2.7.1模式1:时开时停模式 37
2.7.2模式2:用量迅速增长模式 38
2.7.3模式3:瞬时暴涨模式 38
2.7.4模式4:周期性增减模式 38
2.8 IT作为服务 39
2.9云体控制器 40
2.10云计算的主要特征 40
思考题 42
第3章 云计算的软件架构 43
3.1架构 43
3.2云计算的软件工程 44
3.3合理架构的重要性 45
3.4云计算的现状 46
3.5横向和纵向扩展 46
3.6计算架构的进化 48
3.6.1中央集权架构 48
3.6.2客户机-服务器架构 49
3.6.3中间层架构 49
3.6.4浏览器服务器架构 49
3.6.5 B/S-C/S混合架构 50
3.6.6面向服务的架构 51
3.7什么才是好的云架构 51
3.8云计算架构的二维视角 52
3.8.1基础架构的分层结构 52
3.8.2 REST架构:云计算的软件架构 53
3.8.3 RESTful Web服务 54
3.9云应用程序的结构 54
3.10云应用软件的编程模型 55
3.10.1面向对象的编程 56
3.10.2有状态和无状态连接 56
3.10.3关注点分离 58
3.10.4异步消息传输 61
3.10.5云应用程序编写的综合考虑 62
思考题 63
第4章 虚拟化技术 64
4.1万般皆虚拟 65
4.2什么是虚拟化 65
4.3虚拟化的层级 66
4.4虚拟机监视器 67
4.5虚拟机架构 68
4.6虚拟机监视器的特征 69
4.7系统虚拟化的方式 70
4.7.1物理CPU资源的控制 70
4.7.2可虚拟化和不可虚拟化的指令集结构 71
4.7.3二进制翻译 72
4.7.4准虚拟化 72
4.7.5硬件支持的虚拟化 73
4.7.6内存资源的控制 74
4.7.7内存页面的分配策略 74
4.7.8内存管理单元的虚拟化 76
4.8 IO资源的控制 78
4.8.1软件仿真 78
4.8.2准虚拟化 79
4.8.3直接分配 79
4.9商用虚拟机技术 80
4.9.1 Xen虚拟机技术 80
4.9.2 KVM虚拟机技术 81
4.9.3 Hyper-V虚拟化技术 81
4.9.4 VMWare ESX和ESXi虚拟化技术 83
4.9.5 VMWare Workstation 83
4.9.6 Parallels Virtuozzo虚拟化技术 83
4.10高级虚拟化技术 85
4.10.1存储虚拟化 85
4.10.2多机虚拟化 87
4.10.3多机1O虚拟化 87
4.10.4应用虚拟化 87
4.10.5使用虚拟化 88
4.10.6网络虚拟化 88
4.10.7灾难虚拟化 88
4.11虚拟上的虚拟 89
思考题 89
第5章 Windows Azure云计算平台 91
5.1 Windows Azure:云的操作系统 91
5.2 Windows Azure概览 92
5.2.1计算能力 93
5.2.2 Windows Azure的持久存储 94
5.2.3 Windows Azure云体控制器 94
5.2.4 Windows Azure的鸟瞰图 94
5.2.5 Windows Azure的故障域与升级域 95
5.2.6地理分布 96
5.3在Windows Azure上运行用户程序 96
5.3.1开发云应用程序 96
5.3.2向云体控制器定义自己的服务 96
5.3.3将应用程序发布到云端 98
5.3.4监控和管理云应用程序 99
5.4服务隔离和安全 100
5.5 Windows Azure虚拟机架构 101
5.6 Windows Azure的生态环境 102
5.7计算和存储服务 103
5.7.1 Windows Azure的计算服务 103
5.7.2 Windows Azure存储服务 104
5.7.3 SQL Azure 107
5.7.4.NET服务 110
5.8使用Windows Azure的场景举例 112
5.9使用Windows Azure云计算平台的方式 113
5.9.1 Windows Azure平台的生态系统 114
5.9.2云Web应用程序 114
5.9.3组合服务应用 114
5.9.4云代理应用程序 114
5.9.5 B2B集成应用程序 115
5.9.6网格和并行计算应用 115
5.9.7混合企业级应用程序 116
5.10 Windows Azure应用程序的发布过程 117
5.11使用Windows Azure的成本 121
5.12 Windows Azure云平台的当前状态 122
思考题 122
第6章 其他主流云平台 123
6.1诸神之战 123
6.2谷歌的App Engine云平台 125
6.2.1 App Engine云计算平台概览 125
6.2.2 App Engine的功能 125
6.2.3 App Engine沙盒 127
6.2.4 App Engine开发环境 127
6.2.5 App Engine平台所提供的服务 128
6.2.6 App Engine的系统架构 128
6.2.7 App Engine数据仓库 128
6.2.8 App Engine的块存储仓库和内存缓存 130
6.2.9 App Engine的无状态服务 130
6.2.10 App Engine的伸缩能力 130
6.2.11 App Engine的安全性 131
6.2.12基于Web的系统管理员界面 131
6.2.13 App Engine的计费 131
6.3亚马逊的Web服务云计算平台 132
6.3.1亚马逊AWS的架构 133
6.3.2亚马逊AWS的存储服务 134
6.3.3亚马逊AWS的其他服务 135
6.3.4亚马逊AWS云平台的工作流程 135
6.3.5 AWS云计算平台的弹性 137
6.3.6 AWS云计算平台实际应用举例 139
6.4 VMWare/EMC的云计算平台 139
6.4.1 vCloud云平台简介 139
6.4.2 vCloud的系统架构 139
6.4.3 vCloud云平台的特点 140
6.4.4 Cloud Foundry云平台简介 141
6.4.5 Cloud Foundry云平台的特点 141
6.4.6 Cloud Foundry里面的服务绑定 143
6.4.7 Cloud Foundry的系统架构 144
6.4.8 Cloud Foundry的存储机制 145
6.4.9 Cloud Foundry的应用程序部署流程 146
6.4.10 Cloud Foundry云平台上的应用程序的架构 146
6.4.11 Cloud Foundry的公有云实例 147
6.4.12 Micro Cloud Foundry 150
6.5 Open Stack云平台 150
6.5.1 Open Stack的构成 151
6.5.2 Open Stack的安装和部署 155
6.6五大云计算平台的比较 155
6.7诸神大战的结局 157
思考题 158
第7章 大数据——云计算的典型应用 159
7.1多大算大? 159
7.2云平台上最热门的应用 160
7.3大数据无处不在 160
7.4大数据的挑战:大数定理和e-科学 162
7.4.1大数定理 162
7.4.2e-科学 163
7.5什么是大数据 163
7.6大数据的处理原则 164
7.6.1存储资源扩展 164
7.6.2文件系统扩展 165
7.6.3处理方式扩展 166
7.6.4 Map/Reduce 167
7.7 Hadoop大数据处理平台 170
7.7.1什么是Hadoop 171
7.7.2 Hadoop的构件 171
7.7.3 Hadoop分布式文件系统 172
7.7.4 Hadoop重平衡器 175
7.7.5 Hadoop的其他组件 175
7.7.6 Hadoop的安装和运行 175
7.7.7 Hadoop的部署 176
7.7.8 Hadoop系统的处理能力 176
7.7.9 Hadoop应用举例 177
7.7.10 Hadoop小结 178
7.7.11 Hadoop的挑战 178
7.8 Engine One大数据平台 178
7.8.1 Engine One架构 179
7.8.2平台层 179
7.8.3应用层 180
7.8.4云管理平台 180
7.8.5 Engine One的系统级大数据处理 180
7.8.6云数据库 180
7.8.7云内容管理 181
7.8.8云搜索引擎 181
7.8.9 InforOne 182
7.9大数据处理模式的争论 184
7.10大数据的终结 185
思考题 185
第8章 云的构造与集成 187
8.1集成为王 187
8.2云平台构建的必然性 188
8.3云工程 189
8.4如何构建云平台 190
8.5设定目标 190
8.5.1设定云平台的总体目标 190
8.5.2设定云平台的次要目标 191
8.6辨别工作负载(和云的类型) 192
8.7设计云平台的服务 192
8.8组件选择方面的考虑 194
8.9组件的集成 194
8.10云平台构建的阶段性 195
8.11私有云的通用架构 196
8.12连接在业务所在地和云平台 197
8.12.1公应用私数据 198
8.12.2公数据私应用 198
8.12.3公有上的私有 198
8.12.4三层结构 198
8.13数据中心的考虑 198
8.14选择大数据框架时的考虑因素 199
8.15云迁移 201
8.16互联云 201
8.17西西弗斯的幸福 202
思考题 203
第9章 云计算的困惑 204
9.1云计算的重演 205
9.2云计算的惰性和恐惧 206
9.3云计算对工作市场的影响 207
9.4云计算的加速 208
9.5云计算的未决议题 209
9.5.1云工程问题 209
9.5.2云经济问题 209
9.5.3虚拟机问题 211
9.5.4云安全问题 211
9.5.5云私密问题 212
9.5.6云监狱 212
9.5.7云头痛 213
9.5.8法律法规相关的问题 213
9.5.9数据寡头问题 214
9.5.10标准问题 214
9.5.11云灾备问题 214
9.6云计算的未来 215
9.6.1电子钱包的广泛使用 215
9.6.2元数据自动化 215
9.6.3云交易市场的出现 216
9.6.4弹性粒度的连续化 216
9.6.5标准将会出现 216
9.6.6云保险 216
9.6.7云一致性 217
9.6.8云漂移 217
9.6.9物联网、智慧城市的支撑 217
9.7云计算的疑虑 218
9.8云计算的奇异点 218
思考题 219
参考文献 220