详解微软Windows Azure云计算平台
方国伟等主编
ISBN 978-7-121-14620-6
11月出版
定价:59.00元
16开
280页
宣传语:微软官方权威解读深入剖析云中架构
一线专家联袂奉献助力IT应用腾飞
内容简介
本书由微软一线专家联袂奉献,全面、深入地阐释了微软Windows Azure平台的构建原理、功能特点以及使用方法。其中包括平台架构、应用开发、数据存储、中间件、案例和安全性等内容,是了解微软Windows Azure云计算平台的官方读本。
本书适合所有对云计算应用开发和设计有兴趣的人群阅读。无论您是想了解一个PaaS平台的具体构建,还是直接使用Windows Azure平台,相信您都会从本书中获益。
名人推荐
从“网络就是计算机”到“网格计算”,从“分布式计算”到“互联网计算”,长期以来,与“云计算”相类似的理念被学术界和不同的企业各自表述。虽然各个理念的内涵有些细微的差别,但大多基于充分利用网络化计算与存储资源、达成高效率低成本计算目标的考量, 希望能更好地整合互联网和不同设备上的信息和应用, 把所有的计算、存储资源连接在一起,实现最大范围的协作与资源分享。
看似高深的“云计算”理解起来并不难,其实就是把所有的计算应用和信息资源都用互联网连接起来,供个人和企业用户随时访问、分享、管理和使用,相关的应用和资源可以通过全球任何一个服务器和数据中心来获取。真正的云计算平台应该能实现以下三方面的功能。
1.提供资源——包括计算、存储及网络资源。这就需要服务提供者构建出规模巨大的全球化数据中心,能够实现大规模化计算和海量的存储、出色的安全性和高度的隐私性和可靠性。此外,它还应是高效的、低成本和绿色节能的。
2.提供动态的数据服务——数据包括原始数据、非结构化和半结构化数据以及经过处理的结构化数据。我们正在进入一个以数据为王的时代。一个好的云计算平台一定要有提供大规模数据存储、分享、管理、挖掘、搜索、分析和服务的功能。
3.提供云计算平台——包括软件开发API、环境和工具。只有这样,云计算才能真正形成一个有生命力、有黏性、可持续发展的“生态系统”。我个人认为,这也是云计算
带来的最大价值。
云计算不应该也不可能一蹴而就,用户更不会在一夜之间就从“端”全面转向“云”——而是会选择最符合其需要的“云端”资源部署方式,从而在“云”和“端”之间实现难能可贵的平衡。只有通过“云+端”的方式实现云端互动,才能最大程度利用云的功能并提供最佳的用户体验。
微软公司很早以前就已对云计算展开实质性研究。10多年前,作为.Net战略的一部分,微软曾经推出一套代号为Hailstorm的网络服务,希望能整合各种设备、数据和服务资源,为用户提供更简洁、更实用的计算方案,但受制于当时的技术环境和应用实际,Hailstorm并没有取得预期的成功。直至,在充分总结了经验和不足的前提下,微软发布了一个全新的云计算平台——Windows Azure Platform。“Azure”的意思是碧空、蓝天,就像人的想象力和创造力那样,无穷无尽,没有极限。
Windows Azure的重要性在于,它是继Windows取代DOS之后,微软的又一次颠覆性转型——通过在互联网架构上打造全新计算平台,使得Windows真正由PC和服务器延伸到“蓝天”上。微软希望“云平台”最终同PC平台一样,能够让成千上万的第三方开发人员开发出丰富的应用与新颖的服务。
Windows Azure Platform是一个技术领先、开放的平台,基于不同语言开发的应用程序都可以运行在这个平台上面,并通过标准协议相互通信和协作。我们希望Windows Azure这样的云平台能造就一个全新的“云产业”,就像过去20多年里,Windows和众多合作伙伴催生出规模巨大的PC产业那样!
书如其名,本书由微软一线专家联袂奉献,深入浅出地介绍了Windows Azure平台。希望本书能帮助每位读者打开通向“蓝天”之门!
张亚勤 博士
微软的云计算是“云+端”的计算!我们认为客户端和云不是相互独立,而是相互联系的有机整体,智能客户端通过网络连接到云服务而构成一个集成平台。微软的云计算战略主要包含三个方面的含义:
首先是具有灵活的选择,用户可以根据需求选择不同的服务种类和部署方式;
其次是提供企业级的服务,在可用性、可靠性和安全性方面没有任何折扣;
最后是在不同的客户端和平台上提供不间断的一致的服务体验。
Windows Azure平台是微软云计算战略的一个关键组成部分!
在过去十几年,微软为几亿用户提供了从Hotmail、MSN、Windows Live到Bing搜索等各种在线服务;微软同时也为全球用户构建了从Windows Server、SQL Server、System Center到Visual Studio等不同的企业级平台和开发工具。Windows Azure就是结合了互联网和传统企业两种不同类型的计算要求而构建的云计算平台。
对于熟悉.Net和微软服务器平台的开发者来说,他们能够充分利用已有的技能快速
构建云应用或者把现有的应用迁移到Windows Azure平台,然后利用平台的云计算特点快速把服务提供给全球用户。同时,Windows Azure也是一个开放的平台,可以支持包括PHP、Java等在内的多种第三方框架和运行环境,从而给开发人员提供广泛的选择和灵活性。
微软致力于Windows Azure平台,并会根据用户的反馈快速提升平台。在线服务平台的一个好处是我们可以把新的创新成果迅速引入平台并以服务方式提供给用户使用。同时,微软也提供许多工具和像BizSpark这样的项目来帮助客户综合使用包括Windows、Windows Phone、Windows Azure平台等在内的多种产品。
作为微软大中华地区的首席云战略官,我非常高兴地看到《详解微软Windows Azure云计算平台》图书能够出版。本书作者都是微软云计算方案一线的架构和开发人员,相信他们对云计算和Windows Azure平台的分析和见解能够帮助广大读者了解和使用这个平台。本书不仅阐述了Windows Azure平台的一些构建原理,也详解了这个平台的具体功能和使用方法。因此,无论读者是想了解一个PaaS平台的具体构建,还是直接使用Windows Azure,都可以从本书中获益匪浅。
谢恩伟
微软大中华地区 首席云战略官
开发工具和平台事业部 总经理
作者序
在过去两年多里,国内关于云计算的概念宣传已呈白热化,关于云计算的讨论也远超出了IT 行业,一时间可谓是人“云”亦“云”。然而,云计算不能只停留在概念阶段,用户需要能够真正落地的服务和方案。无论是降低成本还是提升用户体验,云计算必须能给用户带来切实的利益。
微软在针对企业的公有云服务方面主要包括两大类:一个是包括Office 365 和Dynamics CRM Online 等在内的软件即服务(SaaS)类型在线服务;另外一个就是本书所讨论的Windows Azure 平台,它主要是平台即服务(PaaS)类型的。
基础设施即服务(IaaS)类型的云计算服务由于采用了硬件虚拟化为主的技术,因此从技术上讲这类平台的兼容性相对较好,用户接受起来也相对容易。但是从本质上讲,IaaS 只是效率更高的硬件资源而已,它对业务的价值也相对有限。因此,从云计算发展的角度,我们认为PaaS 和SaaS 将能给用户带来更大的业务价值。
在传统的方式下,用户构建一个应用时往往要考虑:服务器如何配置和部署?应用怎样部署到不同的服务器上?如何提供冗余使得在发生灾难时能够提供不间断的服务?服务的扩展性如何满足?如果用户采用像Windows Azure 这样的PaaS 平台,那么这些问题基本都可以交给平台自动处理,用户可以把更多的精力放在核心业务逻辑上。当然为了降低迁移现有应用的难度,微软陆续为Windows Azure 增加了像VM Role、远程桌面管理等新的功能。但是从整体技术架构和功能上来看,Windows Azure 是一个以PaaS 为核心定位的云计算平台。从平台的角度,可以认为Windows Azure 是Windows 的延伸。微软希望Windows 技术能够在嵌入式设备、手机、平板、个人电脑、服务器和云计算数据中心中应用,也希望基于Windows Azure 平台构建新的IT 生态系统。
对于Windows Azure 这个相对庞大和复杂的云计算平台,许多人刚开始接触的时候会觉得有点难以把握。本书作者既有从平台构建就开始在微软总部研发团队参与开发设计工作的,也有从 年10 月Windows Azure 发布CTP 版本开始从事云平台应用推广工作的。我们希望本书能够回答下面问题:Windows Azure 平台是什么?它是如何构建的?它能做什么?以及如何开始使用它?我们尽量把我们工作过程中关于Windows Azure 平台的所思、所做和所学习的内容跟大家做个探讨。
本书的写作由方国伟和Bill Liu 统筹协调和把握脉络,方国伟负责统稿和项目管理。各章执笔者的分工如下:第1、3、4 章和附录A,方国伟;第2、5、7、8 章,Bill Liu ;第6 章,王强;第9 章和附录B,吴中伟。
写作一本图书与完成一个IT 项目有着异曲同工之妙。我们在图书的写作和出版的过程中需要许多沟通和协作,也得到了许多热心的帮助。感谢张亚勤博士和谢恩伟总经理热心为本书推荐作序,我们在写作的过程中也融入了一些他们关于云计算的真知灼见。同时感谢微软开发工具和平台事业部的技术总监赵立威先生和微软中国云计算创新中心的资深总监梁戈碧女士,他们不仅帮忙协调了许多资源,而且为作者参与写作提供了良好的条件。还要感谢本书编辑刘皎,本书能够按计划顺利出版离不开她的专业服务和辛勤工作。最后本书作者要感谢家人的理解和支持。写一本书的工作量往往超出预想,所有作者都有三更半夜还在跟键盘“搏斗”的经历。由于我们都有各自的日常工作,为了写作无可避免地牺牲了许多本来应该陪伴家人的时间。
虽然我们在微软的不同部门工作,但我们都是云计算的“粉丝”。我们相信云计算能够并正在给ICT 带来变革,并愿意把我们在工作和学习中对Windows Azure 平台的理解与大家一起分享以期抛砖引玉。为了能把这些内容及时展现给读者,成书难免仓促,而且云计算技术发展也日新月异,因此如有纰漏恳请各位专家和读者包涵并不吝赐教。
让我们一起从Windows Azure 平台开始云计算之旅吧!
目录
第1章 Windows Azure平台入门 1
1.1 平台产生背景 2
1.2 Windows Azure平台总览 3
1.2.1 什么是Windows Azure平台 3
1.2.2 Windows Azure平台定位 5
1.2.3 构建自己的Windows Azure平台 6
1.3 Windows Azure——云操作系统 7
1.3.1 Windows Azure计算服务 9
1.3.2 Windows Azure存储服务 10
1.4 SQL Azure——云数据库 12
1.4.1 关系型数据库 13
1.4.2 报表功能 15
1.4.3 数据同步 15
1.5 Azure AppFabric——云中间件 16
1.5.1 服务总线(Service Bus) 17
1.5.2 访问控制服务(Access Control Service,ACS) 18
1.5.3 分布式缓存 18
1.6 Azure Marketplace——云服务市场 20
1.7 小结 21
第2章 开发第一个Windows Azure应用 24
2.1 开发环境 25
2.2 本地开发和调试 27
2.3 部署到云 33
2.4 管理和维护 39
2.5 小结 41
第3章 平台构建和原理 42
3.1 Windows Azure平台的层次 43
3.2 云计算数据中心 44
3.2.1 微软数据中心 45
3.2.2 故障域和升级域 47
3.3 虚拟化 49
3.3.1 基于虚拟化构建 49
3.3.2 Windows Azure Hypervisor 51
3.3.3 Windows Azure Guest OS 55
3.3.4 虚拟硬盘(VHD) 57
3.3.5 Windows Azure基于镜像的部署 60
3.4 Windows Azure Fabric 61
3.4.1 Fabric架构 61
3.4.2 Windows Azure的“大脑”——Fabric控制器 63
3.4.3 节点初始化过程 67
3.4.4 应用部署方式 68
3.4.5 服务的升级方式 69
3.5 Windows Azure技术特点理解 72
3.5.1 云操作系统 72
3.5.2 云计算应用的一些技术特点 73
3.5.3 Windows Azure的技术特点 75
3.6 小结 77
第4章 Windows Azure计算服务 78
4.1 服务模型 79
4.1.1 服务和服务模型 79
4.1.2 服务角色 80
4.1.3 角色实例 82
4.1.4 角色生命周期 84
4.1.5 服务定义 85
4.1.6 服务配置 89
4.2 Web Role详解 92
4.2.1 理解Web Role 93
4.2.2 Web Role运行环境了解 96
4.2.3 多站点支持 100
4.2.4 FastCGI支持 102
4.3 Worker Role详解 104
4.3.1 理解Worker Role 105
4.3.2 典型的使用模式 107
4.3.3 支持Java语言 108
4.4 VM Role详解 115
4.4.1 理解VM Role 115
4.4.2 M Role镜像的构建 117
4.5 不同角色之间的区别与联系 119
4.6 小结 120
第5章 Windows Azure存储服务 121
5.1 Windows Azure存储服务的特点 123
5.2 体系结构 125
5.2.1 多层次体系结构 125
5.2.2 数据分割和复制 127
5.2.3 访问负载均衡 128
5.3 数据存储类型 128
5.3.1 大的二进制对象(Blob) 128
5.3.2 表格(Table) 132
5.3.3 消息队列(Queue) 139
5.3.4 驱动器(xDrive) 143
5.3.5 本地存储(local storage) 145
5.4 管理和使用存储服务 147
5.4.1 创建存储账号 147
5.4.2 收费模式 149
5.5 存储服务的安全和性能 151
5.5.1 性能指标 151
5.5.2 安全性 152
5.6 小结 154
第6章 结构化数据存储——SQL Azure 156
6.1 SQL Azure简介 157
6.1.1 易管理性 158
6.1.2 高可用性 158
6.1.3 高可扩展性 159
6.1.4 对开发的支持 160
6.1.5 SQL Azure的应用场景 161
6.2 SQL Azure架构 163
6.2.1 SQL Azure逻辑数据库概念 163
6.2.2 SQL Azure的系统架构 164
6.2.3 服务层 165
6.2.4 平台层 167
6.3 SQL Azure管理和开发 169
6.3.1 建立SQL Azure账号和数据库 170
6.3.2 数据库管理 174
6.3.3 SQL Azure开发 176
6.4 SQL Azure的其他功能 177
6.4.1 数据同步 177
6.4.2 报表服务 179
6.4.3 数据分片和SQL Azure Federations 180
6.5 小结 182
第7章 Windows Azure AppFabric 183
7.1 Windows Azure AppFabric简介 185
7.1.1 AppFabric中间件服务 186
7.1.2 开发和管理复合应用程序 186
7.1.3 基于云计算优化的应用架构 187
7.2 Azure AppFabric服务总线 188
7.2.1 企业级服务总线模式 188
7.2.2 Azure AppFabric服务总线 191
7.2.3 使用服务总线 194
7.3 访问控制 201
7.4 Azure AppFabric缓存服务 206
7.5 小结 211
第8章 云计算应用架构和案例分析 213
8.1 云计算应用的特点 214
8.2 云计算应用的设计和架构 215
8.2.1 软件+服务 215
8.2.2 异步松耦合 216
8.2.3 幂等操作 217
8.2.4 映射化简(Map Reduce) 219
8.2.5 具有自我感知能力 222
8.3 基于Windows Azure云计算应用案例分析 224
8.3.1 案例背景 224
8.3.2 用例分析和基本架构 225
8.3.3 详细设计 228
8.3.4 具体开发 234
8.4 小结 242
第9章 Windows Azure平台安全 244
9.1 Windows Azure的安全设计 245
9.1.1 身份验证和访问管理 248
9.1.2 隔离 251
9.1.3 加密 252
9.1.4 数据完整性 253
9.1.5 可用性 254
9.1.6 审核 254
9.1.7 安全性开发生命周期 255
9.2 服务运营安全 255
9.2.1 运营安全 256
9.2.2 硬件配置安全 256
9.2.3 物理安全 257
9.2.4 法规遵循 257
9.3 安全应用的开发 258
9.3.1 网络开发安全基础 259
9.3.2 Windows Azure应用安全性的考虑 259
9.3.3 Windows Azure应用最佳安全做法 260
9.4 小结 262
附录A 微软云计算概况 264
附录B Windows Azure平台的收费模型 270
参考资料 274
90 详解微软Windows Azure云计算平台.jpg
来自 “ ITPUB博客 ” ,链接:/13164110/viewspace-709850/,如需转载,请注明出处,否则将追究法律责任。