云计算概况及第一个Azure程序
?08/04/2012 由于有不少人想嘗試Azure,咨詢注冊問題,更新Azure支持部分。
簡介
嘗試Agile的方式來寫博客。本文主要覆蓋以下兩個故事。故事一:作為一個沒有開發過云計算平臺的讀者,我希望通過閱讀本文可以了解云計算的概況。故事二:作為沒有開發過Azure的讀者,我希望通過閱讀本文可以創建第一個Azure Web Role應用。
?
云計算平臺簡介
隨著移動設互聯網的進一步快速普及,云計算在冷處理以后再度升溫。當初在我剛剛從事云計算開發的時候,感覺Cloud是空中樓閣,云里霧里。也沒有人跟我系統地講述云計算,經過一段時間Azure的開發,并且對其他Cloud平臺的了解,發現Cloud真的沒那么難以理解,如果你覺得對Cloud的認識還是云里霧里,我希望這篇文章能幫你撥開云霧見青天。
?
到底什么是云計算
云計算就是服務,使用云計算平臺就是購買服務。一起來看看云計算平臺分好多類,什么IaaS,PaaS,SaaS等等,最后一個S是什么,最后一個S代表Service。我們使用云計算平臺,就是購買服務,了解這個,就了解了云計算的核心,也同時解開了很多選型上的問題,例如使用云計算平臺還是自己購買硬件來維護,就像上館子吃飯和家里弄私房菜的區別,各有千秋。
云計算的分類
如上所述,云計算平臺分IaaS,PaaS,SaaS等等。他們的共同點就是通過服務,都像下館子吃飯,區別是你吃火鍋是自己動手,吃韓國烤肉服務員幫你烤,吃西餐是廚師做好拿出來,都是享受服務,但是享受程度有一點點區別,也沒有絕對的好與差,蘿卜白菜各有所好。
從左到右,你管理的范疇越來越少,而靈活性越來越低。第一個不是云計算平臺,是傳統的自己管理模式。
IaaS
第二種叫做Infrastructure-as-a-Service (IaaS),基礎框架作為服務,云計算提供商只是管理網絡,物理存儲,服務器和虛擬化等部分。你可以在其基礎上選擇操作系統,例如Windows或者Linux,選擇中間件,運行時例如JVM,.NET等。IaaS最流行的平臺是Amazon的AWS。由于IaaS很靈活,因此好多其他PaaS和SaaS的平臺都是基于AWS。
PaaS
第三種叫做Platform-as-a-Service (PaaS),平臺作為服務,這個層次的云計算平臺可以自己選擇數據層,應用程序等等,當前云計算平臺大都是以這種形式提供的,例如微軟的Azure,谷歌的GAE,HeroKu,App Harbour等等,其實界線越來越迷糊,像Azure除了不支持選擇O/S(其實可以選擇Windows的不同版本),支持多種平臺,而且支持還VM mode,越來越像IaaS了。但是官方博客也說過他們不是IaaS。
?
Azure支持的語言與平臺
在各個PaaS的云計算平臺中,我覺得Azure是最靈活的,這也是我最喜歡使用Azure的原因,靈活性與管理難度達到很好的折中。
SaaS
Software-as-a-Service(SaaS)軟件作為服務,通常提供一些特殊的軟件服務,典型的是蘋果的iCloud,微軟的SkyDrive,一般客戶化程度不高。
?
為什么選擇Azure
平常工作上會用到AWS,Azure和Saleforce,但是用得最多是Azure,每次給客戶推薦的也是Azure,為什么我喜歡使用Azure,主要基于以下考慮:
1. 與.NET無縫結合,Azure可以無縫地支持.NET開發環境,例如Web項目,MVC項目等等,開發的項目不需要做任何修改就可以直接部署到Azure平臺上。
2. 支持Data Storage和SQL,Azure Windows自帶了Data Storage,其支持Table Storage,BLOB和Queue,也就是當前十分流行的NoSQL。同時也支持SQL Server,方便存放關系型數據。
3. 比其他PaaS好靈活,Azure除了不能選擇O/S以外,基本上什么都可以自己選擇,Azure支持多種語言,多種運行時,多種數據庫,還支持VM mode,可以自己安裝軟件。其他的PaaS遠遠沒有那么靈活,例如GAE雖然一直改進,但是與Azure相比限制性大很多。Azure還支持Cache,很多其他PaaS都沒不支持。
?
學習Azure有什么好處
1. PaaS的云計算平臺一般提供Web Role和Worker Role兩種角色,Web Role可以理解為一個Web服務器(例如IIS)上的一個網站,Worker Role可以理解為一個后臺任務。Azure都提供了這兩種角色,為Azure開發程序,也了解到其他平臺的開發模式。
2. 一般云計算平臺的管理模式與Azure類似,可以根據需求調整Role的數量,和處理能力,例如extra small,small,medium,large,extra large等等,這些東西學會了,其他平臺游刃有余。
3. Azure支持靈活的數據訪問,Table Storage,SQL等等,學習Azure可以同時了解NoSQL和關系數據庫的不同應用。
4. 可以免費嘗試,普通用戶可以免費使用三個月,MSDN訂閱用戶可以免費使用一年。
免費使用三個月。
MSDN訂閱用戶免費使用一年。鏈接http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits/
?
?
第一個Azure程序
注冊Azure帳號
要開發第一個Azure程序,其實可以使用本地模擬器,是完全不需要花錢的,但是我講述的是如果把程序部署到真正的Azure平臺上去。
首先要注冊一個Azure帳號,登錄https://www.windowsazure.com/en-us/pricing/free-trial/,需要Live ID,電話和信用卡。
微軟會發送一條短信給你確認,然后需要填寫信用卡信息,如果三個月以后不使用,可以Cancel的。
?
注意:如果只是測試,每次部署都選擇extra small的instance,然后每次用完都把instance刪掉,這樣就不會花錢了。
?
安裝Azure SDK
當前Azure SDK的版本是1.6,可以在這里http://www.windowsazure.com/en-us/develop/downloads/下載,注意,如果版本更新了,請下載最新版本。對于其他語言,也可以在這里選擇下載。
?
新建和部署項目
?
下面演示如何創建和部署一個Web Role的項目,Web Role支持ASP.NET, MVC的項目,這里不講述如何創建Web項目了,與普通Web項目沒有任何區別。安裝完Azure SDK,就可以創建Azure項目了,右鍵Solution,點擊新建項目?可以新增相應的Web Role,也可以加Worker Role,一個Role部署的時候對于一個或者多個instance,可以調整instance的處理能力。?要把Web項目部署到Azure,右擊Azure項目,選擇Public??
?選擇你的azure帳號,如果沒有可以選擇Manage來新增帳號。
在Manage中選擇New來新增帳號。
選擇或者新增一個證書,第一次一般選擇Create
這個證書也是可以通過命令行來生成的,步驟如下:
Open a Visual Studio Command Prompt as administrator from Start | All Programs | Microsoft Visual Studio 2010 | Visual Studio Tools | Visual Studio Command Prompt (2010) by right-clicking the Visual Studio 2010 Command Prompt shortcut and choosing Run as administrator.
makecert -r -pe -n "CN=AzureMgmt" -a sha1 -len 2048 -ss My "AzureMgmt.cer"?
然后登錄Azure Management Portal,找到訂閱的ID
然后填到下面的第三個欄目里面。
填寫完畢,點擊OK。
點擊Next
然后填寫一個名稱,選擇地區,如果在中國可以選擇東亞,會host在香港。然后點擊OK。
點擊Next,如果想登錄到虛擬機,需要選擇“Enable Remote Desktop”
點擊Publish就可以部署了。
回答Azure Management Portal查看狀態,如果狀態變成Ready,就完成了,這樣就可以訪問Azure的Web Role了。
通過DNS的地址來訪問。
?
第一個Azure程序就部署成功了。
?
國內做云計算的一些人
要關注云計算平臺,可以關注一些人,他們常常討論一些Azure等相關的事。首先我是自己,呵呵 @林永堅Jake 超級猛將:@老羊肖恩 WP達人:@納米咖啡? 美國Azure Team:@billliu_seattle 各大高手: @51Aspx海峰? @Azure官方論壇支持? @xgluxv,有錯漏,請搜索#Azure#
?
Azure支持
在多個云計算平臺中,Azure的服務支持算是比較好的,任務問題都可以提交一個服務單(Support Ticket),網址如下:https://www.windowsazure.com/en-us/support/contact/?
如下圖:?
如果是注冊問題,請選擇Billing support,然后選擇Other,如果是運行時的問題,可以選擇Windows Azure或者SQL Azure等等具體的問題。
?
可以選擇email服務支持,如果填寫電話,一般由印度人打電話進行服務,如果email一般是北京的人回復的。
?
?
?
總結
以上是生活随笔為你收集整理的云计算概况及第一个Azure程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超简洁git入门
- 下一篇: SQL SERVER 2008清理日志