写在前面的话
其实我从来没有想过有一天会自己写一本书。好吧,在初、高中的时候,我确实有过幻想写一本。不过现在看来,那时候想写的都是一些无病呻吟的散文,而万万没有想到会写一本和技术相关的说明文。如今我已经没有了当年写散文的雅兴,写杂文也没有那个水平,相比之下,只有基于几年在技术领域的摸爬滚打,写写这样的文字还算可能。
“云计算”可以说是IT业近年来最为火爆的名词。仿佛一夜之间,只要是服务器端用了两台以上的计算机,再加个负载均衡,最好还有个能让用户登录的页面,这样的公司就可以对外宣称提供了云计算平台。而直接造成的后果就是搞得像我这样的IT民工晕头转向,不清楚什么是云计算、怎么才算是云计算,以及云计算到底和自己有什么关系。而我,也在经历了一阵子彷徨后塌下心来,开始研究微软提供的Windows Azure平台。
选择Windows Azure的原因其实很简单,因为我这几年都是混迹在.NET阵营,所以在云计算方面几乎没有别的选择,只有Windows Azure距离最近,而且学习成本最低。但是当我一点一点地深入到Windows Azure平台的各个功能时逐渐发现,它并不像刚才提到的那些产品那样,把云计算完全当做一个宣传的噱头,而是实实在在地提供了很多的功能,让开发人员可以在它的基础上实现各种各样的应用。因此,我觉得有必要将自己的学习经历和体会写出来,告诉大家一个真实的云计算是什么样子的,作为开发人员如何使用云计算开发自己的应用,而不是仅仅把它当做一个忽悠客户的武器和标榜自己的名头。
正因为如此:
如果你希望看到很多云计算在商业上的成功案例和吸引人的成本分析,那么这本书可能会令你失望。虽然在书的第一部分我也竭尽所能地加入了一些这方面的内容,但是由于本书的重点并不在此,所以没有过多涉及。
如果你希望了解云计算平台底层的实现原理,比如如何实现分布式计算、分布式存储、虚拟化等,继而如何自己搭建一个云平台,那么这本书也会令你失望。这主要是由于我本人的水平问题,目前只能停留在使用层面,很难再深入到底层。
但是如果你希望知道Windows Azure平台都提供了哪些云计算的功能,应用程序如何使用这些功能,构建一个高可用、可伸缩、高性能的应用程序,这本书就应该能够满足你的需求。而且,为了能够减小书本介绍的内容和实际项目情况之间的差距,我试图通过一个贯穿全书的示例为你展示如何使用Windows Azure平台的每个功能。
这也正是为什么本书最终取名为《实战Windows Azure》。
不过由于Windows Azure平台结合了微软的很多技术,限于篇幅,对于书中所涉及的其他技术只能简单提出,所以也需要你对于诸如ASP.NET MVC、WCF等有一定的了解。希望这些不会影响你的阅读。
这本书从2010年年底筹备,2011年年初动笔到现在经过了将近8个月的写作。虽然其间借鉴了一些网上的介绍文字,但是书中的字字句句都是我一点一点敲出来的,其中所有的示例代码也是我一行一行写出来的。鉴于本人的能力和水平有限,只是为大家介绍了Windows Azure平台的功能和用法,谈不上什么经验智慧,更谈不上所谓的“最佳实践”。所以如果你在看完全书后能够说一句“这至少是一部用心写出来的书”,对我来说就是莫大的肯定和鼓励。如果你看到书中哪些内容有误或阐述不当,烦请告知,我将不胜感激。另外,由于Windows Azure平台本身的更新很频繁,所以如果你发现一些书中提到的操作与实际情况不符,或是有些代码无法正常运行,也请告知,我将尽量回复解答。
接下来,请让我表达对帮助过我的那些人的谢意。感谢我的领导曲春雨和张大磊。前者让我迈入了Windows Azure世界,而后者为我提供了充足的实践机会。感谢和我一起奋斗过的王涛、罗炳桥和李舒磊,能在技术和人生的道路上认识你们几个兄弟是我的福气。感谢博文视点的孙学瑛老师,你的肯定、帮助和鼓励让我受益匪浅。感谢养育我和教育我的父母。当然,最后要感谢的是我的老婆张坤,你的出现是我一生的最大幸运,没有你的支持我是不可能完成这本书的——即便更多的时间都在打击我的积极性。我永远爱你!
再回到当初写此书的动机,其实是源于我突然间感叹人生的短暂和时间的永恒。有一天我们都终将会离开这个世界,我们所有的知识、智慧、感悟都将会随之消失。但是如果能够留下些只言片语,虽然只是这样一本技术方面的入门书,虽然和那些不朽经典相比太不值得一提,但是它至少会一直留在这个世界上。可能会被保存在某个落满灰尘的硬盘中,或者在某个网站的备份数据库里。在管理员某次归档或检索的时候会看到,2011年,有一个叫做徐子岩的小子,自不量力地写了一本名叫《实战Windows Azure》的小册子。
阅读说明
限于篇幅所限,本书主要关注Windows Azure云计算平台的介绍,因此对于代码、实例中所涉及的相关技术并未做过多说明。为了能够让你快速、高效地阅读本书,希望你对于微软的如下技术已经有了一定的了解,包括:
· .NET Framework和基础类库
· Visual Studio 2010的使用
· ASP.NET MVC 2
· Windows Communication Foundation(WCF)
另外,本书所涉及的屏幕截图、操作、代码等主要基于Windows Azure平台2011年7月的版本,以及Windows Azure Tools for Visual Studio 1.3和Windows Azure SDK 1.4 April Update。部分内容使用了Windows Azure Tools for Visual Studio 1.4 August 2011。
技术支持
虽然作者、审稿和编辑花费大量的时间对书稿进行了反复的修改和推敲,但是限于时间和水平,仍难避免失误或错误。为了使本书能更好地服务于读者,请您通过以下方式与作者或者出版社联系。
· 技术支持中心:http://books.shaunxu.me/
· 博文视点:http://www.broadview.com.cn/
· 联系作者:
jfarrio@gmail.com(邮箱)
http://weibo.com/ziyanxu(微博)
http://blogs.shaunxu.me(博客)
· 策划编辑:http://weibo.com/sunnypub(微博)
我们将竭力解决所有的问题,并向你的指正致谢。同时,由于Windows Azure平台本身及其工具不断更新,因此在阅读中有可能出现书中的某些介绍与真实情况不符,此时你可以在技术支持中心查找相应的勘误和更新,也可以通过邮件、作者博客或微博进一步取得联系。同时,技术支持中心还提供了书中提到的所有代码和工具资源,这些信息是对全书内容的有效补充与最佳辅助。