Windows Azure -Azure 网站、云服务和虚拟机的对比

时间:2023-03-08 16:11:46

Azure 网站、云服务和虚拟机对比

概述

Azure提供了几种方法来承载网站: Azure网站、云服务和虚拟机。本文帮助您了解选项和为您的Web应用程序做出正确选择。

Azure网站是大多数web应用程序的最佳选择。部署和管理都整合到平台,网站可以迅速扩展以处理高流量负载,并且内置的负载均衡和流量管理器可以提供高可用性。您可以使用在线迁移工具轻松地将现有网站移动到Azure网站,使用来自Web应用程序库的开放源代码应用程序,或者使用框架或你自己选择的工具创建新站点。该WebJobs特性可以让你轻松将背景作业处理添加到您的应用程序。

如果你需要对WEB服务器环境的更多控制,例如远程到您的服务器或配置服务器启动任务的能力, Azure云服务通常是最好的选择。

如果你的现有应用程序需要进行大量修改才能在Azure网站或Azure云服务中运行,你可以选择Azure虚拟机,以简化迁移到云计算。但是,与Azure网站和云服务比较,正确配置、保护和维护虚拟机需要更多时间和IT专业知识。如果你正在考虑使用Azure虚拟机,请确保你会考虑到修补、更新和管理虚拟机环境所需的日常维护工作。

下图说明了Azure上每个Web托管选项的相对控制程度与易用性之间的对比。

Windows Azure -Azure 网站、云服务和虚拟机的对比

方案和建议

下面是一些常见的应用场景以及对哪个Azure web托管选项可能最适合彼此的建议。

我需要具有后台处理和数据库后端的Web前端来运行在资产前提下集成的业务应用。

我需要托管我的主办公司网站的可靠方法,能很好地进行扩展并提供全局访问权。

我有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入门网站。无需信用卡,无需任何承诺。