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

最后更新时间(英文版):09/24/2014

最后更新时间(中文版):04/11/2015

Azure 提供几种方式托管 web 应用程序,如 Azure 网站云服务虚拟机。查看这些不同的选项后,您可能不确定哪一种最适合需求,或可能有不清楚的概念,如 IaaS 对比 PaaS。这篇文章可帮助您了解选项,并帮助您为自己 web 方案做出正确的选择。尽管所有三个选项允许您在 Azure 中运行高度可扩展的 web 应用程序,但差异可帮助指导您的决定。

在许多情况,Azure 网站是最佳的选择。它为部署和管理提供简单灵活的选项,并且能够在托管高容量的网站。使用流行的软件如 WordPress,可从 Web 应用程序库快速创建新的网站,或可以将现有的网站移动到 Azure 网站。使用Azure WebJobs SDK(目前处于预览状态),还可以添加后台作业处理。

还有在 Azure 云服务或 Azure 虚拟机上托管 web 应用程序的选项。这些选项是很好的选择,您的 web 层需要它们提供更多额外级别的控制和定制;但是,此增强的控制要以应用程序创建、管理和部署的复杂性增加为代价。下图说明了三个选项之间的权衡。

网站是更易于设置、管理和监视,但配置选项较少。关键之处在于使用 Azure 网站时,没有让您信服的理由将 web 前端放在云服务或虚拟机上。本文档其余部分提供做出明智决策所需的信息。这包括:

方案

我是小型企业所有者,并且我需要一种成本较低的方式来托管自己的站点,同时考虑将来的增长。

Azure 网站 (WAWS) 是这种情况不错的解决方案,因为您可以开始免费使用它,然后在需要时添加更多功能。例如,每个免费的网站附带由 Azure 提供的域 (your/_company。 chinacloudsites.cn)。如果已经准备好开始使用自己的域,添加的费用低至低至 $9.80 每月(截止到 1/2014)。有许多其他服务和扩展选项,允许站点随着用户需求的增加而发展。使用 Azure 网站,您可以:

  • 从免费层开始,然后根据需要向上扩展。
  • 使用应用程序库快速设置流行的 web 应用程序,如 WordPress。
  • 根据需要向您的应用程序添加其他 Azure 服务和功能。
  • 通过使用 your/_company.chinacloudsites.cn 域名提供的证书,用 HTTPS 保护您的网站。

我是 web 或图形设计师,并且我想为客户设计和生成网站

对于 web 开发人员,Azure 网站为您提供创建复杂的 web 应用程序所需的内容。网站提供 Visual Studio 和 SQL 数据库等工具的紧密集成。使用网站,开发人员可以:

  • 使用自动任务的命令行工具。
  • 使用流行的语言,如 .NetPHPNode.js 和 Python
  • 选择向上扩展到超高容量的三个不同的扩展级别。
  • 与其他 Azure 服务集成,例如 SQL 数据库服务总线存储
  • 与工具集成,例如 Visual Studio、Git、WebMatrix、WebDeploy、TFS 和 FTP。

我要将带有 web 前端的多层应用程序迁移到云

如果您运行多层应用程序,如与数据库服务器对话以存储和检索网站数据的 web 服务器,则您在 Azure 中有几个选项。这些体系结构选项包括网站、云服务和虚拟机。首先,网站对于您的解决方案是不错的选择,并可配合 Azure SQL 数据使用以创建一个两层体系结构。网站还允许您使用 Azure WebJobs SDK 预览运行后台或长时间运行进程。如果您需要更复杂的体系结构或更灵活的扩展选项,云服务或虚拟机是更好的选择。

云服务使您能够:

  • 在可扩展的 web 和辅助角色上托管 web、中间层和后端服务。
  • 仅在辅助角色上托管中间层和后端服务,保持前端在 Azure 网站上。
  • 独立扩展前端和后端服务。

虚拟机使您能够:

  • 更轻松地迁移高度定制的环境,如一个虚拟机映像。
  • 运行不能在网站或云服务配置的软件或服务。

我的应用程序取决于高度定制的 Windows 或 Linux 的环境

如果您的应用程序需要软件和操作系统的复杂安装或配置,虚拟机可能是最佳解决方案。通过虚拟机,您可以:

  • 使用虚拟机库启动操作系统,如 Windows 或 Linux,然后针对您的应用程序要求对其进行定制。
  • 创建并上传现有的本地服务器的自定义映像,在 Azure 中的虚拟机上运行。

