Azure WebRole或辅助角色或逻辑应用程序或WebJobs

时间:2016-07-15 04:52:19

标签: azure azure-web-roles azure-worker-roles azure-resource-manager

我正在尝试将大量解决方案迁移到Azure中。

解决方案由多个项目组成,但项目分为三种基本类型:

  • ASP.NET MVC / WebForms应用程序
  • ASP.NET WebApi应用程序
  • .Net Windows服务(我们有很多这些)

这些项目中的每一个都使用我们运行的RabbitMQ群集。

目前这些都在我们数据中心的Windows服务器上运行。 我们不想只是在云中启动并开始运行虚拟机,我们希望转而使用PaaS产品,因为管理和维护服务器不是我们想要做的事情。

但是,在将Windows服务迁移到Azure PaaS时,我对Microsoft推荐的流程感到困惑。有关于工作者角色,Web角色,逻辑应用程序和Web作业的讨论。

最初看起来工作者角色将会成为事情,因此我实现了一个非常简单的工作者角色,该角色与我本地计算机上的RabbitMQ群集进行通信,并且工作正常。 然后,我在Azure(资源管理器)中的虚拟网络中设置了2个虚拟机,现在我发现工作者角色只能连接到通过经典门户(WTF)创建的虚拟网络。

所以我的问题是:

在Azure中使用Windows服务的推荐方法是什么,记住我们希望尽可能利用PaaS产品而不是IaaS。 文档接缝到处都是,有些地方正在讨论经典门户,有些人正在谈论新门户。

我无法相信我是第一个想要让ASP.NET WebApp能够与Azure虚拟网络上的虚拟机通信的人,并且还有某种Windows服务也可以与相同的虚拟机。

1 个答案:

答案 0 :(得分:0)

答案是,一如既往,"它取决于"。 完整答案可能很长,但有两个字:

您可以将新的Azure门户作为" Azure2.0"。在其他更改中,Azure completely changed the way its resources are created and managed

Web / Worker角色(云服务)属于" old"模型,你有你描述的限制。

WebJobs和逻辑应用程序可以很棒,以及Azure Functions - 但每个都限制了您的代码/解决方案的限制。

我考虑查看Azure Service Fabric - 它应该可以让您更有效地部署和重用已迁移服务的计算资源