【发布时间】:2014-01-23 10:30:55
【问题描述】:
您能否在 Azure 中的单个 VM 上运行 standard Website 和 Cloud Service?我正在尝试确定是否可以在单个大型 VM 实例中运行一个具有辅助角色的网站来处理后台作业。
注意:选择Large主要是为了网站的RAM需求,后台服务应该是相当轻量级的。
编辑:如果它们不能在同一个虚拟机上运行,那么拥有 Web 角色和辅助角色是下一个最佳选择吗?这需要我管理虚拟机吗?
【问题讨论】:
您能否在 Azure 中的单个 VM 上运行 standard Website 和 Cloud Service?我正在尝试确定是否可以在单个大型 VM 实例中运行一个具有辅助角色的网站来处理后台作业。
注意:选择Large主要是为了网站的RAM需求,后台服务应该是相当轻量级的。
编辑:如果它们不能在同一个虚拟机上运行,那么拥有 Web 角色和辅助角色是下一个最佳选择吗?这需要我管理虚拟机吗?
【问题讨论】:
不,Windows Azure 网站不与云服务共存;但是,您当然可以运行一个云服务 Web 角色,该角色在后台启动其他事情。您可以通过在网站包中包含您希望执行的代码,然后通过角色入口点的 OnStart 中的 ProcessStart 将其启动,或者您可以使用启动任务启动它 (http://msdn.microsoft.com/en-us/library/windowsazure/hh127476.aspx )。
您为什么选择大型来运行它?是因为后台工作需要更大的功率吗?如果是这样,您可以从小型和中型获得相同的成本,甚至两个小型的成本更低。不要忘记,如果您的“工作进程”是 CPU 密集型的,它可能会破坏机器并耗尽 Web 处理。
我完全赞成在同一个虚拟机上托管多个进程,尤其是对于工作人员,但如果涉及到大量流量,我会怀疑这样做涉及网络角色。
如果您不需要使用 PaaS 模型,另一种选择是使用新的 IaaS(Windows Azure 虚拟机)并在其上运行 IIS 和 Windows 服务作为后台工作程序;但是,这样做意味着您将拥有并且必须照顾 VM 以进行修补等。
【讨论】:
好消息..您现在可以这样做了!
Introducing Windows Azure Web Jobs
所以现在您可以拥有一个单一的 PaaS 网站和后台服务,甚至无需查看工人或角色!
【讨论】: