2010-11-02 111 views
6

我希望有人能夠回答關於Windows Azure的一些簡要問題。我知道這有點懶,但覆蓋Azure的微軟網站似乎是針對半技術項目線索和充滿商業指標的 - 他們似乎沒有對「如何」做一個很好的簡要概述。我有一個ASP.NET Web應用程序需要一些工作來協助擴展(這裏有一些蜘蛛類型的進程和一個非常大的數據庫,它也使得許多外部Web服務的調用)。Windows Azure - 將.NET Web應用程序轉移到Azure

我的問題是:

  1. 從發展的角度來看 - 這是多麼容易到口從標準的IIS/SQL服務器類型的應用程序設置爲Azure上。是否涉及很多編碼。我已經開始了一個培訓視頻,您可以編寫「結構」等。將應用程序轉換爲Azure真的很實用嗎?

  2. 我聽說您可以在Azure中運行Windows Server 2008 R2實例 - 這是否意味着您不一定必須使用Azure特定的SDK進行編程,並且可以將您的iis/sql server設置爲azure並立即利用可擴展性的好處?

回答

6

您碰到幾個問題:培訓,移植,擴展和虛擬機管理。

培訓

你或許應該看看一些的介紹視頻MSDev。 「Windows Azure Fall 2010」系列是最新的。請注意,要在Azure中運行應用程序,您需要了解Azure結構和相關服務,如診斷和角色管理。

移植

你需要看你在做什麼超越核心asp.net,比如緩存,會話狀態管理,安全性,第三方的DLL,COM,註冊表訪問,並任何其他管理員級別的功能。今天,使用SDK 1.2,您將無法操作註冊表或運行MSI。我有一個related StackOverflow post關於你可能遇到挑戰的一些領域。關於SQL Azure:某些功能(如CLR支持)未實現,您將無法訪問某些系統級功能。關於差異的細節可以在SQL Azure site的白皮書中找到。

與PDC 2010引入的新功能,你應該能夠戰勝幾乎所有的這些問題:

  • 會話狀態可以在 AppFabric的緩存主辦。這將只是 配置更改爲您的 配置。該緩存將在所有已部署的網頁 實例中提供 ,允許您擴展。
  • 管理員級別的訪問可用於管理員模式。您將可以通過 運行MSI,並在角色實例啓動時修改註冊表等內容。

縮放

你需要在你的應用程序如何處理縮放密切關注。例如:如果所有服務器實例嘗試與同一資源同時工作,則可能會造成瓶頸,從而導致鎖定。常見的Azure模式是將工作項目放入持久的Azure隊列中,並使後臺工作人員角色實例異步使用這些工作項目。

今天,Azure不提供即用型會話狀態管理功能(例如,在SQL Server中存儲狀態)。但是,SQL Azure博客上有一個與SQL Azure配合使用的downloadable sample。如上所述,新的AppFabric Cache功能將提供會話狀態管理,因此您很快就會擁有一個開箱即用的解決方案。

虛擬機管理

VM角色在PDC公佈。實質上,這將使您能夠獲取本地構建的Windows Server 2008 R2映像,並將其移至Azure。您需要安裝允許Azure結構管理圖像的Azure擴展。

雖然有一個權衡:您的虛擬機不會受益於操作系統升級和補丁:您將負責管理這些(通過差異磁盤)。 Azure結構仍然會監控您的虛擬機的運行狀況,並重新啓動或在必要時移動它。我建議先嚐試使用管理模式,這樣您仍可以充分利用Azure的全部服務。

+0

感謝您的全面解答。 – gb2d 2010-11-02 20:44:31

2

從開發人員的角度來看,將現有的ASP.net應用程序遷移到Azure並沒有太多的工作要做。您可能會遇到一些問題,例如會話狀態和緩存,但是這兩個問題都可以通過配置單獨解決。 SQLAzure將提供您從標準SQL Server獲得的大部分功能,並且您可以使用SQLAzure遷移向導將數據庫移動到雲中。

在PDC10他們宣佈了一個新的VM角色,所以我想這就是你所指的。所以是的,如果你有一個在Windows Server 2008 R2上運行的現有設置,你可以虛擬化這個設置並將其轉移到虛擬機角色中。

同樣在PDC10上宣佈WebRoles現在可以運行完整的IIS7,所以如果你願意的話,你可以放下IIS的骯髒,而不必停留在VM角色的路線上。

相關問題