Azure 網站、雲服務和虛擬機對比前端
概述web
Azure提供了幾種方法來承載網站: Azure網站、雲服務和虛擬機。本文幫助您瞭解選項和爲您的Web應用程序作出正確選擇。數據庫
Azure網站是大多數web應用程序的最佳選擇。部署和管理都整合到平臺,網站能夠迅速擴展以處理高流量負載,而且內置的負載均衡和流量管理器能夠提供高可用性。您可使用在線遷移工具輕鬆地將現有網站移動到Azure網站,使用來自Web應用程序庫的開放源代碼應用程序,或者使用框架或你本身選擇的工具建立新站點。該WebJobs特性可讓你輕鬆將背景做業處理添加到您的應用程序。後端
若是你須要對WEB服務器環境的更多控制,例如遠程到您的服務器或配置服務器啓動任務的能力, Azure雲服務一般是最好的選擇。安全
若是你的現有應用程序須要進行大量修改才能在Azure網站或Azure雲服務中運行,你能夠選擇Azure虛擬機,以簡化遷移到雲計算。可是,與Azure網站和雲服務比較,正確配置、保護和維護虛擬機須要更多時間和IT專業知識。若是你正在考慮使用Azure虛擬機,請確保你會考慮到修補、更新和管理虛擬機環境所需的平常維護工做。服務器
下圖說明了Azure上每一個Web託管選項的相對控制程度與易用性之間的對比。網絡
下面是一些常見的應用場景以及對哪一個Azure web託管選項可能最適合彼此的建議。架構
我須要具備後臺處理和數據庫後端的Web前端來運行在資產前提下集成的業務應用。app
我須要託管個人主辦公司網站的可靠方法,能很好地進行擴展並提供全局訪問權。負載均衡
我有Windows Server 2003上運行的應用程序IIS6 。
我是一個小企業主,我須要一種廉價的方式來承載個人網站,而且將企業將來增加考慮在內。
我是一個web或圖形設計師,我想設計和構建客戶的網站。
我在使用web前端將個人多層應用程序遷移到雲端。
個人應用程序依賴於高度定製的Windows或Linux環境,我想將它移動到雲中。
個人網站使用開源軟件,我想在Azure中託管它 。
個人業務線應用程序須要鏈接到企業網絡。
我想爲移動客戶端託管REST API或Web服務。
我須要具備後臺處理和數據庫後端的Web前端來運行在資產前提下集成的業務應用。
Azure網站是複雜業務應用的理想解決方案。它可讓你在負載平衡的平臺上開發出自動縮放、受Active Directory保護並鏈接到您的本地資源的應用程序。經過世界一流的管理門戶和API,它使管理應用程序更簡單,並容許您深刻了解客戶如何使用他們的應用程序洞察力工具。新Webjobs性能容許您將後臺進程和任務做爲Web層的一部分來運行,而混合型鏈接和VNET性能能夠很容易地鏈接回本地資源。 Azure網站提供了三份SLA,每份9個SLA,使您能夠:
在具備自我修復、自動打補丁功能的雲平臺上安全運行應用程序。
跨越全球數據中心網絡進行自動縮放。
針對災難恢復進行備份和恢復。
與ISO、 SOC2以及PCI兼容。
與Active Directory整合
我須要託管個人主辦公司網站的可靠方法,能很好地進行擴展並提供全局訪問權。
Azure的網站是託管企業網站的一個很好的解決方案。它使網站能夠跨全局數據中心網絡快速而輕鬆地擴展以知足需求。它提供了本地訪問權、容錯和智能流量管理。平臺上的全部都提供世界一流的管理工具,讓您輕鬆快捷地深刻了解網站的健康程度和網站流量。 Azure網站提供了三份SLA,每份9個SLA,使您能夠:
在具備自我修復、自動打補丁功能的雲平臺上安全運行應用程序。
跨越全球數據中心網絡進行自動縮放。
針對災難恢復進行備份和恢復。
使用集成工具管理日誌和流量。
與ISO、 SOC2以及PCI兼容。
與Active Directory整合
我有在Windows Server 2003上運行的應用程序IIS6
Azure網站能夠很容易地避免與遷移舊的IIS6應用程序相關的基礎設施成本。微軟已經建立了易於使用的遷移工具和詳細的遷移指導,使您可以檢查兼容性,並肯定了須要進行的任何更改。與Visual Studio 、 TFS 和共同CMS工具的集成使得IIS6應用程序能夠很容易地直接部署到雲 。一旦部署成功,Azure管理門戶網站就會提供強大的管理工具,使您可以縮減管理成本,並知足必要的需求。使用遷移工具,您能夠:
輕鬆快速地將舊版的Windows Server 2003 Web應用程序遷移到雲中。
傾向於留下你鏈接的SQL數據庫來建立混合應用程序。
自動將您的SQL數據庫隨你的舊應用程序一塊兒移動。
我是一個小企業主,我須要一種廉價的方式來承載個人網站,而且將企業將來增加考慮在內。
Azure網站是這種狀況的最佳解決方案,由於你開始能夠無償使用它,而後在你須要時能夠添加更多功能。每個免費網站都有Azure( your_company.azurewebsites.net )提供的域,該平臺包括集成的部署和管理工具以及應用程序庫,因此很容易上手。還有許多其餘服務和縮放選項,使得站點能夠隨着日益增長的用戶需求發展。使用Azure網站,您能夠:
從自由層開始,而後根據須要擴展。
使用應用程序庫快速創建流行的Web應用程序,如WordPress 。
根據須要將額外的Azure服務和功能添加到您的應用程序。
確保你的網站使用HTTPS 。
我是一個web或圖形設計師,我想設計和構建客戶的網站。
對於Web開發人員和設計人員, Azure網站很容易與各類框架和工具(包括Git和FTP的部署支持)進行集成,並提供工具和服務(如Visual Studio和SQL數據庫)的緊密集成。使用網站,您能夠:
將命令行工具用於自動化任務。
使用流行語言,如.NET、 PHP、 Node.js和Python。
選擇三個不一樣的縮放級別,擴展到很是高的程度。
與其餘Azure服務(如SQL數據庫、服務總線和存儲)或與來自Azure存儲的合做夥伴產品(如MySQL和MongoDB)整合。
與工具整合,如Visual Studio、 Git、 WebMatrix、WebDeploy 、TFS和FTP。
我在使用web前端將個人多層應用程序遷移到雲端。
若是你正在運行多層應用程序,例如鏈接到數據庫的Web服務器, Azure網站是一個很好的選擇,它提供了與Azure SQL數據庫的緊密集成。你能夠將WebJobs功能用於運行後臺進程。
若是你須要更好地控制服務器環境,例如遠程到您的服務器或配置服務器啓動任務的能力,請選擇雲服務的一個或多個層。
若是你想使用你本身的機器映像或者運行你不能在雲服務配置的服務器軟件或服務,請選擇虛擬機的一個或多個層次。
個人應用程序依賴於高度定製的Windows或Linux環境,我想將它移動到雲中。
若是您的應用須要複雜安裝和配置軟件和操做系統,虛擬機多是最好的解決方案。使用虛擬機,您能夠:
使用虛擬機庫啓動操做系統,如Windows或Linux ,而後爲您的應用需求自定義系統。
建立和上傳現有內部部署服務器的自定義圖像以便在Azure中的虛擬機上運行。
個人網站使用開源軟件,我想在Azure中託管它 。
若是網站支持你的開源框架,則會自動爲您配置應用程序須要的語言和框架。網站讓您能夠:
使用許多流行的開源語言,如.NET、 PHP 、Node.js和Python 。
創建WordPress、Drupal 、umbraco、DNN 和許多其餘第三方Web應用程序。
遷移現有應用程序或從應用程序庫建立新應用程序。
若是網站不支持你的開源框架,你能夠在其餘兩個Azure Web託管的選項上運行它。使用雲服務,您可使用啓動任務安裝和配置在Windows上運行的任何所需開源軟件。使用虛擬機,你能夠在機器映像上安裝和配置基於Windows或Linux的軟件。
個人業務線應用程序須要鏈接到企業網絡。
若是你想建立業務線應用程序,你的網站可能須要對企業網絡上服務或數據的直接訪問權。這有對於使用Azure的虛擬網絡服務的網站、雲服務和虛擬機是有可能的。在網站上,你可使用新的VNET集成功能,它可讓你的Azure應用程序運行,就像它們在你的公司網絡上同樣運行。
我想爲移動客戶端託管REST API或Web服務。
基於HTTP的Web服務使您可以支持多種客戶端,包括移動客戶端。諸如ASP.NET Web API的框架能夠與Visual Studio 集成,使之更容易建立和使用REST服務。這些服務從web端點暴露出來,所以可能能夠在Azure上使用任何web託管技術來支持這一方案。然而,網站是託管REST API的絕佳選擇。有了網站,您能夠:
在其中一個Azure的全球分佈式數據中心中快速建立網站來承載HTTP Web服務。
遷移現有服務或建立新服務。
使用單個實例實現SLA的可用性,或擴展到多個專用機器。
使用已發佈的網站提供任何HTTP客戶端的REST API,其中包括移動客戶端。
下表比較了網站、雲服務和虛擬機的功能,以幫助您作出最佳選擇。有關每一個選項的SLA的最新信息,請參見Azure服務水平協議。
功能 |
網站 |
雲服務 (web 角色) |
虛擬機 |
註釋 |
幾乎即便部署 |
X |
Deploying an application or an application update to a Cloud Service, or creating a VM, takes several minutes at least; deploying an application to a Website takes seconds. 將應用程序或應用程序更新部署到雲服務,或建立一個虛擬機只須要幾分鐘;將應用程序部署到網站只需幾秒鐘。 |
||
無需從新部署便可擴展到大型機器 |
X |
|||
Web服務器實例共享內容和配置,這意味着在你擴展時沒必要從新部署或從新配置。 |
X |
|||
多個部署環境(生產和分期) |
X |
X |
||
操做系統更新管理自動化 |
X |
X |
||
無縫切換平臺(在32位和64位之間輕鬆移動) |
X |
X |
||
使用 GIT、FTP部署代碼 |
X |
X |
||
使用Web部署來部署代碼 |
X |
X |
雲服務支持使用web部署來將更新部署到我的角色實例。可是,你不能將它用於角色的初步部署,若是你將Web部署用於更新,則你必須單獨部署角色的每一個實例。須要多個實例以符合用於生產環境的雲服務SLA。 |
|
WebMatrix 支持 |
X |
X |
||
能夠訪問服務,如服務總線、存儲、SQL數據庫 |
X |
X |
X |
|
多層架構的主機Web或Web服務層
|
X |
X |
X |
|
多層架構的主機中間層 |
X |
X |
X |
網站能夠很容易託管REST API中間層,而且網站的WebJobs功能能夠承載後臺處理工做。您能夠在專用網站上運行WebJobs以實現層的獨立可擴展性。 |
支持集成做爲服務的MySQL |
X |
X |
X |
雲服務能夠經過ClearDB的產品集成與做爲服務的MySQL集成,但它不做爲管理門戶工做流的一部分。 |
支持 ASP.NET、經典 ASP、 Node.js、 PHP、 Python |
X |
X |
X |
|
擴展到多個實例,而無需從新部署 |
X |
X |
X |
虛擬機能夠擴展到多個實例,但在虛擬機上運行的服務必須寫入處理這種擴展。你必須配置負載平衡器來跨機器路由請求,並建立親和集團以防止因維護或硬件故障而同時從新啓動全部實例。 |
支持 SSL |
X |
X |
X |
對於網站, 自定義域名的SSL僅支持基本和標準模式。有關將SSL與網站一塊兒使用的信息,請參閱爲Azure網站配置SSL證書。 |
Visual Studio集成 |
X |
X |
X |
|
遠程除錯 |
X |
X |
X |
|
使用TFS部署代碼 |
X |
X |
X |
|
使用Azure的網絡隔離 |
X |
X |
X |
還請參閱Azure網站虛擬網絡集成 |
支持Azure流量管理器 |
X |
X |
X |
|
集成的端點監控 |
X |
X |
X |
|
服務器的遠程桌面訪問權 |
X |
X |
||
安裝任何自定義的MSI |
X |
X |
||
定義/執行啓動任務的能力 |
X |
X |
||
能夠偵聽 ETW事件 |
X |
X |
注意:
若是您想在註冊帳戶錢開始使用Azure網站,請訪問https://trywebsites.azurewebsites.net ,在那裏你能夠在Azure網站中當即免費建立一個短時間ASP.NET入門網站。無需信用卡,無需任何承諾。