热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

走进云计算:Windows Azure实战手记

中国水利水电出版社
    【作 者】朱明中(小朱) 著 【I S B N 】978-7-5084-8470-9 【责任编辑】杨元泓 【适用读者群】科技 【出版时间】2011-06-09 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】 【千字数】615 【印 张】25 【定 价】58 【丛 书】暂无分类 【备注信息】随书赠送一CD
图书详情

    本书是为微软Windows Azure云计算平台而编写,将带来Windows Azure平台的功能以及开发的方式等各式各样的信息,帮助您了解微软的云计算平台以及相关技术,或是评估微软的Windows Azure平台能力,以及如何在Windows Azure上开发应用程序的知识和技术。

    全书共12章,内容包括云计算概论、云计算技术概观、初探Windows Azure、Windows Azure应用程序开发基础、Windows Azure应用程序开发:Table存储服务、Windows Azure应用程序开发:BLOB存储服务、Windows Azure应用程序开发:Queue存储服务与应用程序间通信、云上的关系数据库:SQL Azure、云上的访问控制技术:AppFabric Access Control、云服务的集散中心:AppFabric Service Bus、Windows Azure与其他平台的互操作性、云计算与Windows Azure安全性。

    本书特别为云计算的入门读者编写,对于云计算技术人员、技术战略分析人员和爱好者也有重要的参考价值,还可供高等院校云计算和并行计算的研究者和同学作为参考资料及教材使用。

    您必须学会的微软云开发技术

    介绍目前最火爆的云计算,深入剖析微软最新的云开发平台

    涵盖Windows Azure环境、存储服务、SQL Azure数据库与AppFabric服务平台

    Step by Step递进教学,初学者可按部就班地学习云应用的开发技术

    Windows Azure平台到底是给谁用的?

     程序开发人员

    所有的开发人员,不管是熟悉微软的.NET、Silverlight开发人员,对微软平台较不熟悉的Java、PHP开发人员,喜欢追求新技术的Python、Ruby狂热者,或是HTML、JavaScript、Flash的网页设计者,Windows Azure平台都提供完整的支持。我常常被人问到:“Windows Azure平台底层是使用那一个操作系统?”这个问题不难回答,“当然是使用Windows Server 2008 64位版。”不只是因为这是微软自家的产品,还是世界支持最多种程序语言的操作系统。但是这个问题本身没什么意义,因为用户根本不会感受到Windows的存在,所有的管理都是自动化的,完全不会有登录维护的机会。写程序的开发人员,也几乎不用修改原有程序代码,也不用强迫熟悉Visual Studio的人,改用新的、不熟悉的开发工具,只要继续使用原来的工具,将I/O路径(数据库与文件系统)改到正确的设置即可。

     不想管机器的IT主管

    现代的IT企业越来越重视企业价值的创造,而非拥有多少的IT资产。IT设备曾被当成资产来管理,但却是折旧最快的资产,别说设备本身在会计上的折旧,同样等级的新机器总是会比不久前才买进来的机器便宜。每年大笔的硬设备采购,总是为了预估来年的需求,但是假如真的结算一下,设备的利用率常常不足25%,还要找一堆员工24小时看管这些随时可能出现故障的机器。如果既想要兼顾企业价值的创造与成本的支出,又不想每天面对难搞的系统工程师,Windows Azure平台是唯一的选择。

     所有的因特网公司

    Windows Azure平台不需要投资闲置或备份的设备、带宽,只有当客户真正上门才会有费用发生,当客户一下子来太多,也不用担心设备不足,Windows Azure平台可以在很短的时间内提供大量的机器及足够的带宽;机器故障自动启用备份,数据存储同步多份备份。对于新成立的网络公司,不仅能节省人力开销,还能节省创业初期客户不多但设备过度投入的资金压力;即使成立已久的大型因特网公司,也可专注于解决客户的服务上,不用再花额外的时间处理设备与系统的异常问题。最近eBay才对外宣布将逐步把网

    站移至Windows Azure平台上来。

    Windows Azure平台对微软本身或是整个世界来说,是一个极度创新的产品,对外来讲,不管是技术上的创新或是商业模式上的领先,都是市场上独步的;对内来讲,除了整合既有的产品之外,经营方式则是截然不同于微软所熟悉的软件计价方式。我们很难用现在的经验去预估未来的发展,但是以目前的进度来看,这股趋势会超过任何的想法,且让我们拭目以待。

    周旺暾

    微软 开发工具暨平台推广处

    注:Windows Azure平台目前为Windows Azure、SQL Azure与AppFabric的集合。

    推荐序二

    三十多岁对一位工程师而言正是黄金时期,若在这个时候投入“吃不饱、饿不死”的写书行列,显然的,不是时间太多了些,就是对人生有着崇高的理想,无疑的小朱是后者,因为这对他宝贵的科技生命而言无疑是一种消耗,但明知如此他仍然愿意做出这样的牺牲奉献,真是一种令人佩服的行为。当然这对岌岌可危的计算机图书市场无疑是注入了一股新的生命力,这一点是我们不得不称赞他可嘉的精神,同时也要呼唤年轻人能够一起来效法他,大家一起来为知识界多尽一份力。

    话说回来,你能从这本书得到什么呢?

    答案是:“一份详尽的微软Windows Azure平台技术指南。”

    云计算的时代来临了,好像每一个人都必须弄懂云似的,但在此时此刻应该只能算是云的初始时期吧!在这段时期里,不只会有各式各样的云出现,就连只想弄清楚那些专有名词就够令人头大了,此时如果能够有一本详尽的文件来做说明;真是何其之珍贵啊!为了这一点,我写了一本专谈概念的微软云实战手册,而小朱却能化繁为简的实际将云的概念落实为技术指南,这是笔者感到十分值得称赞的一点,因此欣然答应为他写这篇序文。详尽地看完了本书的电子文件,第一时间的感觉是:还真是在阅读教科书,如果你常常阅读小朱的Blog的话,老实跟你说,真是不太一样。本书展现了作者少见的中规中矩的写作风格,严谨的程度是在Blog上完全看不到的,叫人欣慰作者再一次脱胎换骨的成长,尤其是微软产品的沿革说明这部分,其中常常添加了作者个人的观察感想,可以看出他长期在微软公司协助进行翻译工作下的累积实力。读者可以感受到在这样的时代变迁下,一个作为科技龙头的公司,如何为下一代产品做规划及努力开发的过程。

    有一点要敬告读者的是,不要试着去背诵文章里的数据,那是作者给大家做参考用的,用来强调或阐述他的论点用的。本书的图标大部分是作者亲自加工过的产品(真是用功),而真正值得读者去熟读的是隐藏在每个图形下所描绘的概念,祝大家都能快乐的去学习吧!

    李智桦

    作者序

    云,这个虚无漂渺又捉摸不定的形体,远看时很美丽,但接近时又很难掌握,“云深不知处”正是笔者接触云这个新环境的真实写照。云计算(Cloud Computing)这个名词太新了,新到笔者都无法讲太多历史(其实是因为笔者还不够老),但也因为它这么新,让很多企业和开发人员都摸不着头绪,企业的信息人员或MIS部门会不会因为云计算的成熟而消失?现在似乎又言之过早,因为现在云计算的产业仍处于初始云(Initial Cloud)的阶段,不管是云本身,或是产业的配套和企业的接受度都还在适应和推广的时期,我们在不久的将来还会看到更多云的应用。

    也许,这正如研究Windows Azure的资深前辈Ruddy(李智桦)老师所言:“云的本质,就是它一直都在变化,令人无法捉摸”,位于云上的各种东西,不论是平台或是软件,可能今天是v1.0,明天就突然变成v2.0,过不久又新增了什么令人激赏的功能等。现在云计算的产业仍然在寻找产业的经营模式(Business Model)以及杀手型应用(Killer Applications),不论是云平台提供商还是云软件提供商,在这个混乱的局面中,大家都站在平等的高度上,谁能在云软件市场中脱颖而出,也许就是正在看着本书的您,或是您的团队。

    是的,笔者在编写本书时,即是针对云计算的入门者为目标读者,若您想要了解微软的云计算平台以及相关技术,或是评估微软的Windows Azure平台能力时,本书将会给您像是Windows Azure本身、平台的功能以及开发的方式等各式各样的信息,只要您肯动手做,您一定可以学到如何在Windows Azure上开发应用程序的知识和技术。笔者在Windows Azure仍在CTP阶段时就投入了研究,而本书是依照Windows Azure正式开放服务(General Availability)后所公开的数据进行编写的,所以数据与所描述的功能等绝对都是现在Windows Azure上找的到的,只有一个部分例外——平台细节(Platform Details)。不论是哪个云提供商,即便是Google,都不会愿意把自家数据中心或是云平台的细节公开出来(数据中心基本上不算细节,笔者说的细节是指平台内的详细架构与实现的细节),所以笔者在编写Windows Azure平台介绍的章节时,在平台结构的部分除了参照微软在Windows Azure SDK文件、MSDN Blogs、MSDN Magazines、PDC或是Tech.Ed等大型研讨会公开的相关信息以外,就是依所得的信息猜测它的平台架构,但基本上这些猜测都应该会有相当的准确度。

    云计算虽然变化快,但它的核心技术仍然是大家都接触过的,因此您不需要太过恐慌,云环境其实是很容易进入的。在云平台上会有很多新的API以及新的观念——尤其是分布式以及网络运算的概念的色彩——会比以前的Web应用程序更加的浓厚且强烈,若您对网络程序设计模型(Network Programming Model)概念不够熟的话,建议您搭配一本计算机网络以及网络程序设计的书籍作为参考比较好。另外,本书虽然是以云计算的入门者为目标读者,但笔者仍然希望读者可以有至少三个月以上的ASP.NET以及.NET Framework开发经验,或是大学期间使用过ASP.NET或.NET平台开发应用程序。对它有

    基本的了解,在看书中的范例程序时才会有感觉,也才不会看不懂。若您是程序设计的初学者,那么笔者建议您要搭配一本ASP.NET的入门书来参考为宜。

    本书虽然经过多次的校对,但难免会有疏漏或错误之处,若您发现错误或有任何宝贵的意见,或是想要与笔者讨论的话,欢迎到笔者的博客或是噗浪来和笔者取得联系。期望本书能在您进入微软的云平台之际助您一臂之力。

    致谢

    本书的完成,首先要感谢的就是微软的开发平台推广经理Moli(王森)了,如果没有他的协助,我无法在Windows Azure尚未对外开放服务时就得到许多重要的技术信息,很多Windows Azure平台的问题都经由他来得到解答。

    再来要感谢的,就是研究Windows Azure平台与技术上最资深的Ruddy老师了,他的云课程、云概念的分享,以及数次的面对面讨论,对我在编写本书时的一些基本概念有相当的帮助,本书的SQL Azure章节也是由Ruddy老师帮忙提供意见而编写而成的,非常感谢他。

    本书的第11章内关于PHP on Windows Azure的内容,有一部分的文章是由笔者的好友邱荣山兄所编写,我由他的文章内容得到了很多Windows Azure工具命令行命令以及手动部署的知识,在此也特别感谢他,也藉此恭喜他考上铁饭碗。

    本书的催生者,碁峰资讯的编辑Novia也给我很多的协助,不论是排版稿、程序代码字体的处理或是写作的一些提示等等,笔者曾经在Visual Studio 2010上市发表会台北场上和她开玩笑说可能本书会写不完,如今她可以放下这块心中的大石头了。在此也对她致上万分感谢之意。

    笔者在此还要感谢在本书完成时,帮我票选出书名的所有在噗浪河道上的好友,包含Jesse Lin、邱郁惠老师、Bill茂伯、云淡风轻、Askasu、星寂、大钧、灰狗小组、Bauann、Alex Lee、以及其他同样出现在该噗中的所有提出意见的噗友们,谢谢你们。

    最后,笔者将本书献给我的家人以及工作伙伴们,如果没有他们,我无法专心全力的编写本书,也无法让本书顺利的付梓,感谢家人们的付出与支持,以及工作伙伴的体谅与协助。

    朱明中(小朱)谨识

    2010/8/14

    于高雄

    本书导读

    本书系专为微软Windows Azure云计算平台而编写,对许多微软的开发人员来说,云计算与Windows Azure应该还算是很新的名词。笔者在编写本书时,就考虑初学者的部分,因此范例程序都是以step-by-step的方式来呈现,只要按照步骤来做就可以完成,当然,您也可以在范例光盘中找到各章节的范例程序。

    本书是以中文为主,但附图以及文字中可能会有少许的英文术语,笔者认为这些英文术语或是英文的表达对开发人员很重要,毕竟翻译出来的语法可能会有失真或是意思有些许偏移等等问题,因此多接触英文,并且习惯这些文法,会对您在阅读英文的技术文档时有很大的帮助。在云计算仍处于初始云阶段以及Windows Azure仍在进化的时期,英文的技术文档会比中文的更新得快,本书很多的信息也是来自这些英文的技术文档,可见具有阅读英文技术文档的能力有多么重要。

    本书共有12个章节:

     第1章 云计算概论:介绍目前最热门的云计算,包括来源、定义、各类型的不同服务,以及企业对云计算的考虑、评估与思考方向。

     第2章 云计算技术概观:介绍云计算内的五项关键技术,包括虚拟化、海量级分布式存储、海量级分布式处理、中控系统与多租户技术等五项。

     第3章 初探Windows Azure:介绍微软的Windows Azure,由底层的数据中心与整体基础设施服务,向上到应用程序开发平台以及软件开发的支持与工具等。

     第4章 Windows Azure应用程序开发基础:以两个很简单的应用程序范例,说明使用Visual Studio 2010开发云应用程序的方法,诊断功能的使用,以及部署云应用程序等,本章将会为读者奠定开发Windows Azure云应用程序项目的基本能力。若您先前都没有开发过Windows Azure云应用程序的话,您一定要完整读完本章,以熟悉基本的开发概念以及做法。

     第5章 Windows Azure应用程序开发:Table存储服务:介绍Windows Azure平台存储服务的第一项服务——表服务(Table Storage Services),并以一个范例程序来介绍表服务的开发方法。

     第6章 Windows Azure应用程序开发:BLOB存储服务:介绍Windows Azure平台存储服务的第二项服务——BLOB服务(BLOB Storage Services),包含Block BLOB、Shared Access Signatures权限管理功能,以及Windows Azure Drive技术等。

     第7章 Windows Azure应用程序开发:Queue存储服务与应用程序间通信:介绍Windows Azure平台存储服务的第三项服务—队列服务(Queue Storage Services),并且介绍在Windows Azure上如何实现应用程序与角色间通信(inter-role communication)的能力。

     第8章 云上的关系型数据库:SQL Azure:完整地介绍Windows Azure平台上的关系型数据库服务SQL Azure,由架构面、实现面到安全性等功能。若您对SQL Server不够了解的话,建议配合一本SQL Server专著来阅读为宜。

     第9章 云上的访问控制技术:AppFabric Access Control:介绍Windows Azure AppFabric的账户集中管理功能,包含基本的用法以及管理服务。

     第10章 云服务的集散中心:AppFabric Service Bus:介绍Windows Azure AppFabric的应用程序服务总线功能,包含标准做法、REST服务开发、多点传送应用程序开发、信息总线开发等等,最后再说明如何将服务应用程序部署到云。

     第11章 Windows Azure与其他平台的互操作性:介绍以Eclipse以及PHP开发Windows Azure平台的应用程序,以及微软在非.NET技术上所提供的Windows Azure云应用程序开发支持。

     第12章 云计算与Windows Azure安全性:概略说明在云计算领域中会涉及以及必须要考虑的安全性问题,以及微软在Windows Azure上所做的安全方面的努力。

    本书的范例程序均以C#程序语言完成,对VB.NET的读者来说可能就要说声抱歉,但目前在网络上有C#和VB.NET的语法互转功能,且Windows Azure SDK内的Managed Assemblies(托管组件)对C#和VB.NET都通用,所以概念和做法基本上是相同的,唯一的差别只有程序语言的不同而已。

    本书虽然已经尽可能在文字以及范例程序上力求简单易懂,但是鉴于本书并非针对C#或是ASP.NET的初学用书,因此读者最好是拥有使用C#程序语言的基础知识或编写经验,以及ASP.NET的基础知识,如此在阅读本书的ASP.NET范例程序时会比较容易进入状况。此外,本书第9章与第10章的Windows Azure AppFabric部分,如果缺乏网络应用程序设计经验,以及WCF的用户体验的话,建议配合WCF的专著一起学习为宜。

    最后,笔者仍然要强调一件事:“程序是用来写的,不是用来看的”。学习Windows Azure云应用程序的开发,最快捷的方式就是大量地使用Windows Azure提供的API与服务编写应用程序,写的越多,越能掌握API以及服务的特性与限制,也才会拥有充份的云应用程序开发经验。

    范例程序代码与必要工具

    本书所附赠的光盘中,内含Visual Studio 2010 Express中文版、本书的范例程序代码,以及在2010年8月时微软所提供的Windows Azure SDK和工具:

     Windows Azure Tools for Visual Studio 1.2,含汉化版。

     Windows Azure SDK June Update。

     Windows Azure AppFabric SDK July Update。

    随着Windows Azure新功能的开放,Windows Azure Tools以及SDK可能会有变化,笔者会在博客中提供SDK和工具的更新信息,读者可以由Windows Azure的官方网站或是笔者的博客得到相关的更新信息。

    与作者联络

    若您对本书有任何指教或疑问想与作者交流,可以通过下列方式与作者取得联系:

     博客:http://www.dotblogs.com.tw/regionbbs

     电子邮件:regionbbs@gmail.com

     噗浪:http://www.plurk.com/regionbbs

     脸书:http://www.facebook.com/regionbbs

    推荐序一
    推荐序二
    作者序
    本书导读
    第1章 云计算概论 1
    1.1 云计算的定义 2
    1.2 云计算如何改变我们的生活 6
    1.3 搞懂“XaaS” 6
    1.4 云深不知处——企业或个人是否真的需要云计算 12
    1.5 结语 16
    第2章 云计算技术概观 17
    2.1 虚拟化技术 18
    2.2 海量分布式数据处理 22
    2.3 海量分布式计算 26
    2.4 自治管理与中控操作系统 28
    2.5 多租户技术 29
    2.6 结语 32
    第3章 初探Windows Azure 33
    3.1 微软的云战略:软件加服务 34
    3.2 Windows Azure 39
    3.3 Windows Azure云平台 51
    3.3.1 Windows Azure存储服务(Storage Services) 52
    3.3.2 服务管理(Service Management) 52
    3.3.3 诊断功能(Diagnostics) 54
    3.3.4 Windows Azure存储扩展功能 55
    3.3.5 应用程序服务器(Application Server) 56
    3.3.6 数据库 57
    3.4 软件与开发人员支持 57
    3.4.1 Visual Studio Tools for Windows Azure与.NET开发人员支持 57
    3.4.2 非.NET开发人员支持 62
    3.4.3 辅助工具 63
    3.5 注册Windows Azure账户 65
    3.6 结语 67
    第4章 Windows Azure应用程序开发基础 69
    4.1 准备开发环境 70
    4.2 Windows Azure模拟环境 72
    4.2.1 Development Storage 74
    4.2.2 Development Fabric 77
    4.3 编写第一个云Web角色应用程序 80
    4.4 编写第一个云后台工作角色应用程序 83
    4.5 设置诊断信息 87
    4.5.1 Windows Azure Diagnostics API(诊断API) 88
    4.5.2 Windows Azure诊断API工作原理 93
    4.6 将应用程序部署到云上 96
    4.6.1 设置Windows Azure部署功能 97
    4.6.2 由Visual Studio Tools for Windows Azure部署云应用程序 107
    4.6.3 传统部署法 111
    4.7 访问角色环境配置功能 114
    4.8 结语 116
    第5章 Windows Azure应用程序开发:Table存储服务 117
    5.1 认识表服务 118
    5.2 WCF Data Service简介 121
    5.3 开发表服务应用程序 126
    5.3.1 直接访问表服务的开发方法 129
    5.3.2 使用表数据模型方式开发 141
    5.4 表的自动化扩展:谈PartitionKey的用途 145
    5.5 表服务设计建议 146
    5.6 结语 148
    第6章 Windows Azure应用程序开发:BLOB存储服务 149
    6.1 认识BLOB存储服务 150
    6.2 BLOB存储服务结构 151
    6.2.1 容器 151
    6.2.2 BLOB对象 153
    6.2.3 访问控制设置 155
    6.3 开发BLOB存储服务应用程序 157
    6.4 管理BLOB存储服务的访问控制 172
    6.5 云上的磁盘驱动器:Windows Azure Drive 174
    6.6 善用Windows Azure发布大型内容 186
    6.7 结语 188
    第7章 Windows Azure应用程序开发:Queue存储服务与应用程序间通信 189
    7.1 认识Queue存储服务 190
    7.2 开发Queue存储服务应用程序 192
    7.3 云上的应用程序间通信 202
    7.3.1 使用Queue的应用程序间通信 203
    7.3.2 使用WCF的应用程序间通信 209
    7.4 结语 216
    第8章 云上的关系型数据库:SQL Azure 217
    8.1 云上的数据库考虑 218
    8.2 认识SQL Azure 220
    8.3 创建与连接SQL Azure数据库 227
    8.4 SQL Azure安全性 230
    8.4.1 防火墙管理 230
    8.4.2 用户账户与权限管理 231
    8.5 由应用程序访问SQL Azure数据库 235
    8.5.1 客户端访问基础概念 235
    8.5.2 测试准备 236
    8.5.3 由Console/Windows Forms/本地ASP.NET应用程序访问SQL Azure数据库 239
    8.5.4 由Windows Azure应用程序访问SQL Azure 241
    8.5.5 使用ADO.NET Entity Framework访问SQL Azure数据库 242
    8.5.6 数据库与应用程序设计考虑 245
    8.6 同步与迁移SQL Azure数据库 251
    8.7 SQL Azure OData Services 254
    8.8 结语 257
    第9章 云上的访问控制技术:AppFabric Access Control 259
    9.1 面向服务架构 260
    9.2 认识Windows Azure Platform AppFabric 262
    9.3 Windows Azure AppFabric访问控制应用程序设计 264
    9.4 AppFabric Access Control管理服务 274
    9.5 结语 284
    第10章 云服务的集散中心:AppFabric Service Bus 285
    10.1 AppFabric Service Bus基础概念 286
    10.2 AppFabric Service Bus服务应用程序开发概念 289
    10.3 AppFabric Service Bus的Service Remoting应用程序开发 292
    10.4 AppFabric Service Bus的REST服务开发 307
    10.5 AppFabric Service Bus的Multicast服务开发 312
    10.6 AppFabric Message Buffer:云上的信息缓存区 321
    10.6.1 认识Message Buffer 321
    10.6.2 Message Buffer应用程序开发 323
    10.6.3 使用Silverlight或Flash访问AppFabric Message Buffer时的注意事项 337
    10.7 将AppFabric Service Bus服务应用程序部署到云上的注意事项 338
    10.8 结语 340
    第11章 Windows Azure与其他平台的互操作性 341
    11.1 Windows Azure平台互操作性 342
    11.2 准备Eclipse开发平台 344
    11.3 开发PHP on Windows Azure应用程序 351
    11.3.1 使用Windows Azure Tools for Eclipse开发应用程序 351
    11.3.2 不使用Eclipse开发PHP on Windows Azure应用程序 354
    11.4 在Windows Azure上部署非.NET平台应用的辅助工具 360
    11.5 结语 361
    第12章 云计算与Windows Azure安全性 363
    12.1 乌云还是白云?谈云计算的安全性 364
    12.1.1 最顶层:云安全协定 366
    12.1.2 基础设施层次(IaaS Security) 367
    12.1.3 平台服务(PaaS Security) 370
    12.1.4 软件服务(SaaS Security) 372
    12.2 Windows Azure平台安全性 373
    12.3 结语 375
    附录A Windows Azure的收费模式 377
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册