首页>参考读物>计算机科学与技术>软件与程序设计

Windows Azure实战
作者 : 白海石 著
出版日期 : 2013-11-19
ISBN : 978-7-111-44519-7
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 458
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书应该是当下Windows Azure领域最具权威性、完整性和实用性,同时也是最与时俱进(结合最新技术)的一本书之一,由微软官方资深云计算专家撰写,英文版版权将输出到海外。内容全面而深入,完整覆盖了Windows Azure的所有关键技术和理论,详细介绍了微软云计算的开发流程,深入讲解了云服务的架构(重点讲解了可用性、可靠性和高性能设计)、云与设备的整合、云服务系统的整合,同时还分享了云计算项目管理和开发团队管理方面的经验。除此之外,本书精心策划了68个针对特定实际应用场景的真实案例,详细呈现了案例的设计思路和完整实现步骤。
全书共17章,分为四大部分:第一部分(1-7章)讲解了云计算的基础概念和技术,包含云计算的本质、Windows Azure功能概览、Windows Azure开发环境搭建、云端网站创建、基础云服务、高端云服务、数据存储、虚拟机和虚拟网络等内容;第二部分(8-12章)讲解了云计算的解决方案,包含云解决方案的系统架构、高可用性设计、高可靠性设计、高性能设计、基于声明的体系结构等内容;第三部分(13-14)讲解了云与设备的知识,包含移动云服务、物联网等相关的内容;第四部分(15-17章)讲解了系统的整合与云计算项目的管理。附录中搜集了大量实用资料,包括云技术术语的中英文对照表 (附录A)、常见英文缩写的翻译 (附录B),以及很多国外比较流行但国内还相对比较新的实用和开源技术的简介(附录C)。

图书特色

内容权威,微软官方资深云计算专家撰写,英文版将在海外发行
全面深入,完整覆盖Windows Azure所有关键技术和理论,详细讲解云计算开发流程、云服务架构(可用性、可靠性和高性能)、云设备整合、系统整合,以及云计算项目的管理
注重实战,68个精心策划的针对特定实际应用场景的真实案例,详细呈现案例的设计思路和完整实现步骤

Windows Azure实战
(美) 白海石 著
1962年约瑟夫·卡尔·罗奈特·里克利德(Joseph Carl Robnett Licklider)在他著名的论文《人机共生关系》中描绘了云计算的最初蓝图,37年后,Salesforce创始人提出了软件即服务的理念,这一理念颠覆了企业计算机应用的基本模式,这是云计算发展史上的里程碑事件。随后,随着时代的发展,在Amazon、Apple、Google、Microsoft、IBM等大量国际巨头的支持和推动下,云计算技术逐渐走向成熟并得到广泛应用,如今已经成为21世纪最重要的IT技术之一。
作为云计算领域最具实力和代表性的企业之一,Microsoft在云计算领域的投入可谓是全方位的,不但投入了大量的人力和物力进行云平台的开发和大型数据中心的建设,而且把自己的核心业务(如微软办公软件系统Office)迁移到了云平台上。Windows Azure是微软云计算领域的核心产品,功能非常强大,是一个无比开放的系统,提供对第三方系统(例如Linux操作系统)的支持;提供对第三方语言(例如PHP、Node.JS、Java、Ruby和Python)的支持;能与诸多第三方服务和工具整合,例如MySQL、MongoDB、Git等;全面支持业界标准,例如WS-Federation、HTML、Memcached、AMQP等。
本书在Windows Azure领域应该是极具代表性和竞争力的,是微软官方资深云计算专家多年经验的结晶。结合Windows Azure的最新技术,细致且深入地讲解了微软云计算技术的方方面面,从基础理论到关键技术,从云服务架构到云计算解决方案,从云设备的整合到系统的整合,从云计算项目的管理到开发团队的管理,几乎面面俱到。更为值得一提的是,本书针对实际应用场景精心组织了68个真实的案例,详细讲解了案例的设计思路和实现过程,实战性极强。

前:
白海石 毕业于加州大学旧金山分校,微软资深技术专家和传教士,有超过25年的开发经验,精通Windows Azure技术,擅长.NET平台上的各种开发技术(C#、.NET、ASP.NET、ASP.NET MVC等),对软件架构也有非常深入的研究,经验丰富。此外,他还是一位经验丰富的技术作家,曾发表和撰写过许多与计算机相关的论文和著作。

图书前言

为什么要写这本书
  首先,感谢您对云计算,特别是对微软的Windows Azure云计算平台的支持!随着Windows Azure在中国的推广,现在正是加入云计算大军的最好时机!笔者期望本书能成为一本具有权威性、时效性和完整性的学习和参考的书籍。本书不是翻译版本,而是直接用中文为中国读者专门编写的。作为中文读者,您读到的是领先于全球市场的一本Windows Azure书籍。本书理论与实际并重,不但包括了对云计算相关概念和技术的深入讨论,更包括了数十个完整的实例供读者模仿、练习、使用。
  云计算的发展日新月异,读者在网络上可以搜索到大量最新的信息。但是,在纷繁的海量信息中整理出一条清晰的脉络却不是一件容易的事情。笔者写这本书的主要目的是引导读者从头把云计算的概念和技术慢慢梳理一遍,不但帮助大家掌握“怎么做”,还帮大家了解“为什么”,进而使大家成长为真正的云计算专家。
读者对象
  本书适用的读者群包括:
  在Windows Azure上开发云服务的设计开发人员
  需要更新自身云服务知识体系的IT经理
  需要系统了解云计算的系统工程师
  希望能学习并掌握Windows Azure开发的技术爱好者
  这里笔者要说明的是,这本书不是为初学者写的。虽然本书不需要读者有任何云计算的背景知识,但是本书需要读者对微软的技术体系,特别是对C#、ASP.NET以及ASP.NET MVC有一定的认识。本书的例程中也会用到网络开发的一些常用技术,例如HTML、JavaScript、jQuery、CSS等。不过,因为本书的所有实例都有十分详尽的步骤,所以即使您对上述某些技术有不熟悉的地方,也可以按照步骤把实例做完,然后再通过扩展阅读进一步了解相关的技术。但是,如果您完全没有网站和.NET开发的经验,做起这些实例来就会比较困难了。另外,在本书的很多实例中我们会使用ASP.NET MVC 4。尽管读者可以依照本书实例中的步骤完成所有练习而无须对ASP.NET MVC有深入了解,但笔者还是建议读者要通过相关资料系统学习ASP.NET MVC,因为它很可能是读者在开发Windows Azure云服务过程中最常用的语言之一。
如何阅读本书
  本书内容分为四大部分:
  第一部分为基础篇,介绍了云计算的基本概念和开发流程。
  第二部分为架构篇,着重讲解云服务架构的特点以及可用性、可靠性、高性能设计。
  第三部分为设备篇,介绍云与设备整合的场景。
  第四部分为企业篇,介绍系统的整合、团队开发与项目管理。
  笔者编写本书的一个重要宗旨就是确保本书的实用性。本书不但完整覆盖了Windows Azure所有的关键技术和理论,在附录中还包含了很多实用资料,包括云计算术语的中英文对照表 (附录A),常见英文缩写的翻译 (附录B),以及很多在国外比较流行但在国内还相对比较新的开源技术的简介(附录C)。
  此外,在实例选择上,笔者也选用了一些非微软的、但是目前比较流行的开发语言、环境和工具,例如Android、PHP、Java、Node.js等。当然,笔者不要求读者对这些技术有深入的了解。即便读者没有接触过这些技术,也可以通过本书详尽的实例说明在学习Windows Azure的同时亲身体验这些技术。本书的68个完整实例都有详细的步骤,而且都是针对特定的场景设计的。如果读者对云服务已经比较了解,可以直接跳到感兴趣的实例而无须逐章阅读。
勘误和支持
  Windows Azure在中国刚刚落地,正处于快速发展的阶段。由于版本的变化,您阅读本书时,可能会发现书中实例部分的具体操作会存在与实际情况不符的地方。建议读者访问笔者的新浪博客(http://blog.sina.com.cn/trontron)查看笔者对本书的更新和说明,下载本书相关的代码,并和笔者(@trontron)以及其他读者相互交流,共同学习Windows Azure。您也可以到华章官网下载相关的代码(http://www.hzbook.com)
  由于时间仓促,本书在编写上可能有很多不足之处,恳切希望广大读者将您的批评和指正通过博客或微博互动的方式反馈给笔者。谢谢!
致谢
  本书在编写过程中,得到了微软同事们的大力支持,特别是微软中国同仁们的无私帮助。在这里一并表示最真挚的感谢!
  感谢机械工业出版社华章分社的编辑杨福川和孙海亮始终支持我的写作,是你们的鼓励和帮助引导我能顺利完成全部书稿。
  感谢我最亲爱的家人。与癌症作战的母亲教会我坚韧与乐观,默默伴她左右的父亲教会我责任与忠诚,他们永远是我人生的楷模。感谢亲爱的妻子和可爱的女儿的无私支持,容忍我每天在电脑前工作16个小时,甚至在周末也是如此。没有她们,我不可能顺利完成这部书的写作。最后,感谢大姐和二姐的热情支持,你们的支持给了我前进的动力!

白海石

上架指导

计算机\程序设计

封底文字

1962年约瑟夫?卡尔?罗奈特?里克利德(Joseph Carl Robnett Licklider)在他著名的论文《人际共生关系》中描绘了云计算的最初蓝图,37年后,Salesforce创始人提出了软件即服务的理念,这一理念颠覆了企业计算机应用的基本模式,是云计算发展史上的里程碑事件。随后,随着时代的发展,在Amazon、Apple、Google、Microsoft、IBM等大量国际巨头的支持和推动下,云计算技术逐渐走向成熟并得到广泛应用,如今已经成为二十一世纪最重要的IT技术之一。
作为云计算领域最具实力和代表性的企业之一,Microsoft在云计算领域的投入可谓是全方位的,不但投入了大量的人力和物力进行云平台的开发和大型数据中心的建设,而且自己的核心业务(例如微软办公软件系统Office)迁移到了云平台上。Windows Azure是微软云计算领域的核心产品,功能非常强大,是一个无比开放的系统,提供对第三方系统(例如Linux操作系统)的支持;提供对第三方语言(例如PHP、Node.JS、Java、Ruby和Python)的支持;能与诸多第三方服务和工具整合,例如MySQL、MangoDB、Git等;全面支持业界标准,例如ws-Federation、HTML、Memcached、AMQP,等等。
本书在Windows Azure领域应该是极具代表性和竞争力的,是微软官方资深云计算专家多年经验的结晶,结合Windows Azure的最新技术,细致且深入地讲解了微软云计算技术的方方面面,从基础理论到关键技术,从云服务架构到云计算解决方案,从云设备的整合到系统的整合,从云计算项目的管理到开发团队的管理,几乎面面俱到。更为值得一提的是,本书针对实际应用场景精心组织了68个真实的案例,详细讲解了案例的设计思路和实现过程,实战性极强。

作者简介

白海石 著:暂无简介

图书目录

Preface

前言
第一部分 基础篇
第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 订阅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.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
第二部分 架构篇
第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
第三部分 设备篇
第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.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



实例目录
实例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

教学资源推荐
作者: 郑晓薇 编著
作者: [英]理查德·伯德(Richard Bird) 著
作者: [美]奥弗·曼德勒维奇(Ofer Mendelevitch) 凯西·斯特拉(Casey Stella) 著 道格拉斯·伊德理恩(Douglas Eadline)
作者: Frank L. Friedman;Elliot B. Koffman
参考读物推荐
作者: 康博创作室
作者: 谢梁,缪莹莹,高梓尧,王子玲等著
作者: Kathleen McGrath;Paul Stubbs