不同于Amazon云計算(用戶自己提供機器的虡擬映像(Image)到虛擬機),Windows Azure能夠自動虛擬出虛擬機,用戶不用考慮如何維護windows操作系統的備份問題,只要專注于如何創建應用程序即可。目前,Windows Azure服務器租用平臺的CTP版提供了一整套的開發工具和組件允許創建 .NET4.0應用程序。與傳統的.NET應用程序不同的是,Windows Azure應用程序包括Web Role實例、Worker Role實例和VM Role實例,使用這三種實例的Windows Azure應用程序運行機制。
(1)Web Role。基于Web Role可以使基于Web的應用的創建過程變得簡單。每個Web Role實例都提前在內部安裝了IIS7,通過ASP.NET、WCF (Windows Communication Foundation)或其他Web技術使創建應用程序變得簡單。如果不使用.NET Framework,而通過本機代碼創建應用,開發者可以安裝或運行非微軟的技術,如PHP和Java。
(2)Worker Role。Worker Role設計用來運行各種各樣的基于Windows的代碼。Web Role和Worker Role的最大不同在于:Worker Roles內部沒有安裝IIS,所以IIS并沒有托管Worker Roles運行的代碼。比如,Worker Role可以運行一個模擬、進行視頻處理等。應用通過Web Role與用戶相互作用,然后利用Worker Role進行任務處理。
(3)VM Role。VM Role運行系統提供的Windows Server 2008 R2鏡像。此外,將本地的Windows Server應用移動到Windows Azure中時,VM Role將會起作用。
可以使用Windows Azure門戶將應用提交到Windows Azure中,提交應用的同時,需要同時提交配置信息,告知平臺每個Role需要運行實例的數量。Windows Azure Fabric控制器再為每個實例創建一個虛擬機,在虛擬機中運行相應的Role。
Windows Azure支持HTTP、HTTPS和TCP協議,用戶可以通過這些協議向Windows Azure發起請求。這些請求在分發給各個實例之前均會被負載均衡,同時負載均衡器不允許用戶與各個Role實例之間保持聯系,因此來自同一個用戶的多種請求可能會被負載均衡器分發給不同的Role實例。
創建Windows Azure應用時,可以任意結合使用Web Role、Worker kole和VM Role實例。當應用的負載增加時,可以使用Windows Azure門戶為庫用中的Role請求更多的實例。如果負載減少,可以減少運行實例的數量。Windows Azure也提供一個API接口,通過程序改變運行實例的數量,不需要人工干預,但是平臺本身不能根據應用的負載自動地調整應用規模。