近来,QQ群里不少朋友比较关注Windows Azure,然而又仿佛不知道怎么入手。怎么开始开发,部署这些是技术细节,相信难不倒大家,但是如何购买服务以及收费这些东西确实模模糊糊的。
这一方面是因为中文资料太少,Windows Azure的入口网站也比较模糊,很多人找不到,更重要的是微软还没有正式对大陆开放。
据说,曾经微软准备在大陆建一个数据中心,由于某些原因最后选择放在香港。
这里,分享一点点经验和教训,笔者曾经参与Windows Azure相关的产品开发,现在也正在从事Windows Azure相关的开发,希望对你进入Azure的世界有一点的帮助,也欢迎和我们一起交流。
QQ群:6183299
声明:本篇没有任何观点指引,没有建议大家使用Windows Azure的意思,本篇只是一个普通的教程,假设你对Windows Azure感兴趣的基础上的一点指引,如果你不感兴趣,请路过,我不想在这里讨论任何该不该使用的问题,这里只是讨论技术和学习交流。如果有技术问题可以留言,其他什么GFW的问题请不要留言,我也不感兴趣回答这样的问题!
怎样购买服务?
不对大陆开放Windows Azure服务,不意味着你不可以使用和学习Windows Azure,Windows Azure服务是基于网络的服务,别人能访问http://windows.azure.com,难道我就不能访问,至少这个网址没有被当做Facebook的。所以我们也可以使用。
服务购买地址:https://mocp.microsoftonline.com/site/default.aspx,也就是微软的Microsoft Online Service客户入口网站,这里你还可以购买其他服务。
如果你没有购买该服务或者没有登录过这里,进来首先会要求你选择使用服务的国家和地区,这里注意,请确保选择香港特别行政区,如果选择中国就不能购买到服务。很多朋友反映了这个情况,都说不能购买相关服务。如果你看不到这个页面,也没有关系,可如果你已经登录可以随时通过右上角的地区切换来切换到香港或其他提供该服务的地区:
点击继续,登录之后,选择服务选项就会看到以下界面,选择“Windows Azure平台”:
右边列出几个套餐,可以看到现在Azure的服务没有免费试用的,好像是在7月份之前还有一个学习的套餐,包含一定限额,我就是那时注册的。
这里建议个人初学者选择最后一个,它是按需收费,用多少就给多少,虽然这样没有折扣,但是学习用不了多少的,相比套餐还是适合商用的。
点击购买之后就是填一些个人资料,自己对照填,不贴图了,主要是要填一张信用卡或者Master,VISA之类的应该也行。
这一切完成之后应该就会给你相关的服务地址,如果没有给这里也给出几个地址:
用户Portal:http://windows.azure.com
第一次进去会需要建立第一个Service,如图我这里已经建了一个hielvis的服务,具体开发和使用后续可能会写一些文章,或者到我的群中讨论。
这样,你就可以准备使用Windows Azure服务了。
资费情况?
很多人对Azure有兴趣,但是很害怕去购买服务,害怕一个月会花很多钱。
这也很正常,主要是其费率计算比较复杂,而且不好计算实际使用量,而且早期资费表都是英文。导致很多朋友迟迟没有动手。
在主网站上都有资费介绍:http://www.azure.com,不过主网站是是英文,你可以看台湾的网站:
http://www.microsoft.com/taiwan/windowsazure/pricing/
截一段如下:
(此為北美地區參考價格)
- 運算 = $0.12 / 小時
- 儲存 = $0.15 / 以 GB 為單位的資料儲存量 / 月
- 儲存異動 = $0.01 / 10K
- 資料傳輸 = $0.10傳入 / $0.15 輸出 / GB - (亞洲地區:$0.30 傳入 / $0.45 輸出 / GB)
Windows Azure 服務等級協定
在運算方面,我們保證,當您將兩個或兩個以上的角色執行個體部署在不同的容錯和升級網域時,面向網際網路的角色至少將有 99.95% 的時間具備外部連線能力。在儲存方面,我們保證,在處理收到的格式正確的新增、更新、讀取和刪除要求時,我們至少可達 99.9% 的成功率。 更多有關服務等級協定的資訊。
計算 Windows Azure 使用量
- 運算時間按服務時數計算:只有在部署應用程式時才計算 Windows Azure 運算時數的費用。開發和測試應用程式時,開發人員可以移除未使用的運算執行個體來減少運算時數的計費。
- 以 GB 為單位的資料儲存量:儲存的費用是以一個月內,平均每日資料儲存量 (GB) 來計算。例如,假設使用者上傳 30GB 資料,並將其儲存於 Windows Azure 一天,則該名使用者的當月計費儲存量為 1 GB。假設同一名使用者上傳 30GB 資料,而且在整個計費週期之內,都將該資料儲存於 Windows Azure,則當月計費儲存量為 30GB。儲存另外也按新增、更新、讀取與刪除儲存資料等儲存異動來計算。每 10,000 (10k) 個異動要求將收取 $0.01 的費用 (此為北美地區參考價格)。
- 以 GB 為單位的資料傳輸 (傳入與輸出 Windows Azure 資料中心):資料傳輸是根據 30 天內,透過網際網路進出 Azure 服務的資料總量來計費。在資料中心內部的資料傳輸作業不計費。
- 異動交易作為應用程式要求計算。
我们计算一下,如果学习用,一个月1GB的数据(一般你用不完)才人民币1块钱左右,我相信你的资料传输你不会花你太多的钱,可以自己估算。
关键是那个运算,这个可是个大头,笔者曾在上面吃过亏,后面介绍。
一个最小配置的Role实例,每小时0.12美元,我们算下一天费用:0.12 * 24 * 6.6633=19.190304
一个月就是:19.190304 * 30=575.70912
我的妈呀,吓着了吧!傻眼了吧!不敢用了吧!
所以,Azure的服务费用关键在这里,这里的确是很贵,那有人说这么贵,还不如自己购买服务器之类的。
但是,Azure绝对有它的价值,我们以后再讨论。
当然还有SQL Azure的资费,AppFabric的资费,自己研究一下。
注意事项
看到上面的结果,有些人倒吸一口气,这不就是坑人吗?微软开印钞机了,哈哈
但是对于学习,我们不要担心,想想看这个计算结果是*24*30来的,我们不可能每时每刻都在用啊,算下来一个月你最多就是用几天,说不定加起来时间还不到一天,这样就只有几十块钱了,对于学习新技术来说,几十块钱还是没什么的。
这里的注意事项就是部署的WebRole或者WorkerRole,一旦测试完毕,马上删掉,下次在测试的时候重新部署,这样就没有那么大的开销。要知道,你的Role不删掉,微软就会为你开一台计算机,哪怕你没有干什么,可是它不知道啊,它认为你在使用,所以,记住这点就行了
关于这一点,笔者可是有血的教训,由于开始的时候英文没有看明白,我以为我那个套餐使用都是免费的,结果其实每个月只有20小时免费,结果我几个实例运行两个月,花了300多美元,截个图参考下,请君牢记,可以把这两种图打印出来挂在家里的墙上,哈哈
每一分钱的计算,微软都会给你个交代的:
Windows Azure学习资料
关于Windows Azure的学习资料,我想特别说明一下。对于Silverlight的学习,我一般推荐Silverlight的SDk,写的真是非常详尽,以至于任何Silverlight的书籍在它面前,都会显得逊色很多。
但是对于Azure,却不是这样。Azure的SDK偏向于底层REST API的说明。而一般初学者根本不会直接去呼叫API,都是通过客户端StorageClient等的方式去调用。但是学习Azure也有超好的资料,那就是http://www.microsoft.com/windowsazure/whitepapers/default.aspx上面的白皮书,这些白皮书写的非常好,而且分不同的部分描述Azure,看了之后会很清晰的理解Azure。而且这些文档都可以单独下载,相信我,这绝对是学习Azure最好的资料,就像Silverlight的SDK一样。不过上面比较多,我推荐初学者首先阅读的是:
Introducing the Windows Azure Platform
Overview of Microsoft SQL Azure
Getting Started with SQL Azure
Windows Azure Table – Programming Table Storage
Windows Azure Blob – Programming Blob Storage
Windows Azure Queue - Programming Queue Storage
之后,对Azure有大体了解再去看其他的。在列点其他资料:
微软云计算中文博客:http://blogs.msdn.com/b/azchina/
Windows Azure Sample: http://code.msdn.microsoft.com/windowsazuresamples
前面我们说是用Azure一般不会直接呼叫REST API。值得一提的是这里面包含一个非常好的例子,对于Windows Azure中存储服务的调用,微软有一个客户端StorageClient,其实里面做的事情就是帮你构造HTTP请求,然会对调用REST API得到的XML进行解析,反序列化成相应的类供使用。那么这里提供的一个例子差不多是StorageClient的开源,如果对HTTP底层的东西感兴趣,可以仔细研究下,笔者的项目目前正好用到这个。强烈推荐!
国外有几本英文教材,都是网上可以找到PDF下载的。
目前台湾的Ruddy Lee写有第一本中文Windows Azure的书《Windows Azure云端运算开发实战》,可惜没有在大陆出售,笔者手头有一本他送的书,可惜他出书的时候(今年7月份),我已经把SDK看差不多了,也没怎么看,有台湾的朋友可以代购。
这些只是一点指引,你在学习中也许还会发现很多,其实国外资料比较多了,关键是要习惯看英文。
本篇介绍开发前的准备事项,一点基础,希望对你有点帮助,有时间会写一点开发方面的资料,如果你感兴趣,欢迎和我们交流。
再看了一下,好像是还有试用的机会,自己去好好看一下: