Azure 应用服务、虚拟机、Service Fabric 和云服务的比较
-
Azure 提供了幾種托管網站的方式:Azure 應用服務、虛擬機、Service Fabric?和云服務。?本文可幫助你了解這幾種方式,并針對 Web 應用程序做出正確的選擇。
Azure 應用服務是大多數 Web 應用的最佳選擇。?部署和管理都已集成到平臺,站點可以快速縮放以應對高流量負載,而內置的負載均衡和流量管理器可以實現高可用性。?可使用聯機遷移工具將現有站點輕松遷移到 Azure 應用服務、使用 Web 應用程序庫中的開源應用,還可使用所選框架和工具新建站點。?WebJobs?功能使得將后臺作業處理添加到應用服務 Web 應用變得輕松。
如果要創建新應用或重新編寫現有應用以使用微服務體系結構,Service Fabric 是不錯的選擇。?在共享計算機池上運行的應用可以從小規模開始,根據需要擴展為包含成百上千個計算機的大規模。?有狀態服務可輕松地以一致且可靠的方式存儲應用狀態,而 Service Fabric 會自動管理服務分區、縮放和可用性。?Service Fabric 也支持具有 Open Web Interface for .NET (OWIN) 和 ASP.NET Core 的 WebAPI。?與應用服務相比,Service Fabric 也能更好地控制或直接訪問基礎結構。?可以遠程登錄服務器,或配置服務器啟動任務。?云服務的控制和易用程度類似于 Service Fabric,但它現在是舊版服務,因此建議將 Service Fabric 用于新的開發。
如果現有應用程序需要大幅修改才能在應用服務或 Service Fabric 中運行,可選擇虛擬機來簡化到云的遷移。?但相比于 Azure 應用服務和 Service Fabric,正確配置、保護和維護 VM 需要更多的時間和 IT 專業知識。?如果你考慮采用 Azure 虛擬機,請確保將修補、更新和管理 VM 環境所需的持續性維護工作納入考慮。?Azure 虛擬機是服務架構 (IaaS),而應用服務和 Service Fabric 是平臺即服務 (Paas)。
功能比較
下表比較了應用服務、云服務、虛擬機和 Service Fabric 的功能,幫助用戶做出最佳選擇。?若要了解每個選項的 SLA 的當前信息,請參閱?Azure 服務級別協議。
功能應用服務(Web 應用)云服務(web 角色)虛擬機Service Fabric注釋 接近即時的部署 X ? ? X 將應用程序或應用程序更新部署到云服務(或者創建 VM)至少需要幾分鐘;將應用程序部署到 Web 應用只需數秒鐘。 向上擴展到更大的計算機且無需重新部署 X ? ? X ? Web 服務器實例共享內容和配置,這意味著進行擴展時無需重新部署或重新配置。 X ? ? X ? 多個部署環境(生產和過渡) X X ? X Service Fabric 允許為應用創建多個環境,或者同時為應用部署不同的版本。 自動操作系統更新管理 X X ? ? 部分通過修補業務流程應用程序 (POA),將來完全通過。 無縫平臺切換(輕松地在 32 位和 64 位之間轉移) X X ? ? ? 使用 GIT、FTP 部署代碼 X ? X ? ? 使用 Web 部署來部署代碼 X ? X ? 云服務支持使用 Web 部署將更新部署到單個角色實例。?但是,不能將其用于初始部署角色,并且如果將 Web 部署用于更新,則必須單獨部署到角色的每個實例。?需要提供多個實例,才能針對生產環境獲得云服務 SLA 資格。 WebMatrix 支持 X ? X ? ? 訪問 Service Bus、存儲空間、SQL 數據庫之類的服務 X X X X ? 托管多層體系結構的 web 或 web 服務層 X X X X ? 托管多層體系結構的中間層 X X X X 應用服務 Web 應用可輕松托管 REST API 中間層,而?WebJobs?功能可托管后臺處理作業。?可在專用網站中運行 WebJobs,實現層的獨立可擴展性。 集成的 MySQL-as-a-service 支持 X X ? ? ? 支持 ASP.NET、經典 ASP、Node.js、PHP、Python X X X X Service Fabric 支持使用?ASP.NET 5?創建 Web 前端,或者也可按來賓可執行文件的形式部署任何類型的應用程序(Node.js、Java 等)。 向外擴展到多個實例且無需重新部署 X X X X 虛擬機可以擴大到多個實例,但必須編寫這些虛擬機上運行的服務,來處理向外擴展。必須配置負載均衡器以在計算機之間路由請求,并且請確保可用性集中有多個 VM 實例。 支持 SSL X X X X 對于應用服務 Web 應用,只有基本和標準模式支持自定義域名的 SSL。?若要了解如何結合使用 SSL 和 Web 應用,請參閱為 Azure 網站配置 SSL 證書。 Visual Studio 集成 X X X X ? 遠程調試 X X X X ? 使用 TFS 部署代碼 X X X X ? 使用?Azure 虛擬網絡進行網絡隔離 X X X X 另請參閱?Azure 網站的虛擬網絡集成 支持?Azure 流量管理器 X X X X ? 集成的端點監視 X X X ? ? 對服務器的遠程桌面訪問 ? X X X ? 安裝任何自定義 MSI ? X X X Service Fabric 可按來賓可執行文件的形式托管任何可執行文件,還可在 VM 上安裝任意應用。 能夠定義/執行啟動任務 ? X X X ? 可以偵聽 ETW 事件 ? X X X ? 方案和建議
以下是一些常見的應用程序方案,其中每個方案都包含有關最適合的 Azure Web 托管選項的建議。
- 我需要一個具有后臺處理的 Web 前端和一個數據庫后端,用以運行與本地資產集成的業務應用程序。
- 我需要一種可靠的方式來托管公司網站,既可以進行良好地擴展也能實現全國性覆蓋。
- 我具有在 Windows Server 2003 上運行的 IIS6 應用程序。
- 我是小型企業所有者,我需要使用一種成本較低的方式來托管站點,同時也要兼顧將來的業務增長。
- 我是 Web 或圖形設計師,我想為客戶設計和構建網站。
- 我要將帶有 Web 前端的多層應用程序遷移到云中。
- 我的應用程序依賴高度自定義的 Windows 或 Linux 的環境,我想將其轉移到云中。
- 我的站點使用開放源代碼軟件,我希望在 Azure 中托管它。
- 我有一個需要連接到公司網絡的業務線應用程序。
- 我想為移動客戶端托管 REST API 或 web 服務。
需要具有后臺處理的 Web 前端和數據庫后端,運行與本地資產集成的業務應用程序。
Azure 應用服務是針對復雜業務應用程序的理想解決方案。?可以通過該網站開發應用,這些應用可以在負載均衡平臺上自動縮放、使用 Active Directory 進行保護并連接到本地資源。?使用該網站,可以通過世界級門戶和 API 輕松地管理這些應用,并且還能通過應用洞察工具深入了解客戶使用這些應用的情況。?Webjobs?功能允許將后臺進程和任務作為 Web 層的一部分運行,而混合連接和 VNET 功能則可實現輕松地重新連接到本地資源。?Azure 應用服務針對 Web 應用提供三個 9 的 SLA,且能夠:
- 在自愈性自動修補云平臺上安全可靠地運行應用程序。
- 跨數據中心的全國網絡進行自動縮放。
- 備份和還原,以進行災難恢復。
- 遵守 ISO、SOC2 和 PCI 的要求。
- 與 Azure Active Directory 集成
我需要一種可靠的方式來托管公司網站,既可以進行良好地擴展也能實現全國性覆蓋。
Azure 應用服務是托管公司網站的理想解決方案。?通過 Web 應用,可以輕松快速地縮放站點,滿足整個數據中心全國網絡的需求。它涵蓋了本地范圍,提供了容錯和智能流量管理功能。?所有內容均位于提供世界級管理工具的平臺上,讓可以快速輕松地更深入了解站點運行狀況和站點流量。?Azure 應用服務針對 Web 應用提供三個 9 的 SLA,且能夠:
- 在自愈性自動修補云平臺上安全可靠地運行網站。
- 跨數據中心的全國網絡進行自動縮放。
- 備份和還原,以進行災難恢復。
- 使用集成工具管理日志和流量。
- 遵守 ISO、SOC2 和 PCI 的要求。
- 與 Azure Active Directory 集成
我具有在 Windows Server 2003 上運行的 IIS6 應用程序。
Azure 應用服務可輕松避免在遷移較舊的 IIS6 應用程序時帶來的基礎結構成本。?Microsoft 已經創建易于使用的遷移工具和詳細的遷移指南,可利用這些工具和指南檢查兼容性,并確定需要進行的任何更改。?因為與 Visual Studio、TFS 和常見的 CMS 工具集成,所以能夠更輕松地將 IIS6 應用程序直接部署到云中。?部署后,Azure 門戶可以提供強大的管理工具,允許通過縮減規模管理成本,并根據需要擴展規模來滿足業務要求。?使用遷移工具可以:
- 輕松快速地將舊版 Windows Server 2003 Web 應用程序遷移到云中。
- 選擇在本地保留附加的 SQL 數據庫,以創建混合應用程序。
- 自動轉移 SQL 數據庫與舊的應用程序。
我是小型企業所有者,我需要使用一種成本較低的方式來托管站點,同時也要兼顧將來的業務增長。
Azure 應用服務是適合該情況的強大解決方案,原因是其可免費使用且隨后可按需添加更多功能。?每個免費的 Web 應用都附帶 Azure 提供的域 (your_company.chinacloudsites.cn),并且平臺中包含集成的部署和管理工具,以及幫助用戶輕松入門的應用程序庫。?還有許多其他服務和擴展選項,讓站點可以隨著用戶需求的增加而發展。?通過 Azure 應用服務,可以:
- 從免費層開始,并根據需要向上擴展。
- 使用應用程序庫快速設置流行的 Web 應用程序,如 WordPress。
- 根據需要向應用程序添加其他 Azure 服務和功能。
- 使用 HTTPS 保護 Web 應用。
?備注
應用服務免費和共享(預覽)托管計劃是基本層,與其他應用服務應用在相同的 Azure VM 上運行。?某些應用可能屬于其他客戶。?這些層僅旨在用于開發和測試目的。
我是 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 功能運行后端進程。
如果需要加強對服務器環境的控制,例如想要遠程登錄服務器或配置服務器啟動任務,可以為一個或多個層選擇 Service Fabric。
如果想要使用自己的計算機映像,或者想要運行不能在 Service Fabric 中配置的服務器軟件或服務,可以為一個或多個層選擇虛擬機。
我的應用程序依賴高度自定義的 Windows 或 Linux 的環境,我想將其轉移到云中。
如果應用程序需要對軟件和操作系統進行復雜的安裝或配置,虛擬機可能是最佳解決方案。?通過虛擬機,可以:
- 使用虛擬機庫從某個操作系統(如 Windows 或 Linux)開始著手,并針對用戶的應用程序要求對其進行定制。
- 創建并上傳現有本地服務器的自定義映像,在 Azure 中的虛擬機上運行。
我的站點使用開放源代碼軟件,我希望在 Azure 中托管它
如果應用服務支持開放源框架,則會自動配置應用程序所需的語言和框架。?通過應用服務,可以:
- 使用多種流行的開放源代碼語言,如?.NET、PHP、Node.js?和?Python。
- 安裝 WordPress、Drupal、Umbraco、DNN 和許多其他第三方 Web 應用程序。
- 遷移現有應用程序,或通過應用程序庫創建新的應用程序。
如果應用服務不支持開源框架,則可在其他某個 Azure Web 托管選項上運行該框架。?使用虛擬機,可以在計算機映像(基于 Windows 或 Linux)上安裝和配置軟件。
我有一個需要連接到公司網絡的業務線應用程序
如果想要創建業務線應用程序,網站可能需要直接訪問公司網絡上的服務或數據。?可在應用服務、Service Fabric 和虛擬機上使用?Azure 虛擬網絡服務來實現此目的。?可在應用服務上使用?VNet 集成功能,該功能使 Azure 應用程序能夠像在公司網絡上一樣運行。
我想為移動客戶端托管 REST API 或 web 服務
利用基于 HTTP 的 Web 服務,可以支持各種客戶端,包括移動客戶端。?如 ASP.NET Web API 的框架與 Visual Studio 集成,能夠更加輕松地創建和使用 REST 服務。?這些服務來自 web 端點,因此可使用 Azure 上的任何 web 托管技巧支持此方案。?但應用服務托管 REST API 的理想選擇。?通過應用服務,可以:
- 快速創建移動應用或 API 應用,以便在 Azure 全國分布的某個數據中心內托管 HTTP Web 服務。
- 遷移現有服務或創建新的服務。
- 實現 SLA 的單個實例可用性,或者將可用性擴展到多臺專用計算機。
- 使用已發布的站點將 REST API 提供到任何 HTTP 客戶端,包括移動客戶端。
后續步驟
若要深入了解 3 個 Web 托管選項,請參閱?Azure 簡介。
若要開始使用為應用程序選擇的選項,請參閱以下資源:
- Azure 應用服務
- Azure 云服務
- Azure 虛擬機
- Service Fabric
總結
以上是生活随笔為你收集整理的Azure 应用服务、虚拟机、Service Fabric 和云服务的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 只要身份证就可以办信用卡吗
- 下一篇: 沙特又想挑起原油价格战?国际油价刚回到4