夢想的搖籃 Microsoft Azure Website

Microsoft Azure Website  Demo /skilltree.my

夢想的搖籃

近幾年微軟全力推廣Microsoft Azure雲端平台,藉由Microsoft Azure易操作的介面且親民的定價讓所有開發人員可以將服務放置於Microsoft Azure,享受雲端服務的高可用性與擴展能力,Microsoft Azure提供的服務非常多元且全面,本篇將針對網頁開發人員最容易上手的Website服務來介紹。

筆者在很多研討會中都提到,雲端服務的隨選隨用[1]最重要的點是可以圓夢,以往完成一個點子要將服務上線時,只能選擇租用虛擬主機或是在自架伺服器,先不提這種作法的軟體授權問題,光是安全性就有很大的問題,但是放置在Microsoft Azure Website不但不需授權[2]且系統安全與維護的部分就直接由微軟負責,讓開發人員可以更專注於服務的主要功能上。

目前Website已經支援了自動擴展、持續整合、生產與測試環境切換等雲端服務的核心功能。且每個有效的Microsoft Azure帳號都可以免費部署10個Website站台。試想當一個新服務要上線,但還無法明確的判斷市場接受度時,要自架主機要一次買到多少等級的機器?要租用虛擬主機對於這種一年約的租期又該如何選擇?這時候就是使用Microsoft Azure Website最好的時機!一開始您可以選擇使用免費模式,當市場接受度變高後再擴展為更適合的模式,即使不幸市場接受度沒有成長,服務需要下線。那也只是把服務關掉即可,不會剩下一堆硬體或用不完的租期,所以筆者一再強調Microsoft Azure Website是夢想的搖籃,它可以讓開發者有更多做夢、圓夢的機會!並且每次的圓夢成本都將得到適當的控制,等不及了嗎?以下的篇幅將會介紹Microsoft Azure Website的重點功能。

Website的定位

Microsoft Azure的眾多服務中有兩項是直接與網頁有關係的,分別為「Cloud Service」和「Website」,兩個服務的定位不太相同,筆者在這裡很廣義的將這兩個服務區分為:

l   Cloud Service是需要享受雲端完整特性的唯一選擇,程式搬移至Cloud Service需要做適當的調整,適合大規模或是預期會快速成長的網站使用。

l   Website是快速進入雲端世界的手段,雲端的部分特性無法在Website中使用,但程式部署快速且需要做的修改較少,很適合小規模網站使用。

 

不過讀者無須擔心選擇Website後無法負荷將來網站的成長,因為您可以隨時將網站改使用Cloud Service服務,在雲端的環境中擴展是很自然且隨時在發生的。 

將網站服務部署至Website

新版的Visual Studio與Microsoft Azure整合得非常完美[3],您只需要幾個步驟:

  1. 在Visual Studio針對專案名稱按「滑鼠右鍵」選擇「發行」。

     
     

  2. 選取發行目標請選「Microsoft Azure 網站」

     
     

  3. 按下「新增」[4]

     

       4.  依據畫面提示及需求設定

 

l   站台名稱:必須為全球唯一(免費模式)。

l   區域:您可以選擇主要客群的所在地。

l   資料庫伺服器:如您的服務需要使用MSSQL請在此設定。

l   使用者名稱:這是指資料庫的使用者名稱。

l   資料庫密碼:這是指資料庫的密碼,請注意密碼複雜度原則。

    5. 按下發佈即可將網站部署至Microsoft Azure Website(免費模式)


   6. 發佈完成「輸出」視窗會顯示雲端網站的網址,點選後就可以訪問網站了。

 

利用以上這六個步驟,就可以將網站部署至Microsoft Azure Website,但請注意目前只是將網站存放於Microsoft Azure而已,並沒有完全發揮雲端的威力[5]但已經可以擁有持續整合與自動擴展的好處了。 

自動擴展

至截稿前Microsoft Azure Website提供了四種模式讓管理者選擇[6]

l   免費模式(Free)

n   每日165MB流量限制

n   無法調整執行個體數

n   無法自訂網域

l   共用模式(Shared)

n   每日免費165MB流量

n   可調整執行個體數最大為6個

l   基本模式(Basic)

n   每日免費165MB流量

n   可調整執行的CPU核心數與記憶體

n   同等於沒有自動擴展與負載平衡的標準模式

l   標準模式(Standard)

n   每日免費165MB流量

n   可調整執行的CPU核心數與記憶體

n   擁有自動擴展的能力

n   擁有全功能的獨立虛擬機器

 

在最新版的入口網站[7]中有很詳細的圖表顯示各種方案的功能與預估費用

 

 

讀者可以依據需求決定要使用哪種模式方案,利用前文新增的Microsoft Azure Website服務預設為免費模式,管理人員可以隨時切換Microsoft Azure Website服務的模式,進入Microsoft Azure入口網站https://manage.windowsazure.com 選擇「網站」→「網站名稱」→「調整規模」即可手動切換調整。

  

對於自動擴展的部分讀者可以參考以下連結中的影片,將有詳盡的情境介紹https://azure.microsoft.com/zh-tw/documentation/videos/auto-scaling-azure-web-sites/ (點選影片下方的CC可以選擇正體中文字幕)

 

 

持續整合

Microsoft Azure Website支援許多種部署方式,前文提到的就是利用Visual Studio的Web Deploy做部署,其他還有支援:

l   FTP

l   Git(Local or GitHub)

l   Visual Studio Online

l   Dropbox

l   Bitbucket

l   Codeplex

 

以上這幾種部署方式都可以將程式部署上Microsoft Azure Website,除了FTP以外都可以簡單完成持續部署的動作,但本節說的持續整合(Continuous integration, CI)是一種更好的概念,當開發團隊擁有版控、自動化建置、自動化測試、自動部署的主要系統後就可以完成持續整合,而Visual Studio Online服務就可以一次滿足整個CI的需求,並且可以選擇使用TFS或是Git作為版控。

持續部署整體設定步驟較多無法在此篇說明,以下提供兩個官方連結給有興趣的讀者參考:

  1. 使用 Visual Studio Online 連續傳遞至 Azure

  2. 從原始檔控制發佈至 Azure 網站(本範例是Git)
     

部署位置切換

此功能之前只有Cloud Service用戶才可以使用,現在Website[8]的用戶也可以享受這個超方便的好功能,這功能有什麼用呢?一般來說團隊中都會擁有測試機,但測試機與正式機的配置往往不一樣,只要擔任過開發人員的讀者應該都會遇到一模一樣的程式只有在正式機才會發生錯誤,測試機一切正常,這種測試機無法重現的問題往往都是開發人員的惡夢,現在利用部署位置切換的功能開發人員可以將程式部署到「預備環境[9]」當程式測試完畢後只需使用「切換」的功能就可以將預備環境轉換為正式環境。

 

 

如果真的不幸新部署的程式轉換為正式環境後發現了新的Bug,只需要再次「切換」將上一版本轉換為正式環境即可快速降版至沒有問題的版本,確保網站的正常運作,等待Bug修復後再重新部署。

 

Microsoft Azure Website部署位置切換的步驟請參考官方網站:Microsoft Azure 網站上的預備部署

結語

Microsoft Azure Website目前已經支援ASP.NET、Java、PHP、Node.js 或 Python等語言,讓開發者可以很輕鬆的將服務放置於Microsoft Azure Website,不但省去可觀的軟體授權費,也同時節省了人員維護費,讓個人工作室或是新創公司可以更專注於服務,以往筆者在推薦Microsoft Azure的時候經常會聽到業主說放置於坊間的虛擬主機費用非常便宜,但其實虛擬主機並沒有Microsoft Azure高可用性的保證也沒有隨時擴展的方便性,將服務放置於Microsoft Azure絕對是進可攻退可守的好選擇。就讓Microsoft Azure Website成為您夢想的搖籃吧。

 

資源

l   Microsoft Azure Website簡易說明

l   Microsoft Azure Website文件庫

l   Microsoft Bizspark新創火花計畫


[1] Microsoft Azure的收費方式類似水電費,屬於用多少付多少的形式。

[2] 放置於Microsoft Azure Website的服務不需作業系統的授權,租用MSSQL也無須另外支付授權費。

[3] 讀者必須擁有Microsoft Account並且開通Microsoft Azure服務,且安裝Azure SDK最新版。

[4] 如您尚未登入Microsoft Account,在此會要求您的登入。

[5] 網站放置於雲端多多少少需要調整程式,調整過後的程式架構才可符合雲端,Website可以簡單部署,但如程式架構沒有調整,那雲端的擴展就會受到程式架構而導致有所限制。

[6] Microsoft Azure改版週期非常迅速,隨時都有可能會開放新功能。

[7] 新版入口網站目前為預覽版。

[8] 目前Website加入新的部署位置功能尚屬於預覽版。

[9] 預備環境和正式環境會是相同的配置。