[Windows Azure] Windows Azure SDK v1.5 announced

在 9/13-16 舉行的 BUILD WINDOWS (其實就是以前的 PDC 啦) 研討會中,除了眾所矚目的 Windows 8 和 Visual Studio "11" 以外,雲端當然也不會缺席,微軟在 9/14 的 Keynote 2 中發表了 Windows Azure SDK v1.5,並隨著新的 Visual Studio Tools for Windows Azure v1.5 一起發表,這次的 Windows Azure SDK v1.5 中,除了以往功能的小部份增強外,還多了幾個有意思的功能。

在 9/13-16 舉行的 BUILD WINDOWS (其實就是以前的 PDC 啦) 研討會中,除了眾所矚目的 Windows 8 和 Visual Studio "11" 以外,雲端當然也不會缺席,微軟在 9/14 的 Keynote 2 中發表了 Windows Azure SDK v1.5,並隨著新的 Visual Studio Tools for Windows Azure v1.5 一起發表,這次的 Windows Azure SDK v1.5 中,除了以往功能的小部份增強外,還多了幾個有意思的功能。

1. Cloud Application Profiling

以往我在講 Windows Azure 的課程時,很常被問到的一個問題是,我要怎麼知道目前在 Windows Azure 上運行的應用程式的執行狀況,以及所屬的 Compute Instance (VM) 的執行狀況,因為這些都會影響到是否要做 Scalable 的重要資訊,在 v1.4 以前,我們能用的大概只有 Diagnostics API,並透過啟用擷取 Performance Counter 計數的方式來做這件事,麻煩但可以達成,不過在 v1.5 中,微軟加入了一個 Profiling 的新功能,它可以讓開發人員直接在 Visual Studio 上觀察目前在 Windows Azure 上執行的 VM 的效能資訊,IT 人員也無須緊張,因為 System Center Operation Manager 2012 (SCOM 2012) 也將可直接監控與觀測 Windows Azure 上的 VM 的執行狀態。

image

而要啟用 Profiling 功能的話,必須要先安裝 Visual Studio Tools for Windows Azure v1.5,然後升級原有專案或新增新專案,準備好程式後就可以在 Cloud 的專案上按右鍵,選 "發行":

image

接著就會看到這個畫面 (和原本的發行對話盒不同),將 "Enable Profiling" 勾選起來,預設是使用 CPU Sampling,但你可以按 "Settings" 選擇你要的:

image

按下 "Settings" 後,會出現這個對話盒:

image

這四個選項的意義是:

1. CPU Sampling (CPU 取樣),監控 VM 的 CPU 的執行狀態。
2. Instrumentation (程式評核),監測程式中的函式呼叫與所需時間。
3. .NET Memory Allocation (Sampling) (.NET 記憶體配置取樣),監測 .NET 應用程式所使用的記憶體的狀態。
4. Concurrency (並行),監測執行緒的執行與等待狀態。

至於 Enable Tier Interaction Profiling 的功能,則是啟用對 ADO.NET 呼叫的 profiling 階層資訊的功能,可有可無 (若應用程式沒用到 ADO.NET 存取 SQL Azure,則不需 enable)。

在發行完成後,我們就可以直接在 Visual Studio 的 Server Explorer 中找到已經執行的 instance,按右鍵選擇 View Profiling Report 即可看到 Profiling 的資訊:

檢視來自 Windows Azure 的程式碼剖析報告

不過如果你的 Visual Studio 是 Express 或 Professional 版,這個功能無法使用,它只支援 Premium 與 Ultimate 版本的 Visual Studio...

2. 多重組態 (Multiple Configurations) - announced by v1.4

以往在 Windows Azure 應用程式開發中,服務組態檔 (Service Configuration File, .cscfg) 只能有一個,如果我們想要依我們的需求部署不同的環境時,都要手動去改變這個服務組態檔,對於有多種 Cloud Application 環境的開發人員來說十分不便,在這次的 v1.5 改版中,微軟在 Visual Studio Tools 中加入了多重組態檔管理的功能,在 Cloud 專案中按右鍵,可以看到除了發行功能外,還多了一個 "Manage Configurations" 的功能,按下它後可看到:

image

一開始時只有 Default,也就是專案範本的 Service Configuration 檔案,開發人員可用 Create Copy 來產生該檔的副本,而 Visual Studio 會將新的檔案命名為 ServiceConfiguration.[configuration_name].cscfg 檔案,並加入專案中:

image

而在編輯應用程式角色的組態時,可看到 Service Configuration 的選項,開發人員可選定想要修改的服務組態檔,然後做組態的修改,所有的修改會反應到所選擇的服務組態檔內:

image

而在部署的時候,我們可以直接在發行功能中,選擇要使用的服務組態檔即可:

image

3. ASP.NET MVC3 專案範本 - announced by v1.4, enhanced by v1.5

在 v1.3 前的版本,如果要部署 ASP.NET MVC3 應用程式的話,可能會撞不少牆,而在 v1.5 的版本內更新了專案範本,讓部署 ASP.NET MVC3 應用程式能夠更順暢,範本內的組件參考更能適配於 Windows Azure 的環境,而在範本內也加上了可適用於 SQL Azure 的 Universal Providers,讓 ASP.NET MVC3 應用程式在使用 ASP.NET Core Service 時會更方便。

image

4. 強化針對應用程式的雲端適配性驗證 - announced by v1.4

以往的雲端部署,基本上都是檢查有沒有足夠的組件以及封裝格式正不正確,但有一些開發人員常見的錯誤並沒有被檢查到,例如有使用 storage account 時,用了 local storage 而不是 cloud storage 的帳戶,以及要連線 SQL Azure 卻忘了改 SQL Server Express 的連線字串等等,而 Visual Studio 在發現封裝中有這類型的錯誤時,會取消部署並以警告訊息通知使用者:

image

更詳細的錯誤警告可參考:http://msdn.microsoft.com/zh-tw/library/hh369932.aspx

 

Reference: http://blogs.msdn.com/b/windowsazure/archive/2011/09/15/announcing-windows-azure-sdk-1-5-windows-azure-tools-for-microsoft-visual-studio-2010-and-new-service-management-features.aspx