Hello Windows Azure--雲端版本

來源:互聯網
上載者:User
因為應用非常的簡單,其實主要就是根據Jim Nakashima的文章Deploying a Service on Windows Azure,對整個Windows Azure Service的部署進行一個實踐和演練。

你可以將這篇Blog作為Jim Nakashima文章的中文版或圖形版,我會貼更多的圖。

根據Jim Nakashima文章的規劃,整個從開發階段到部署到雲端運行會分為三個階段:

第一:完成一個開發環境中完整應用,開發,測試和運行完成。

第二:如果應用涉及到雲端的Windows Azure存儲,那麼這個階段可以將開發環境的應用配置以雲端的資料庫帳號,進行測試確保資料訪問這部分功能完整,另外由於Windows Azure存儲是比較分割和獨立的, 基本以一個唯一的標示代表一種資料存儲的能力,所以需要另外一個使用者標示或訪問的帳號,這個標示需要配置在設定檔中,而設定檔也需要上傳到Windows Azure監管中心上,所以這個階段,可以理解為Windows Azure存儲相關的測試、配置和部署準備。 因為我的這個應用沒有使用任何的Windows Azure存儲,所以可以不考慮這一步。

第三:則是將應用部署到雲端的Windows Azure運行環境中。 所以這篇文章的著重在第三階段,即如何將一個應用部署到Windows Azure運行環境中,並且將其運行起來。 正如下圖示明的Jim Nakashima給出的部署步驟圖示。

搞清楚了之後,就可以開始進行了各項工作了

首先,需要訪問Windows Azure的監管中心,創建專案,在Windows Azure的運行環境中創建你的應用標示,然後進行應用的上傳和配置。

訪問:HTTP://go.microsoft.com/fwlink/?LinkID=128009

轉化後可能是下面的位址,之後輸入你的Windows Azure帳號和密碼。

HTTPs://lx.azure.microsoft.com/Cloud/Provisioning/Templates.aspx

選擇New Project選項。

由於Windows Azure的運行環境是共用的託管運行環境,所以Project Label你可以想像成一個應用標示,之後你會發現其實它未來也可以會作為一個二級的功能變數名稱(雲服務名稱)標示,而對於Windows Azure的運行環境本身而言,這個應用會有一個唯一的代碼和你的Project Label/應用標示進行對應。

之後Windows Azure監管中心會讓你選擇一個服務名,如果你的服務名和Project Label剛好一樣,這個服務名作為一個次層網域的訪問資源,它需要在整個Windows Azure的運行環境唯一, 如果已經存在那麼Windows Azure監管中心會提示你,讓你重新設定一個

設定了Project Label和服務名之後,意味著你可以進行到下一步,應用上傳和設定階段。 此時它需要你將你的應用上傳到Windows Azure的雲端和託管環境中,Windows Azure會來決定部署到那台伺服器上面。 而且Windows Azure非常好的是,它在部署的過程中又進行了精細化管理,明顯的將其分為了另外兩個階段,雲端的部署測試階段,和雲端的運行階段。

當專案完成之後,Windows Azure管理平臺進入到上傳部署階段,首先你會進入到雲端的部署測試階段(Staging), 你會看到下圖,雲端的運行階段(Production) 什麼都沒有,雲端的部署測試階段等待應用上傳。

不過你會說,我上傳什麼應用啊,是將我的aspx還是C#代碼上傳上去嗎? 這裡還有一個應用打包的過程。 這個是通過Windows Azure SDK提供的工具來完成的。 也就是說Windows Azure不接受aspx還是C#代碼檔,你需要用SDK中的cspack.exe來打包你的應用。 當然如果你使用先進而強大的Visual Studio 2008,那麼你可以通過圖形化的方式來完成這個打包的過程。 具體步驟如下:

首先你從上圖,可以看到Windows Azure運行環境給你分配的應用標示—Application ID,你複製下這個ID和標示,然後到Visual Studio 2008選中專案選項,設置這個代碼,如下圖:

然後保存專案,重新編譯專案。

然後在Visual Studio 2008中選中你的專案,並右鍵選擇發佈(Publish.....) 如下圖

如果順利完成,其實一般這步都會十分順利的,你會發現Visual Studio 2008自動打開發布的目錄,甚至會啟動IE,訪問下面這個位址:HTTP://go.microsoft.com/fwlink/? LinkID=127998&AppID=0000000040007F1A

而0000000040007F1A正是你的應用標示。 我的開發環境在一個虛擬機器環境中,所以我會複製出發布目錄中的檔,因為專案比較小,打包的檔和設定檔都比較小。

令人有些奇怪的是,我的專案是Hello,但是最後的發佈目錄似乎在C:myProjectHelloHelloHellobinDebugPublish 目錄中。

這下你會發現Visual Studio 2008已經幫你將應用打包好了,其實你需要感謝Windows Azure Tools for Microsoft Visual Studio,因為工作是它調用Windows Azure SDK的cspack.exe完成的。

有了打包的應用,你可以部署了,按一下 Deploy...... 按鍵

之後就比較完美了,根據下面這幅圖的要求,你基本上是按圖填空,很簡單了。

填空完畢,然後按Deploy按鍵。

之後你會發現下面的這個提示和警告,因為目前的Windows Azure運行環境對應用運行的實例有限制,基本上Web Role最大兩個實例,後臺的WorkRole也是兩個(Note: The current constraint for the number of instances you can run on Windows Azure as part of the CTP is a maximum of 2 Web Role instances and 2 Wor ker Role instances.),不知道未來是否會增加還是超過的部分就要收費了。

這裡可以囉嗦一下,其實這裡面的技術含量還是挺高的,這意味著Windows Azure運行環境會幫你完成實例的生命週期管理,也就意味著可用性的提高,最大兩個,技術上要麼會有四個(一對一互備)或三個(N+1方式容災) 。 而且你之前設置的次層網域和這兩個實例的可靠性,Windows Azure運行環境都會管理起來。

之後你只需要修改一下ServiceConfiguration.cscfg 檔即可—如下圖,這個不用重新封包或發佈一次,而且我相信,你知道這個故事之後,以後會在發佈之前,先修改一下這個設定檔。

然後你需要准照下面的圖示,去喝杯茶或稍稍等候一下,此時Windows Azure運行環境正在為你尋找合適的伺服器進行程式化和自動化的部署。

如果順利,你會迎來勝利的曙光, 出現下面的圖示:

這表示你已完成了雲端的部署測試階段(Staging),此時你的應用已經成功地上傳並且配置成功,Windows Azure運行環境已經完成了相關資源的查找,分配和配置,你可以在部署測試環境啟動它,-- 如果成功表示它降落和被託管在一塊雲朵上了,並且被照顧的很好,而且也可以被運行了。 運行成功,表示你的應用功能都正常了,唯一的差別是,這個應用還不能」出街見人」 –即外界不可見狀態,也可以理解為還沒有和相關的功能變數名稱進行綁定。

此時你還可以進行配置的查看,再修改一些參數等等。。。。。

如果沒有什麼問題或需要配置的,你可以啟動這個應用了。 啟動成功後,如下圖:

之後你點擊中間的藍色按鈕(提升[Promote]到生產狀態),即進入到雲端的運行階段。 如下圖:

(其實你會發現Promote會是一個非常好的功能,未來它也能讓你轉換到部署測試階段(Staging))

你也會發現Windows Azure運行環境已經將你服務的訪問位址開通,應用有了訪問的功能變數名稱。 比如我的這個叫:HTTP://ccboyhello.cloudapp.net

可以通過瀏覽器直接存取這個位址,你會發現下面的結果。 呵呵,很好玩啊

Windows Azure有一個應用超市-Windows Azure Gallery,這樣你可以登記你的服務,同樣你也可以去裡面找找,看看是否有我的這個,或是你喜歡的Windows Azure應用。

雲端的感覺還是不錯的,我喜歡Windows Azure,希望你也一樣。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.