[漫步云端,Azure Services Platform]第二回:第一個云Hello,Cloud!
1 引言
在上篇《第一回:認識Azure Services Platform》一文中,我帶著TechEd的興奮之情將Azure Service做了一個概要性的介紹,因為沒有申請到Invitation Token,所以只能掩飾饑渴的沖動,把完成第一個云端應用的重任留到了第二回。就是歷史上所有講述編程語言的著作以Hello,world開篇一樣,本文也不例外的從Hello,Cloud!這一傳統開始,實現一個運行在云端服務的Web應用。讓我們品嘗一下,漫步云端的快感吧:-)
2 必要的準備
實現一個簡單的云端應用,如果沒有數據庫服務支持或者其他服務支持,我們仍然需要一些必要的準備,對于Azure應用而言以下鋪墊是必不可少的:
- 注冊有效的Azure Services賬號,詳情可以訪問這里。
- 申請Invitation Token,以便可以訪問Azure Services Developer Portal中的相關服務,例如Windows Azure,Live Service,.NET Services等。
- 安裝Azure Service SDK等必要支持,一遍可以使用我們熟悉的Visual Studio 2008來開發Cloud Application。詳細的說明請參考《第一回:認識Azure Services Platform》中的闡述。
注意:因為當前仍處于CTP版,所以Resource Token并不能簡單獲取,大家耐心等等:-)
好了,萬事具備只欠東風,我們開始Step By Step式的構建我們的Hello,Cloud。在下文的實現過程中,我們假設你已經完成上述所有步驟的準備,成功申請了Invitation Token,成功安裝了相關的SDK和工具支持。如果還有疑問,可參考《第一回:認識Azure Services Platform》的詳細分析,或者留言討論:-)
3 實現我的Hello,Cloud!
Step1,使用Visual Studio 2008創建新的應用,我們新建一個Project,在項目模板中選擇“Cloud Service”—>”Web Cloud Service”:
在該項目模板中,我們還可以選擇例如“Web And Worker Cloud Service”、“Worker Cloud Service”、“Cloud WorkFlow”項目模板,我們將在以后的系列中逐步了解相應的內容,敬請期待。
Step2,創建項目之后,Visual Studio將自動生成兩個項目:Anytao.AzureServices.HelloCloud和Anytao.AzureServices.HelloCloud_WebRole
其中Anytao.AzureServices.HelloCloud_WebRole是一個普通的ASP .NET Web項目,而另一個Anytao.AzureServices.HelloCloud則是一個Web Cloud Service項目,其中包含了Roles文件夾中包含了我們將發布的Web項目程序集Anytao.AzureServices.HelloCloud_WebRole.dll,而ServiceConfiguration.cscfg文件描述了部署的相關配置信息:
<?xml version="1.0"?> <ServiceConfiguration serviceName="Anytao.AzureServices.HelloCloud" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> <Role name="WebRole"> <Instances count="1"/> <ConfigurationSettings> </ConfigurationSettings> </Role> </ServiceConfiguration>
而ServiceDefinition.csdef描述了InputEndpoints,LocalStorage等配置映射信息:
<?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="Anytao.AzureServices.HelloCloud" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="WebRole"> <InputEndpoints> <!-- Must use port 80 for http and port 443 for https when running in the cloud --> <InputEndpoint name="HttpIn" protocol="http" port="80" /> </InputEndpoints> </WebRole> </ServiceDefinition>
我們無需關注更多文件的結構信息,接著我們的Hello,Cloud實現。
Step3,完成Web項目Anytao.AzureServices.HelloCloud_WebRole,在Default頁面中實現簡單的輸出Hello,World!,此過程完全等同于在傳統ASP .NET Web Application中創建一個Html輸出一樣,當然你也可以添加一個Button并實現一個簡單的事件,編譯運行將打開Azure模擬器來托管本地應用,而不是Web服務器。
Step4,在Cloud項目上右鍵選擇“Publis…”,將登陸Azure Services Developer Portal準備部署應用,同時打開編輯生成的Publish本地文件夾,其中包含了Anytao.AzureServices.HelloCloud程序包和ServiceConfiguration配置文件,用于在后續步驟中發布Cloud應用。
Step5,登陸打開的Azure Services Developer Portal,點擊“New Project”,創建新的Azure Services項目,在Service組件面板中選擇“Windows Azure”下的“Hosted Services”選項:
在隨后的創建向導步驟中,將包括
- 同意Team of Use條款
- 輸入項目屬性(也就是創建項目便簽和描述信息)
- 選擇輸入Hosted Services名稱,同時必須保證選擇名稱的唯一性。該Name也將隨后用于發布你的Cloud應用時的訪問域名,例如輸入anytao作為該名稱,將通過http://anytao.cloudapp.net/訪問我的Hello,Cloud應用了。
Step6,導入程序包和配置文件。選擇“Staging”的“Deploying”按鈕,打開部署對話框,分別選擇本地Publish文件中的Anytao.AzureServices.HelloCloud程序包和ServiceConfiguration配置文件:
選擇正確的程序包和配置文件,輸入部署信息,點擊“Deploy”,程序包和配置文件將上傳到我們仰慕已經的云端服務器,至此我們第一個云端應用將成功上傳到神奇而浩瀚的云中,僅有一步之遙我們就可以實現第一個Hello,Cloud!應用了。
部署之后,我們可以選擇配置來重新導入或者修改配置信息,可以選擇啟動或者刪除執行相應的其他操作。
Step7,將部署的應用轉化為Producation,并選擇啟動,至此完成整個Hello,Cloud的創建和部署。我們可以休息休息,然后品味自己的第一個云端杰作。開始吧:
你看,是不是很酷。
Step8,幸福一下,準備下一篇《深入Hello,Cloud細節》,開始未來的旅程。上茶:-)
4 總結
另外,因為Hello,Cloud最終將托管于Cloud中,所以傳統意義上的一些編程方式將發生變化,例如對于路徑的獲取將不同于我們傳統意義在服務器路徑上的操作方式,所以Server.MapPath獲取方式必然失效,那么我們在系列的后續中逐漸來分享Cloud應用中的差異和特性。本文,僅僅是個開始。
現在,我們可以大聲的歡呼:Hello,Cloud!云計算時代,果然是來了。還等什么,趕快試試吧:-)