[Windows Azure] Spring Release 新功能三部曲:Windows Azure Website 角色

以往 Windows Azure 上可執行應用程式的角色,只有 Web Role 和 Worker Role,這兩個角色都要由開發人員上傳應用程式套件到雲上,而且還要自行設定許多的組態 (ex: Database) 才能啟用,就算使用者只想要用簡單的方式來建置自己的網站,也還是要先學習 Visual Studio 和 Windows Azure 開發才行,似乎對一些只有簡單需求的使用者來說門檻有點過高了,而且微軟自己已經有了一個 Web Platform Installer,裡面有豐富的 Web Application Gallery,許多開放原始碼的現成套件都在裡面,使用者也許只需要用這樣的套件,而不是一定要自己親手開發。

以往 Windows Azure 上可執行應用程式的角色,只有 Web Role 和 Worker Role,這兩個角色都要由開發人員上傳應用程式套件到雲上,而且還要自行設定許多的組態 (ex: Database) 才能啟用,就算使用者只想要用簡單的方式來建置自己的網站,也還是要先學習 Visual Studio 和 Windows Azure 開發才行,似乎對一些只有簡單需求的使用者來說門檻有點過高了,而且微軟自己已經有了一個 Web Platform Installer,裡面有豐富的 Web Application Gallery,許多開放原始碼的現成套件都在裡面,使用者也許只需要用這樣的套件,而不是一定要自己親手開發。

微軟雖然沒有打算要搶各大 Hosting 廠商的市場,但是也聽到了這個需求,因此微軟將 Web Role 和 Web Platform Installer 平台做了整合,為了要讓使用者能直接取用 Web Application Gallery 的資源,微軟勢必要在 Web Role 內添加許多東西,例如要讓 WordPress/Drupal/Joomal 等套件執行的 PHP + MySQL 以及 Orchard CMS/DotNetNuke 所需的 .NET Framework + SQL Server,對後者而言相當簡單,因為那是微軟的本家技術,而前者就需要花點時間,所幸微軟在 PHP 耕耘已久,在整合 PHP 和 MySQL 到 Web Role 的工作沒有特別困難,這些努力最後成為這次 Spring Release 的重要亮點之一:Windows Azure Website Services

Website 角色最重要的特別是:

  • 同時支援 .NET Framework + SQL Database 以及 PHP + MySQL。
  • 支援重要的開放原始碼套件,像 WordPress, DotNetNuke, Drupal, Orchard CMS, Umbraco CMS 等。
  • 支援由 FTP, TFS 或 GitHub 發行。
  • 支援 Visual Studio, WebMatrix 等開發工具。

 

Website 角色目前是列 Preview Feature 之內,如果要使用它的話必須要在帳戶管理功能中申請試用,才能獲得存取權,和 Virtual Machines 一樣,申請大約一個小時內就能啟用。

當申請完成後,進入 Management Portal,就能看得到 Web Sites 這一項。

image

 

請按 “NEW”,我們也可以看到 Web Site 這一項,點它,可看到三個選擇:

  • Quick Create: 只需設定幾項資訊就能完成。
  • Create With Database: 建立角色時一併建立資料庫。
  • From Gallery: 由 Web Application Gallery 中選擇要建立的套件作為應用程式。

 

image

 

Quick Create 模式只需要填入 URL 前碼 (一律以 [prefix].azurewebsites.net 為標準 URL) 以及區域就能簡單生成:

image

 

Create with Database 模式則是可以允許使用者在建立 Website 角色時一併建立資料庫,資料庫可以是 SQL Database,也可以是 MySQL Database,MySQL 資料庫也像 SQL Database 一樣,但由精靈的畫面來看,MySQL 資料庫應該是由另一個供應商 ClearDB 提供的,而不是來自 Microsoft Datacenter。

image

image

 

From Gallery 則是由 Web Application Gallery 中的應用程式套件作為 Website 執行的應用程式之用,而這也是本文會用到的例子。

image

 

我們選擇 WordPress,然後按右下的 “->”按鈕,進入設定頁:

image

 

完成以後按右下的 “->”按鈕,進入設定 MySQL Database 的頁面:

image

 

設定完後按 “v” 的按鈕即可完成,Website 角色的建置速度其實還蠻快的:

image

 

進入 springreleasewordpress Website 角色後,可看到更多的控制資訊:

image

 

我們按 Site URL 即可進入後續設定:

image

 

這部份網路上的說明就很充份了,我就不多作介紹了。

當 Website 部署完成後,我們可以在 CONFIGURE 頁面中給予更多的設定,其中剛才建立的 MySQL 資料庫連線字串也可以在這個頁面看到:

image

 

我們也可以透過 SCALE 功能來設定做 VM 數量的擴充,不過目前 Website 角色固定使用 Small Instance Size,所以不能設定。另一個需要特別說明的是 Web Site Mode,預設是 Shared,表示與其他 VM 共用伺服器資源,Dedicated 則是使用專屬的 Server 資源,適用高流量的網站應用程式,只是這裡的設定會影響這個 Website 的計費方式

image

 

Website 角色是一個基於 Web Role 上的改良服務,它不但擁有類似 Hosting 的能力,而且它仍然保留了 Windows Azure 的 Scalable 能力,可允許使用者視需求擴充自己的 Website 角色數量,亦可選擇使用 Dedicated 模式以獲得更大的運算資源。

更重要的是,現在只要申請了 Windows Azure 90 天試用訂閱,可以立馬獲得下列 Website 角色資源一年的免費額度喔:

  • 10 個 Website 角色。
  • 每天 165MB 的輸出,無限的輸入流量。
  • 1GB 的儲存。
  • 20MB MySQL 資料庫。

 

Reference:

https://www.windowsazure.com/en-us/manage/services/web-sites/