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