Answers:
Web角色为您提供Web应用程序(以前称为Web站点)以外的其他功能:
Web应用程序比Web角色具有优势:
随着2014年4月和2014年9月推出,现在有一些Web应用程序和Web角色(和辅助角色)共有的功能,包括:
这是我从“网站”库选择表中获得的屏幕截图:
我认为Web Apps是快速启动和运行的好方法,您可以从共享资源转移到保留资源。一旦超出此限制,就可以转到“ Web角色”并根据需要进行扩展。
EDIT 2014:就其价值而言,此答案中的许多信息已不再正确-请参见评论。
向@David响应添加更多内容:
使用Windows Azure网站时,您无法控制IIS或Web服务器,因为您在同一台计算机上同时使用资源切片和数百个其他网站,因此您像其他资源一样共享资源,因此无法控制IIS。
网站共享和Azure Web角色之间的最大区别是,网站是角色绑定的,而角色是VM绑定的。
网站存储在内容共享中,可从服务器场中的所有“ Web服务器”访问这些内容共享,因此无需复制或进行任何类似的操作。
Windows Azure的网站不能有自己的主机名,而必须使用websitename只有.azurewebsites.net,你肯定可以使用CNAME设置在您的DNS提供商来发送你的要求正好与只有当他们在保留模式运行以前的Windows Azure角色相同。共享网站不支持CNAME设置。
我刚刚在http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/上发布了有关此主题的综合博客文章。
我的结论摘录:如果您需要大规模的SSL,亚洲或美国西部数据中心,非标准配置(IIS,端口,诊断,安全证书或启动脚本),RDP或具有成本效益的辅助角色(结合使用您的Web角色),那么您现在就必须坚持使用Web角色。
否则,网站是一个不错的选择!
还有另外一种情况即将出现:消除了这500个例外之后,他们对Azure网站处理通配符CNAME的功能一无所知。我们中的一些人在Cloud Services中使用Nate的Web角色加速器,因为Nate的软件中提供了通配符子域功能的一线破解。在知道Azure网站将能够处理它们之前,我们无法移动这些通配符子域应用程序。如果它永远无法做到这一点,那么它在等式的“ Web角色”方面将被视为肯定。还要注意的是,由于定价完全相同(在预览折扣到期之后),我不确定是否要放弃对RDC和Event Viewer的访问(仅提及两件事)。
Azure网站使您可以在Azure上快速构建高度可扩展的网站。您可以使用Azure门户或命令行工具使用流行的语言(如.NET,PHP,Node.js和Python)设置网站。支持的框架已经部署,不需要更多的安装步骤。Azure网站站点库包含许多第三方应用程序,例如Drupal和WordPress,以及开发框架,例如Django和CakePHP。创建网站后,您可以迁移现有网站或构建全新的网站。网站消除了管理物理硬件的需要,并且还提供了几个扩展选项。您可以从共享的多租户模型转换为标准模式,在此模式下,专用计算机将为传入流量提供服务。网站还使您能够与其他Azure服务集成,例如SQL数据库,服务总线和存储。使用Azure WebJobs SDK预览,可以添加后台处理。总之,Azure网站通过支持多种语言,开源应用程序和部署方法(FTP,Git,Web Deploy或TFS),使您可以更轻松地专注于应用程序开发。如果您没有需要云服务或虚拟机的特殊要求,则Azure网站很可能是最佳选择。
云服务使您能够在丰富的平台即服务(PaaS)环境中创建高可用性,可伸缩的Web应用程序。与网站不同,云服务首先在开发环境(例如Visual Studio)中创建,然后再部署到Azure。框架(例如PHP)需要自定义部署步骤或在角色启动时安装框架的任务。云服务的主要优点是能够支持更复杂的多层架构。单个云服务可能包含一个前端Web角色和一个或多个辅助角色。每一层都可以独立扩展。对您的Web应用程序基础结构的控制级别也越来越高。例如,您可以将远程桌面远程部署到运行角色实例的计算机上。
虚拟机使您可以在Azure中的虚拟机上运行Web应用程序。此功能也称为基础架构即服务(IaaS)。通过门户网站创建新的Windows Server或Linux计算机,或上载现有的虚拟机映像。虚拟机使您可以最大程度地控制操作系统,配置以及已安装的软件和服务。这是将复杂的本地Web应用程序快速迁移到云中的一个不错的选择,因为这些机器可以整体移动。使用虚拟网络,您还可以将这些虚拟机连接到本地公司网络。与Cloud Services一样,您可以远程访问这些计算机,并能够在管理级别执行配置更改。但是,与网站和云服务不同,您必须在基础架构级别完全管理虚拟机映像和应用程序体系结构。一个基本的示例是您必须将自己的补丁程序应用到操作系统。
通过此链接查看更新的全面比较:http : //azure.microsoft.com/zh-cn/documentation/articles/choose-web-site-cloud-service-vm/
Azure网站,Web Worker和虚拟机是Windows Azure上可用的三种不同的计算方法。它们在控制级别和职责上有所不同:
没有最佳选择,因为这取决于所需的控制级别,所需的功能以及要保留Azure内容的内容。这是个大话题。
请查看本文以获得更多信息,以便做出更明智的选择:
归结为易用性和功能之间的权衡。
我发现的另外两件事是为自定义域站点和多租户配置获取SSL的成本。
对于网站,您需要按月支付标准实例费用(小实例是最便宜的选择)。这意味着,为了获得自定义域https,小型实例的费用为每月约70 /月,而支持所有浏览器的SSL费用为每月约41 /月。
对于WebRole,您可以免费获得XS实例并添加自己的SSL,这意味着每月需要支付15美元,并且您有一个带有SSL的自定义域。
对于多租户网站,请签出 多租户Azure动态通配符CName
Web角色是承载多个网站的虚拟机
这是一个常见问题,我想摘录一下msdn。
访问诸如缓存,服务总线,存储,SQL Azure数据库之类的服务-WebSite:是WebRole:是
支持ASP.NET,经典ASP,Node.js,PHP-网站:是WebRole:是
共享的内容和配置-WebSite:是WebRole:否
使用GIT和FTP部署代码-WebSite:是WebRole:否
即时部署-WebSite:是WebRole:否
集成的MySQL即服务支持-WebSite:是WebRole:是
多个部署环境(生产和分阶段)-WebSite:否WebRole:是
网络隔离-WebSite:否WebRole:是
对服务器的远程桌面访问-WebSite:否WebRole:是
能够以提升的权限运行程序-WebSite:No WebRole:是
能够定义/执行启动任务-WebSite:否WebRole:是
能够使用不受支持的框架或库-WebSite:否WebRole:是
支持Windows Azure Connect / Windows Azure Network-WebSite:否WebRole:是
要获取更多详细信息,请访问以下链接:http : //blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -使用-哪个.aspx