【发布时间】:2016-07-15 04:52:18
【问题描述】:
我正在尝试将许多解决方案迁移到 Azure。
解决方案由多个项目组成,但项目可归结为三种基本类型:
- ASP.NET MVC/WebForms 应用程序
- ASP.NET WebApi 应用程序
- .Net Windows 服务(我们有很多)
每个项目都使用我们运行的 RabbitMQ 集群。
目前,这些都在我们数据中心的 Windows 服务器上运行。 我们不想只是拿起并开始在云中运行虚拟机,我们想转而利用 PaaS 产品,因为管理和维护服务器不是我们想做的事情。
但是,在将 Windows 服务迁移到 Azure PaaS 时,我对 Microsoft 推荐的流程感到困惑。讨论了 Worker 角色、Web Roles、Logic Apps 和 Web Jobs。
最初看起来工作角色将是要实现的目标,所以我实现了一个非常简单的工作角色,它与我本地机器上的 RabbitMQ 集群对话,它运行良好。 然后我在 Azure(资源管理器)的虚拟网络中设置了 2 个虚拟机,现在我发现辅助角色只能连接到通过经典门户(WTF)创建的虚拟网络。
所以我的问题是:
在 Azure 中拥有 Windows 服务的推荐方法是什么,记住我们希望尽可能使用 PaaS 产品而不是 IaaS。 文档接缝到处都是,有些地方在谈论经典门户网站,有些地方在谈论新门户网站。
我不敢相信我是第一个想要让 ASP.NET WebApp 能够与 Azure 虚拟网络上的虚拟机对话并且还拥有某种 Windows 服务也能与同一个虚拟机对话的人机器。
【问题讨论】:
-
在 Azure 中运行应用程序没有单一的推荐方法。至于您对文档“无处不在”的评论 - 经典门户已经存在 很多年,而新门户最近才正式发布,因此两者都有文档。诸如 Web 应用程序(和 Web 作业 + 功能)之类的 PaaS 服务在功能集中不断增长,但您可能仍然需要仅由 VM 提供的功能,例如。我发布了一个答案here,描述了网络角色与网站,这可能有助于该特定领域。
标签: azure azure-web-roles azure-worker-roles azure-resource-manager