新的Azure Web站点和传统的Azure Web角色之间有什么实质性的区别?NET MVC应用程序?我选择“网站”而不是“网络角色”的原因是什么?反之亦然?

让我们假设在两种情况下我都需要相同的容量(例如2个小实例)。除了网站在预览期有33%的临时折扣外,价格似乎是相当的。

我在“网站”上可以做的事情,在网络角色上是困难的或不可能的吗?例如,使用“网站”将多个网站放在一组虚拟机中变得容易吗?我在“网站”和“网络角色”之间失去了什么吗?能够微调IIS?是否能够在本地使用缓存服务?


当前回答

EDIT 2014:不管怎样,这个答案中的很多信息都不再正确了——请看评论。

在@David的回复中添加更多内容:

使用Windows Azure网站,您无法控制IIS或web服务器,因为您在同一台机器上使用一个资源片以及数百个其他网站,您像其他网站一样共享资源,因此无法控制IIS。

共享网站和Azure web角色之间的最大区别是,网站被认为是进程绑定,而角色被认为是虚拟机绑定。

网站存储在内容共享中,可以从场中的所有“web服务器”访问,因此不需要复制或类似的东西。

Windows Azure网站不能有自己的主机名,而是必须使用websitename.azurewebsites.net,你当然可以在你的DNS提供商中使用CNAME设置来路由你的请求,与之前的Windows Azure角色完全相同,只有当它们在保留模式下运行时。共享网站不支持CNAME设置。

其他回答

我发现的另外两件事是为自定义域站点获取SSL的成本和多租户配置。

对于网站,你需要在标准实例的基础上每月支付(小实例是最便宜的选择)。这意味着为了获得自定义域https将花费你~70/月的小实例加上~41/月的SSL支持所有浏览器。

对于WebRole,您可以免费获得XS实例并添加自己的SSL,这意味着每月约15美元 你有一个自定义的SSL域。

对于多租户网站检查 多租户Azure动态通配符CName

web角色是承载多个网站的虚拟机

Azure Web角色就像一个虚拟的私有主机。你有一个虚拟机作为你的web服务器,你拥有这个虚拟机实例。

Azure Web站点就像一个弹性共享托管服务。你把你的应用程序部署到一个不受你控制的web服务器上,它也为其他用户的网站提供服务。您可以根据资源需求的变化,上下扩展站点(需要额外付费),使其更具弹性。

There is one more scenario that is up the air: After these 500 exceptions are eliminated, they haven't said anything about the ability of Azure Websites to handle wildcard CNAME's. Several of us are using Nate's Web Role Accelerator in Cloud Services, becuase a one-line hack provided wildcard subdomain capability in Nate's software. We can't move these wildcard subdomain apps until we know that Azure Websites will be able to handle them. If it won't ever be able to do that, then it goes down as a positive on the Web Role side of the equation. Also of note is that with pricing being exactly the same (after the preview discount expires), I'm not sure I want to give up my access to RDC and Event Viewer (just to mention two things).

EDIT 2014:不管怎样,这个答案中的很多信息都不再正确了——请看评论。

在@David的回复中添加更多内容:

使用Windows Azure网站,您无法控制IIS或web服务器,因为您在同一台机器上使用一个资源片以及数百个其他网站,您像其他网站一样共享资源,因此无法控制IIS。

共享网站和Azure web角色之间的最大区别是,网站被认为是进程绑定,而角色被认为是虚拟机绑定。

网站存储在内容共享中,可以从场中的所有“web服务器”访问,因此不需要复制或类似的东西。

Windows Azure网站不能有自己的主机名,而是必须使用websitename.azurewebsites.net,你当然可以在你的DNS提供商中使用CNAME设置来路由你的请求,与之前的Windows Azure角色完全相同,只有当它们在保留模式下运行时。共享网站不支持CNAME设置。