我的站点使用开放源代码软件,并且我希望在 Azure 中托管它

所有三个选项都允许您托管开放源代码语言和框架。云服务要求您使用启动任务,来安装和配置在 Windows 上运行的任何所需的开放源代码软件。使用虚拟机,可在机器映像上安装和配置软件,基于 Windows 或 Linux 都可以。如果网站上支持开放源代码框架,这提供更简单的方法来托管这些类型的应用程序,因为使用应用程序所需的语言和框架可以自动配置“网站”。网站使您能够:

  • 使用多种流行的开放源代码语言,如.NETPHPNode.js 和 Python
  • 安装 WordPress、Drupal、Umbraco、DNN 和许多其他第三方 web 应用程序。
  • 迁移现有应用程序或从应用程序库创建一个新的。

我有一个业务应用程序需要连接到公司网络

如果您想要创建业务应用程序,您的网站可能需要直接访问公司网络上的服务或数据。可能在网站云服务虚拟机上。您采用的方法中存在差异,其中包括:

  • 网站可通过使用服务总线中继安全地连接到本地资源。这允许公司网络上的服务代表该 web 应用程序执行任务,无需将所有内容移到云中或建立一个虚拟网络。
  • 云服务和虚拟机可以充分利用虚拟网络。实际上,虚拟网络允许 Azure 中运行的机器连接到本地网络。然后 Azure 将成为您公司数据中心的扩展。

我想为移动客户端托管 REST API 或 web 服务

基于 HTTP 的 web 服务允许您支持各种客户端,包括移动客户端。如 ASP.NET Web API 的框架与 Visual Studio 集成,能够更加轻松地创建和使用 REST 服务。这些服务来自 web 端点,因此可使用 Azure 上的任何 web 托管技巧支持此情况。但是,网站是托管 REST API 的不错选择。使用“站点”,您可以:

  • 快速创建网站以便在 Azure 全球分布的数据中心之一托管 HTTP web 服务。
  • 迁移现有的服务或创建新的,可能会利用 Visual Studio 中的 ASP.NET Web API。
  • 实现 SLA 的单个实例可用性,或向外扩展到多台专用的计算机。
  • 使用已发布的站点来提供 REST API 到任何 HTTP 客户端,包括移动客户端。

服务摘要

Azure 网站允许您在 Azure 上快速生成高度可扩展的网站。您可以使用 Azure 门户或命令行工具,通过流行的语言(例如 .NET、PHP 和 Python)设置网站。支持的框架已部署并且不要求更多安装步骤。Azure 网站库包含许多第三方应用程序(例如 Drupal 和 WordPress)以及开发框架(例如 Django 和 CakePHP)。在创建网站后,您可以迁移现有网站或者生成全新网站。Web 站点无需管理物理硬件,还提供了几个扩展选项。您可以从共享的多租户模型移动到标准模式,那里的专用机服务于传入流量。网站还允许您与其他 Azure 服务(例如 SQL数据库、服务总线 和存储)相集成。使用 Azure WebJobs SDK 预览,您可以添加后台处理。总之,Azure 网站通过支持多种语言、开放源应用程序和部署方法(FTP、Git、Web Deploy 或 TFS),从而更便于关注应用程序开发。如果您没有要求云服务或虚拟机的专门要求,则 Azure 网站非常有可能是您的最佳选择。

通过云服务,您能够在丰富的平台即服务 (PaaS) 环境中创建高度可用的、可扩展 Web 应用程序。与网站不同,云服务首先在 Visual Studio 之类的开发环境中创建,然后部署到 Azure。PHP 之类的框架要求在角色启动时安装框架的自定义部署步骤或任务。云服务的主要优势在于能够支持更复杂的多层体系结构。单个云服务可由一个前端 Web 角色以及一个或多个辅助角色构成。每个层都可以单独缩放。还有对您的 Web 应用程序体系结构的提高的控制级别。例如,您可以使用远程桌面控制正在运行角色实例的计算机。您还可以编写在角色启动时运行的更高级的 IIS 和计算机配置更改的脚本,包括要求管理员控制的任务。

