第一部分 基础篇 2
第1章 云计算概览 2
1.1 云计算历史 2
1.2 云计算的本质 4
1.2.1 弹性 5
1.2.2 可用性 7
1.2.3 缩放性 8
1.3 Windows Azure概览 9
1.3.1 设施即服务 10
1.3.2 平台即服务 11
1.3.3 软件即服务 12
1.3.4 成本计算 14
1.4 准备Windows Azure的开发环境 14
1.4.1 订阅WindowsAzure 15
1.4.2 安装软件开发工具包 15
1.5 熟悉Windows Azure管理门户 15
1.5.1 登录 16
1.5.2 界面结构 16
1.6 本章小结 18
第2章 创建云端网站 19
2.1 Windows Azure WebSites 19
2.2 网站的发布与更新 24
2.3 与源代码管理系统的整合 32
2.4 网站的缩放 36
2.4.1 垂直缩放 36
2.4.2 水平缩放 38
2.4.3 自动缩放 39
2.5 移植现有的ASP.NET网站 39
2.6 使用网站模板 40
2.7 网站设置 44
2.8 网站的诊断和监视 48
2.8.1 网站诊断 48
2.8.2 网站监视 50
2.8.3 自定义域名 53
2.9 本章小结 54
第3章 云服务入门 55
3.1 Windows Azure Cloud Service 55
3.2 角色和云服务 59
3.2.1 角色 60
3.2.2 云服务 60
3.3 云服务部署的基本步骤 61
3.4 云服务的部署和更新 67
3.4.1 增量更新(按更新域更新) 67
3.4.2 同时更新 67
3.4.3 多个部署环境 68
3.5 实例和负载平衡 73
3.5.1 实例 73
3.5.2 负载平衡 73
3.6 配置文件和定义文件 76
3.6.1 云服务定义文件 76
3.6.2 云服务配置文件 77
3.7 本章小结 80
第4章 高级云服务 81
4.1 端点类型 81
4.1.1 输入端点 81
4.1.2 内部端点 82
4.1.3 实例输入端点 82
4.2 辅助角色 86
4.3 角色间通信 92
4.4 角色的生命周期 96
4.4.1 角色在虚拟机上部署和运行的过程 97
4.4.2 角色实例的状态 97
4.5 启动任务 98
4.5.1 定义启动任务 98
4.5.2 启动任务的属性 99
4.6 诊断与调试 104
4.6.1 本机开发与调试 104
4.6.2 Windows Azure诊断 105
4.6.3 IntelliTrace 111
4.6.4 监视云服务 117
4.7 开发者社区 120
4.8 本章小结 121
第5章 数据存储——关系型数据库 122
5.1 Windows Azure数据存储方案 122
5.2 SQL Database概览 123
5.3 管理与优化SQL Database 136
5.3.1 SQL Server Management Studio 136
5.3.2 Microsoft SQL Server Data Tools 138
5.3.3 动态管理视图 139
5.3.4 查询优化 140
5.4 数据的同步和复制 142
5.4.1 数据层应用程序 143
5.4.2 数据同步 147
5.5 使用MySQL数据库 152
5.5.1 Windows Azure商店 152
5.5.2 查看MySQL连接信息 153
5.5.3 自己搭建MySQL环境 154
5.6 本章小结 154
第6章 数据存储——非结构化数据 155
6.1 使用本地存储 155
6.2 Windows Azure存储服务概览 158
6.2.1 Windows Azure存储账户 159
6.2.2 创建Windows Azure存储账户 160
6.2.3 存储账户的密钥 160
6.3 使用BLOB存储 161
6.3.1 BLOB存储概览 161
6.3.2 块BLOB和页BLOB 177
6.3.3 ETag和快照 178
6.3.4 REST风格调用 178
6.3.5 分享访问签名和库访问策略 179
6.3.6 BLOB的更新、复制和租约 180
6.3.7 错误处理 181
6.4 使用表存储 181
6.4.1 表存储概览 181
6.4.2 优化数据分区 181
6.4.3 查询表数据 192
6.4.4 批处理 193
6.4.5 动态表实体 194
6.4.6 分享访问签名 194
6.5 使用队列存储 194
6.5.1 队列储概览 194
6.5.2 在代码中使用队列服务 195
6.6 监视存储账户 196
6.6.1 配置监视存储服务 197
6.6.2 监视服务的收费 198
6.7 本章小结 198
第7章 虚拟机和虚拟网络 199
7.1 Windows Azure IaaS 199
7.2 映像和虚拟磁盘 206
7.3 虚拟机的通信 212
7.3.1 虚拟机的端点 212
7.3.2 同一个云服务下的虚拟机 214
7.4 虚拟网络 218
7.4.1 虚拟网络简介 218
7.4.2 点到站点虚拟网络 220
7.4.3 站点到站点虚拟网络 225
7.5 本章小结 226
第二部分 架构篇 228
第8章 云解决方案系统架构 228
8.1 服务器/客户端 228
8.1.1 服务器/客户端架构的特点 228
8.1.2 云平台上的服务器/客户端架构 230
8.1.3 多租户系统设计 231
8.1.4 服务器/客户端系统到云平台的移植 233
8.1.5 在Windows Azure上实现服务器/客户端系统 234
8.1.6 移动客户端 234
8.2 服务器/浏览器 235
8.2.1 服务器/浏览器架构的特点 235
8.2.2 云平台上的服务器/浏览器架构 236
8.2.3 将服务器/浏览器系统移植到云平台的难点 244
8.2.4 在Windows Azure上实施服务器/浏览器系统 246
8.3 n层体系 247
8.3.1 n层体系的特点 248
8.3.2 n层体系、MVC和MVVM 249
8.3.3 Windows Azure服务总线队列服务简介 252
8.3.4 在Windows Azure上实现n层体系结构 255
8.4 分布式系统 264
8.4.1 基于消息的连接 264
8.4.2 中继连接 268
8.5 本章小结 274
第9章 高可用性设计 275
9.1 高可用性设计的策略 275
9.1.1 冗余 275
9.1.2 负载平衡 276
9.1.3 容错转移 276
9.2 负载平衡与健康检测器 281
9.3 竞争消费者模式 283
9.3.1 松散耦合 283
9.3.2 动态负载平衡 283
9.3.3 动态缩放 284
9.3.4 容错转移 284
9.4 本章小结 287
第10章 高可靠性设计 288
10.1 可靠性、可维护性与可用性 288
10.1.1 可用性 288
10.1.2 可靠性 288
10.1.3 可维护性 289
10.1.4 相互关系 289
10.2 错误类型 289
10.2.1 运营中的错误 290
10.2.2 系统状态错误 290
10.2.3 系统设计与实施错误 290
10.3 瞬时错误 291
10.4 可靠性设计 294
10.4.1 单一失效点 294
10.4.2 可靠性编程原则 296
10.5 本章小结 298
第11章 高性能设计 299
11.1 Windows Azure缓存服务 299
11.1.1 缓存服务简介 299
11.1.2 缓存的部署方式 300
11.1.3 缓存功能介绍 303
11.1.4 并发模式 305
11.1.5 本地缓存 305
11.1.6 会话状态 306
11.2 Windows Azure CDN服务 310
11.3 异步操作和并发操作 313
11.4 本章小结 314
第12章 基于声明的体系架构 315
12.1 基于声明的验证和授权 316
12.1.1 基本流程 317
12.1.2 身份验证协议与WIF 318
12.1.3 身份验证代理 318
12.2 Windows Azure AD基础 320
12.2.1 管理Windows Azure租户和用户 321
12.2.2 Graph API 332
12.3 Windows Azure AD新增功能 337
12.4 本章小结 338
第三部分 设备篇 340
第13章 移动服务 340
13.1 移动服务概览 340
13.2 消息推送 348
13.3 计划程序与API 354
13.4 本章小结 356
第14章 物联网 357
14.1 物联网概览 357
14.1.1 射频识别 358
14.1.2 人工智能设备 358
14.1.3 可穿戴设备 358
14.1.4 无线传感器网络 359
14.2 设备与云服务 359
14.2.1 设备对云的意义 359
14.2.2 云对设备的意义 360
14.3 物联网的挑战 361
14.4 NET Micro Framework 362
14.4.1 NET Micro Framework概览 362
14.4.2 NET Gadgeteer简介 364
14.4.3 设备的整合案例 368
14.5 本章小结 373
第四部分 企业篇 376
第15章 基于消息整合 376
15.1 系统整合 376
15.1.1 通过数据整合 376
15.1.2 共享业务功能 377
15.1.3 企业服务总线 377
15.2 基于消息的系统整合模式 378
15.2.1 基于内容的消息路由(Content-based Routing) 379
15.2.2 优先级队列 382
15.2.3 请求/响应 382
15.2.4 死信队列 385
15.2.5 事件驱动的消费者 388
15.3 高级消息队列协议 390
15.3.1 AMQP简介 390
15.3.2 业界对AMQP的支持 391
15.4 基于消息集成的优势 397
15.5 本章小结 398
第16章 源代码和项目管理 399
16.1 创建TFS账户 399
16.2 使用TFS管理源代码 400
16.3 创建和使用单元测试 405
16.4 本章小结 410
第17章 脚本和自动化 411
17.1 Windows Azure PowerShell命令集 411
17.1.1 准备Windows Azure PowerShell命令集环境 411
17.1.2 管理虚拟机 412
17.1.3 管理云服务 415
17.1.4 管理网站 416
17.1.5 其他管理命令 417
17.2 Windows Azure命令行工具 417
17.2.1 安装命令行工具 417
17.2.2 使用命令行工具 418
17.3 Windows Azure管理应用程序接口 418
17.4 本章小结 421
结语 云之禅 422
附录A 云计算术语中英文对照表 424
附录B 英文缩写对照表 429
附录C 扩展概念 432
参考文献 442