第1章 绪论 1
1.1云计算的概念 1
1.2云计算发展现状 3
1.3云计算实现机制 5
1.4网格计算与云计算 6
1.5云计算的发展环境 9
1.5.1云计算与3G 9
1.5.2云计算与物联网 9
1.5.3云计算与移动互联网 10
1.5.4云计算与三网融合 11
1.6云计算压倒性的成本优势 12
习题 15
参考文献 15
第2章 Google云计算原理与应用 17
2.1 Google文件系统GFS 17
2.1.1系统架构 18
2.1.2容错机制 20
2.1.3系统管理技术 20
2.2分布式数据处理MapReduce 21
2.2.1产生背景 21
2.2.2编程模型 22
2.2.3实现机制 22
2.2.4案例分析 24
2.3分布式锁服务Chubby 25
2.3.1 Paxos算法 26
2.3.2 Chubby系统设计 27
2.3.3 Chubby中的Paxos 29
2.3.4 Chubby文件系统 31
2.3.5通信协议 32
2.3.6正确性与性能 34
2.4分布式结构化数据表Bigtable 35
2.4.1设计动机与目标 35
2.4.2数据模型 36
2.4.3系统架构 37
2.4.4主服务器 38
2.4.5子表服务器 39
2.4.6性能优化 42
2.5分布式存储系统Megastore 43
2.5.1设计目标及方案选择 44
2.5.2 Megastore数据模型 44
2.5.3 Megastore中的事务及并发控制 46
2.5.4 Megastore基本架构 47
2.5.5核心技术——复制 49
2.5.6产品性能及控制措施 52
2.6大规模分布式系统的监控基础架构Dapper 54
2.6.1基本设计目标 54
2.6.2 Dapper监控系统简介 54
2.6.3关键性技术 57
2.6.4常用Dapper工具 58
2.6.5 Dapper使用经验 60
2.7 Google应用程序引擎 62
2.7.1 Google App Engine简介 62
2.7.2应用程序环境 63
2.7.3 Google App Engine服务 65
2.7.4 Google App Engine编程实践 72
习题 86
参考文献 86
第3章 Amazon云计算AWS 88
3.1 Amazon平台基础存储架构:Dynamo 88
3.1.1 Dynamo在Amazon服务平台的地位 88
3.1.2 Dynamo架构的主要技术 89
3.2弹性计算云EC2 97
3.2.1 EC2的主要特性 97
3.2.2 EC2基本架构及主要概念 97
3.2.3 EC2的关键技术 99
3.3.4 EC2安全及容错机制 101
3.3简单存储服务S3 102
3.3.1基本概念和操作 102
3.3.2数据一致性模型 104
3.3.3 S3安全措施 105
3.4简单队列服务SQS 107
3.4.1 SQS基本模型 107
3.4.2两个重要概念 107
3.4.3消息 108
3.4.4身份认证 109
3.5简单数据库服务Simple DB 109
3.5.1重要概念 110
3.5.2存在的问题及解决办法 112
3.5.3 Simple DB和其他AWS的结合使用 112
3.6关系数据库服务RDS 113
3.6.1 SQL和NoSQL数据库的对比 113
3.6.2 RDS数据库原理 114
3.6.3 RDS的使用 115
3.7内容推送服务CloudFront 115
3.7.1内容推送网络CDN 115
3.7.2云内容推送CloudFront 117
3.8其他Amazon云计算服务 119
3.8.1快速应用部署Elastic Beanstalk和服务模板CloudFormation 119
3.8.2云中的DNS服务Router 53 119
3.8.3虚拟私有云VPC 120
3.8.4简单通知服务SNS和简单邮件服务SES 120
3.8.5弹性MapReduce服务 120
3.8.6电子商务服务DevPay、 FPS和Simple Pay 122
3.8.7 Amazon执行网络服务 126
3.8.8土耳其机器人 127
3.8.9 Alexa Web服务 128
3.9 AWS应用实例 129
3.9.1在线照片存储共享网站SmugMug 129
3.9.2在线视频制作网站Animoto 130
3.10小结 131
习题 131
参考文献 131
第4章 微软云计算Windows Azure 135
4.1微软云计算平台 135
4.2微软云操作系统Windows Azure 136
4.2.1 Windows Azure概述 136
4.2.2 Windows Azure计算服务 137
4.2.3 Windows Azure存储服务 138
4.2.4 Windows Azure Connect 152
4.2.5 Windows Azure CDN 153
4.2.6 Fabric控制器 153
4.2.7 Windows Azure应用场景 155
4.3微软云关系数据库SQL Azure 157
4.3.1 SQL Azure概述 157
4.3.2 SQL Azure关键技术 158
4.3.3 SQL Azure应用场景 160
4.3.4 SQL Azure和SQL Server对比 162
4.4 Windows Azure AppFabric 163
4.4.1 AppFabric概述 163
4.4.2 AppFabric关键技术 164
4.5 Windows Azure Marketplace 167
4.6微软云计算编程实践 168
4.6.1利用Visual Studio2010开发简单的云应用程序 168
4.6.2向Windows Azure平台发布应用程序 170
习题 173
参考文献 173
第5章 VMware云计算 174
5.1 VMware云产品简介 174
5.1.1 VMware云战略三层架构 174
5.1.2 VMware vSphere架构 175
5.1.3云操作系统vSphere 176
5.1.4底层架构服务vCloud Service Director 177
5.1.5虚拟桌面产品VMware View 178
5.2云管理平台vCenter 179
5.2.1虚拟机迁移工具 179
5.2.2虚拟机数据备份恢复工具 181
5.2.3虚拟机安全工具 181
5.2.4可靠性组件FT和HA 182
5.3云架构服务提供平台vCloud Service Director 182
5.3.1创建虚拟数据中心和组织 183
5.3.2网络的设计 184
5.3.3目录管理 184
5.3.4计费功能 184
5.4 VMware的网络和存储虚拟化 184
5.4.1网络虚拟化 184
5.4.2存储虚拟化 186
习题 188
参考文献 188
第6章 Hadoop:Google云计算的开源实现 189
6.1 Hadoop简介 189
6.2 Hadoop分布式文件系统HDFS 190
6.2.1设计前提与目标 190
6.2.2体系结构 191
6.2.3保障可靠性的措施 192
6.2.4提升性能的措施 194
6.2.5访问接口 195
6.3分布式数据处理MapReduce 196
6.3.1逻辑模型 196
6.3.2实现机制 196
6.4分布式结构化数据表HBase 197
6.4.1逻辑模型 198
6.4.2物理模型 198
6.4.3子表服务器 199
6.4.4主服务器 199
6.4.5元数据表 200
6.5 Hadoop安装 200
6.5.1在Linux系统中安装Hadoop 200
6.5.2在Windows系统中安装Hadoop 208
6.6 HDFS使用 215
6.6.1 HDFS常用命令 215
6.6.2 HDFS基准测试 219
6.7 HBase安装使用 219
6.7.1 HBase的安装配置 219
6.7.2 HBase的执行 220
6.7.3 Hbase编程实例 221
6.8 MapReduce编程 223
6.8.1矩阵相乘算法设计 223
6.8.2编程实现 224
习题 226
参考文献 226
第7章 Eucalyptus:Amazon云计算的开源实现 228
7.1 Eucalyptus简介 228
7.2 Eucalyptus技术实现 229
7.2.1体系结构 229
7.2.2主要构件 230
7.2.3访问接口 230
7.2.4服务等级协议 231
7.2.5虚拟组网 232
7.3 Eucalyptus安装与使用 233
7.3.1在Linux系统中安装Eucalyptus 233
7.3.2 Eucalyptus配置和管理 236
7.3.3 Eucalyptus常用命令的示例和说明 238
习题 240
参考文献 240
第8章 其他开源云计算系统 241
8.1简介 241
8.1.1 Cassandra 241
8.1.2 Hive 242
8.1.3 VoltDB 242
8.1.4 Enomaly ECP 243
8.1.5 Nimbus 244
8.1.6 Sector and Sphere 245
8.1.7 abiquo 247
8.1.8 MongoDB 247
8.2 Cassandra 249
8.2.1体系结构 249
8.2.2数据模型 250
8.2.3存储机制 251
8.2.4读/写删过程 252
8.3 Hive 254
8.3.1整体构架 254
8.3.2数据模型 255
8.3.3 HQL语言 257
8.3.4环境搭建 259
8.4 VoltDB 260
8.4.1整体架构 260
8.4.2自动数据分片技术 261
习题 264
参考文献 264
第9章 云计算仿真器CIoudSim 265
9.1 CloudSim简介 265
9.2 CloudSim体系结构 265
9.2.1 CloudSim核心模拟引擎 266
9.2.2 CloudSim层 268
9.2.3用户代码层 271
9.3 CloudSim技术实现 271
9.4 CloudSim的使用方法 274
9.4.1环境配置 274
9.4.2运行样例程序 274
9.5 CloudSim的扩展 277
9.5.1调度策略的扩展 277
9.5.2仿真核心代码 280
9.5.3平台重编译 286
习题 287
参考文献 287
第10章 云计算研究热点 288
10.1云计算体系结构研究 288
10.1.1 Youseff划分方法 288
10.1.2 Lenk划分方法 290
10.2云计算关键技术研究 292
10.2.1虚拟化技术 292
10.2.2数据存储技术 293
10.2.3资源管理技术 295
10.2.4能耗管理技术 298
10.2.5云监测技术 301
10.3编程模型研究 303
10.3.1 All-Pairs编程模型 303
10.3.2 GridBatch编程模型 304
10.3.3其他编程模型 305
10.4支撑平台研究 306
10.4.1 Cumulus:数据中心科学云 306
10.4.2 CARMEN:e-Science云计算 307
10.4.3 RESERVOIR:云服务融合平台 308
10.4.4 TPlatform:Hadoop的变种 309
10.4.5 P2P环境的MapReduce 309
10.4.6 Yahoo云计算平台 311
10.4.7微软的Dryad框架 311
10.4.8 Neptune框架 312
10.5应用研究 313
10.5.1语义分析应用 313
10.5.2生物学应用 314
10.5.3数据库应用 315
10.5.4地理信息应用 316
10.5.5商业应用 317
10.5.6医学应用 318
10.5.7社会智能应用 319
10.6云安全研究 321
10.6.1 Anti-Spam Grid:反垃圾邮件网格 321
10.6.2 CloudAV:终端恶意软件检测 323
10.6.3 AMSDS:恶意软件签名自动检测 324
10.6.4 CloudSEC:协作安全服务体系结构 325
习题 327
参考文献 327
第11章 总结与展望 332
11.1主流商业云计算解决方案比较 332
11.1.1应用场景 332
11.1.2使用流程 334
11.1.3体系结构 335
11.1.4实现技术 335
11.1.5核心业务 336
11.2主流开源云计算系统比较 338
11.2.1开发目的 338
11.2.2体系结构 339
11.2.3实现技术 340
11.2.4核心服务 340
11.3国内代表性云计算平台比较 341
11.3.1中国移动“大云” 341
11.3.2阿里巴巴“阿里云” 343
11.3.3“大云”与“阿里云”的比较 343
11.4云计算的历史坐标与发展方向 344
11.4.1互联网发展的阶段划分 344
11.4.2云格(Gloud)——云计算的未来 346
习题 348
参考文献 349