虚拟机,您能够在 Azure 中的虚拟机上运行 Web 应用程序。这种功能也称为“基础结构即服务 (IaaS)”。通过门户创建新的 Windows Server 或 Linux 计算机,或者上载现有的虚拟机映像。虚拟机向您提供对操作系统、配置以及已安装软件和服务的最高的控制。这个选项很适合于快速将复杂的本地 Web 应用程序迁移到云,因为计算机可作为整体进行迁移。使用虚拟网络,您还可以将这些虚拟机连接到本地公司网络。与云服务一样,您能够远程访问这些计算机并且能够在管理级别执行配置更改。但与网站和云服务不同,您必须完全在基础结构级别管理虚拟机映像和应用程序体系结构。一个基本示例是您需要将自己的修补程序应用到操作系统。

功能比较

下表比较网站、云服务和虚拟机的功能,以便帮助您进行最佳选择。表格后面的注释中详细解释带有星号的框。

功能 网站 云服务(web 角色) 虚拟机

访问 服务总线、存储、SQL数据库 之类的服务

X X X

托管多层体系结构的 web 或 web 服务层

X X X

托管多层体系结构的中间层

  X X

集成的 MySQL-as-a-service 支持

X X 1 X

支持 ASP.NET、经典 ASP、Node.js、PHP、Python

X X X

向外扩展到多个实例且无需重新部署

X X X 2

支持 SSL

X 3 X X

Visual Studio 集成

X X X

远程调试

X X X

使用 TFS 部署代码

X X X

使用 GIT、FTP 部署代码

X   X

使用 Web 部署来部署代码

X 4 X

WebMatrix 支持

X   X

接近即时的部署

X    

实例共享内容和配置

X    

向上扩展到更大的计算机且无需重新部署

X    

多个部署环境(生产和过渡)

X X  

使用 Azure 虚拟网络进行网络隔离

  X X

支持 Azure 流量管理器

X X X

对服务器的远程桌面访问

  X X

能够定义/执行启动任务

  X X

自动操作系统更新管理

X X  

集成的端点监视

X X X

无缝平台切换(32 位/64 位)

X X  

1 Web 和辅助角色可以通过 ClearDB 的产品集成 MySQL-as-a-service,但不作为管理门户工作流的一部分。

2尽管虚拟机可以向外扩展到多个实例,在必须编写这些计算机上运行的服务以处理此向外扩展。必须配置额外的负载平衡器以跨机器路由请求。最后,应为参与同一角色的所有计算机创建一个地缘组,防止它们从维护或硬件故障同时重启。

3对于“网站”,自定义域名的 SSL 仅支持标准模式。有关将 SSL 用于网站的更多信息,请参见为 Azure 网站配置 SSL 证书

4 在部署到单实例角色时云服务支持 Web 部署。但是,生产角色要求多个实例以便满足 Azure SLA。因此,Web 部署不是在生产中用于云服务的合适的部署机制。

时间: 2024-07-30 08:23:39

Azure 网站、云服务和虚拟机比较的相关文章

[转][网站、云服务与虚拟机]弄清负载均衡的机制

转自:http://blog.csdn.net/shaunfang/article/details/9091491 Azure为网站.云服务和虚拟机都提供了免费的负载均衡能力.关于负载均衡我们需要注意的一点就是它对Session的处理.一般来说,传统的负载均衡器有一种叫session粘滞(sticky)的机制,也就是会根据用户的session信息将用户请求转发到固定的一台机器上,这样,如果应用程序在服务器端存储session信息,那么用户与服务器交互就会顺畅,否则,就会发生用户session丢失

Azure不同云服务下的虚拟机进行通信

