雲計算概況及第一個Azure程序


 08/04/2012 由於有不少人想嘗試Azure,咨詢注冊問題,更新Azure支持部分。

簡介

嘗試Agile的方式來寫博客。本文主要覆蓋以下兩個故事。故事一:作為一個沒有開發過雲計算平台的讀者,我希望通過閱讀本文可以了解雲計算的概況。故事二:作為沒有開發過Azure的讀者,我希望通過閱讀本文可以創建第一個Azure Web Role應用。

 

雲計算平台簡介

image

隨着移動設互聯網的進一步快速普及,雲計算在冷處理以后再度升溫。當初在我剛剛從事雲計算開發的時候,感覺Cloud是空中樓閣,雲里霧里。也沒有人跟我系統地講述雲計算,經過一段時間Azure的開發,並且對其他Cloud平台的了解,發現Cloud真的沒那么難以理解,如果你覺得對Cloud的認識還是雲里霧里,我希望這篇文章能幫你撥開雲霧見青天。

 

到底什么是雲計算

雲計算就是服務,使用雲計算平台就是購買服務。一起來看看雲計算平台分好多類,什么IaaS,PaaS,SaaS等等,最后一個S是什么,最后一個S代表Service。我們使用雲計算平台,就是購買服務,了解這個,就了解了雲計算的核心,也同時解開了很多選型上的問題,例如使用雲計算平台還是自己購買硬件來維護,就像上館子吃飯和家里弄私房菜的區別,各有千秋。

雲計算的分類

如上所述,雲計算平台分IaaS,PaaS,SaaS等等。他們的共同點就是通過服務,都像下館子吃飯,區別是你吃火鍋是自己動手,吃韓國烤肉服務員幫你烤,吃西餐是廚師做好拿出來,都是享受服務,但是享受程度有一點點區別,也沒有絕對的好與差,蘿卜白菜各有所好。

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

 

image

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訂閱用戶可以免費使用一年。

image

免費使用三個月。

image

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/下載,注意,如果版本更新了,請下載最新版本。對於其他語言,也可以在這里選擇下載。

image

 

新建和部署項目

 

下面演示如何創建和部署一個Web Role的項目,Web Role支持ASP.NET, MVC的項目,這里不講述如何創建Web項目了,與普通Web項目沒有任何區別。
安裝完Azure SDK,就可以創建Azure項目了,右鍵Solution,點擊新建項目
image
 
image
可以新增相應的Web Role,也可以加Worker Role,一個Role部署的時候對於一個或者多個instance,可以調整instance的處理能力。
 
要把Web項目部署到Azure,右擊Azure項目,選擇Public 

 

 

image

選擇你的azure帳號,如果沒有可以選擇Manage來新增帳號。

image

在Manage中選擇New來新增帳號。

image

選擇或者新增一個證書,第一次一般選擇Create

image

這個證書也是可以通過命令行來生成的,步驟如下:

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

然后填到下面的第三個欄目里面。

image

填寫完畢,點擊OK。

image

點擊Next

image

然后填寫一個名稱,選擇地區,如果在中國可以選擇東亞,會host在香港。然后點擊OK。

image

點擊Next,如果想登錄到虛擬機,需要選擇“Enable Remote Desktop”

image

點擊Publish就可以部署了。

image

回答Azure Management Portal查看狀態,如果狀態變成Ready,就完成了,這樣就可以訪問Azure的Web Role了。

image

通過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一般是北京的人回復的。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM