本书应该是当下Windows Azure领域最具权威性、完整性和实用性,同时也是最与时俱进(结合最新技术)的一本书之一,由微软官方资深云计算专家撰写,英文版版权将输出到海外。内容全面而深入,完整覆盖了Windows Azure的所有关键技术和理论,详细介绍了微软云计算的开发流程,深入讲解了云服务的架构(重点讲解了可用性、可靠性和高性能设计)、云与设备的整合、云服务系统的整合,同时还分享了云计算项目管理和开发团队管理方面的经验。除此之外,本书精心策划了68个针对特定实际应用场景的真实案例,详细呈现了案例的设计思路和完整实现步骤。
全书共17章,分为四大部分:第一部分(1-7章)讲解了云计算的基础概念和技术,包含云计算的本质、Windows Azure功能概览、Windows Azure开发环境搭建、云端网站创建、基础云服务、高端云服务、数据存储、虚拟机和虚拟网络等内容;第二部分(8-12章)讲解了云计算的解决方案,包含云解决方案的系统架构、高可用性设计、高可靠性设计、高性能设计、基于声明的体系结构等内容;第三部分(13-14)讲解了云与设备的知识,包含移动云服务、物联网等相关的内容;第四部分(15-17章)讲解了系统的整合与云计算项目的管理。附录中搜集了大量实用资料,包括云技术术语的中英文对照表 (附录A)、常见英文缩写的翻译 (附录B),以及很多国外比较流行但国内还相对比较新的实用和开源技术的简介(附录C)。
封面图
目录
- Preface
- 序
- 前言
- 第一部分基础篇
- 第1章云计算概览 2
- 1.1云计算历史 2
- 1.2云计算的本质 4
- 1.2.1弹性 5
- 1.2.2可用性 7
- 1.2.3缩放性 8
- 1.3Windows 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订阅Windows Azure 15
- 1.4.2安装软件开发工具包 15
- 1.5熟悉Windows Azure管理门户 15
- 1.5.1登录 16
- 1.5.2界面结构 16
- 1.6本章小结 18
- 第2章创建云端网站 19
- 2.1Windows 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.1Windows 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.2Windows Azure诊断 105
- 4.6.3IntelliTrace 111
- 4.6.4监视云服务 117
- 4.7开发者社区 120
- 4.8本章小结 121
- 第5章数据存储——关系型数据库 122
- 5.1Windows Azure数据存储方案 122
- 5.2SQL Database概览 123
- 5.3管理与优化SQL Database 136
- 5.3.1SQL Server Management Studio 136
- 5.3.2Microsoft 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.1Windows Azure商店 152
- 5.5.2查看MySQL连接信息 153
- 5.5.3自己搭建MySQL环境 154
- 5.6本章小结 154
- 第6章数据存储——非结构化数据 155
- 6.1使用本地存储 155
- 6.2Windows Azure存储服务概览 158
- 6.2.1Windows Azure存储账户 159
- 6.2.2创建Windows Azure存储账户 160
- 6.2.3存储账户的密钥 160
- 6.3使用BLOB存储 161
- 6.3.1BLOB存储概览 161
- 6.3.2块BLOB和页BLOB 177
- 6.3.3ETag和快照 178
- 6.3.4REST风格调用 178
- 6.3.5分享访问签名和库访问策略 179
- 6.3.6BLOB的更新、复制和租约 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.1Windows 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
- 第二部分架构篇
- 第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.3n层体系 247
- 8.3.1n层体系的特点 248
- 8.3.2n层体系、MVC和MVVM 249
- 8.3.3Windows 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.1Windows 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.2Windows 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.2Windows Azure AD基础 320
- 12.2.1管理Windows Azure租户和用户 321
- 12.2.2Graph API 332
- 12.3Windows Azure AD新增功能 337
- 12.4本章小结 338
- 第三部分设备篇
- 第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
- 第四部分企业篇
- 第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.1AMQP简介 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.1Windows 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.2Windows Azure 命令行工具 417
- 17.2.1安装命令行工具 417
- 17.2.2使用命令行工具 418
- 17.3Windows Azure管理应用程序接口 418
- 17.4本章小结 421
- 结语云之禅 422
- 附录A云计算术语中英文对照表 424
- 附录B英文缩写对照表 429
- 附录C扩展概念 432
- 参考文献 442
- 实例目录
- 实例1:您好,Windows Azure网站! 19
- 实例2:使用WebMatrix更新网站 25
- 实例3:使用FTP发布和更新PHP
- 网站 28
- 实例4:使用Git发布和更新网站 32
- 实例5:创建基于Drupal的网站 40
- 实例6:网站应用设置实例——描绘用
- 户输入函数的图像 44
- 实例7:您好,Windows Azure云服务! 55
- 实例8:部署云服务 62
- 实例9:通过管理门户部署云服务与VIP交换 69
- 实例10:云服务的水平缩放 74
- 实例11:配置网站服务的HTTPS
- 端点 82
- 实例12:使用UDP端口的辅助角色 87
- 实例13:使用Web前端和后台服务 93
- 实例14:启动任务——将图片转化成文本网页 99
- 实例15:配置Windows Azure诊断 106
- 实例16:使用IntelliTrace求最大公约数 112
- 实例17:使用SQL Database创建在线订单系统 125
- 实例18:使用SSMSE创建订单视图 136
- 实例19:使用动态管理视图(DMV) 139
- 实例20:使用SQL Database管理界面 141
- 实例21:使用.bacpac和.dacpac 143
- 实例22:SQL Server和SQL Database的数据同步 147
- 实例23:本地存储——数据文件生成服务 155
- 实例24:通过Visual Studio管理BLOB服务 162
- 实例25:BLOB服务——在线照片管理 164
- 实例26:通过Visual Studio 管理表服务 182
- 实例27:使用表服务——猜动物游戏 183
- 实例28:通过Visual Studio 管理队列服务 195
- 实例28:您好,Windows虚拟机! 199
- 实例29:您好,Linux虚拟机! 204
- 实例30:使用数据磁盘 206
- 实例31:创建和使用虚拟机映像 210
- 实例32:在Linux虚拟机上配置和运行Node.js 212
- 实例33:同一云服务内虚拟机的通信 214
- 实例34:虚拟机间负载平衡 215
- 实例35:创建Windows Azure虚拟
- 网络 218
- 实例36:创建点到站点虚拟网络——本地与云端的文件共享 221
- 实例37:多网站与租户限流 236
- 实例38:ASP.NET Web API和MVVM 249
- 实例39:管理服务总线命名空间和消息队列 253
- 实例40:使用服务总线队列服务实现异步通信——翻译服务 256
- 实例41:服务总线的主题/订阅——简单的聊天程序 264
- 实例42:中继服务——WCF Mastermind游戏 269
- 实例43:交通管理服务——跨地域容错转移 276
- 实例44:竞争消费者模式演示 284
- 实例45:使用瞬时错误处理应用
- 程序库 292
- 实例46:使用缓存服务 300
- 实例47:使用外部会话状态提供者 307
- 实例48:使用CDN发布存储账户中的内容 311
- 实例49:使用Windows Azure AD验证用户身份 323
- 实例50:使用Graph API 332
- 实例51:使用移动服务支持Windows商店应用 341
- 实例52:移动服务后台编程 344
- 实例53:推送到Windows设备 349
- 实例54:计划程序 354
- 实例55:API 355
- 实例56:您好,嵌入式设备! 362
- 实例57:简易摄像机 365
- 实例58:入侵者报警系统 368
- 实例59:基于内容的消息路由 380
- 实例60:请求/响应模式 383
- 实例61:死信队列 386
- 实例62:事件驱动消费者 388
- 实例63:通过AMQP实现系统整合 392
- 实例64:使用TFS管理源代码 401
- 实例65:创建和使用单元测试 406
- 实例66:封闭签入 408
- 实例67:用Windows Azure PowerShell管理虚拟机 413
- 实例68:使用Windows Azure管理应用程序接口 419