在同一个云服务下的VM是具有同一个VIP.您可以创建两台vm分别在不同的云服务下(具有独立的VIP),都挂载在同一个虚拟网络下,这样,同一个虚拟网络下的两个云服务下的两台vm是可以通过VIP通信的. 相关测试,细节如下: 建立两台VM,分别在不同的云服务下,但挂在同一虚拟网络下.两台vm的信息如下: 2. 验证此场景下的两台VM的连通性:分别登陆两台VM,首先关闭防火墙.然后下载psping.exe( http://technet.microsoft.com/en-us/sysinternals

Azure IaaS云服务对应多个VIP

本文将介绍中国区Windows Azure Cloud Service可以启用多个虚拟IP的功能. [Part.1]应用场景: (1)同一个云服务下有多个SSL Website VM,为了能给每个VM分配443端口,需要配置多VIP. (2)SQL AlwaysOn:Another scenario for the use themultiple VIPs is hosting multiple SQL AlwaysOn availability group listeners onthe sa

Azure 在云服务创建的时候保留VIP

上一篇文章写过如何对已经存在的云服务保留VIP,这一篇主要来探讨一下如何在我们创建云服务的时候分配保留VIP,包括使用镜像创建VM的时候保留,使用磁盘创建保留两种情况. 虚拟 IP 地址 (VIP) 是一个公共 IP 地址,可用于访问 Azure 中的计算资源(Web/辅助角色/虚拟机).每次创建云服务并分配计算资源时,都会自动向该服务分配一个 VIP.可将云服务中的 VM 配置为使用指定的端口号通过 VIP 接收入站通信. 通过映像创建Reserved IP虚拟机: (无法具体制定某个IP,此

Azure 订阅和服务限制、配额和约束

最后更新时间:2016年10月24日 概述 本文档指定一些最常见的 Azure 限制.请注意,本文档目前未涵盖所有 Azure 服务.一段时间后,将展开并更新这些限制以包含多个平台. NOTE: 如果想要提高默认限制之上的限制,可以打开免费的联机客户支持请求.无法将这些限制提高到超过下表中的最大限制值.如果没有任何最大限制列,则指定的资源不具有可调整的限制. 限制和 Azure 资源管理器 现在可以将多个 Azure 资源合并到单个 Azure 资源组中.在使用资源组时,以前针对全局的限制会通过

冲上云霄 之二 真正的云服务

前面已经谈了一些关于云计算的基本概念,接下来如果需要使用云计算来为企业或个人提供服务那么应该选择什么云服务呢?对于个人来讲,比较好的选择是SaaS产品,目前整个市场中的大多数云服务产品都是这一类的.而对于企业而言,不通规模的企业可能选择方向不一样.这需要根据企业所属的行业.业务,以及投入的成本来决定.如果确定了使用IaaS或PaaS方式的云服务,那么建议选择Microsoft Azure.从个人的实践感受来看,Microsoft Azure较之其它云产品更能称得上"真正的云服务".在国

将Windows Azure 虚拟机从一个云服务移动到另外一个云服务中!

最近我们有客户经常谈到一个问题,我创建了不同的云服务.但是我的目的是在同一个云服务下面建立不同的虚拟机,现在我全部搭建完成,但是我发现我建的虚拟机错了,怎么办呢? 我辛辛苦苦建立的虚拟机,竟然不在同一个云服务里面.我又不想出太多钱,有办法么?当然有办法,办法就是利用我们的Powershell 脚本完成我们的虚拟机迁移我们的虚拟机到同一个云服务下面,这个按照我们下面的步骤走起: 首先我们当然是下载Azure Powershell.这个请参考我博客中前面提到的Azurepowershell. 接下来

Azure手把手系列 2:微软中国云服务介绍

在前面的文章中,我们已经了解到Azure有两种,分别是由微软直营的国际版,以及微软中国委托21世纪互联运营的国内版,两种Azure存在一定差异,并且数据不互通.帐号以及计费不统一.所以在选择微软公有云的时候也需要注意,下面我们简单的来看下作为中国用户,两种Azure的优劣势. 首先是微软直营的Azure,在全球范围内提供59种服务: 21世纪互联运营的Azure,在中国范围内提供33种服务: 在官方网站中我们只能看到32种服务,但需要加上StorSimple这个混合云储存服务.以及几种微软认知服

构建使用 Azure 网站的云

Apurva JoshiSunitha Muthukrishna 在设计云解决方案时,设计始终要为故障做好准备.这一点很重要,应牢记. 然而,许多应用程序并非按照这种方式构建. 出现这种情况的主要原因是对如何使用 Microsoft Azure 网站设计体系结构以使其有足够复原能力的意识不足. 因此,如何构建足够强大的.能够处理故障的云解决方案? 本文将探讨您在设计这类系统时可以使用的技术. 单个网站实例 Azure 网站提供多个层次上的托管计划: 免费.共享.基本和标准. “免费”和“共享”层