I'm trying to migrate a number of solutions into Azure.
The solutions consist of multiple projects but the projects come down to three basic types:
- ASP.NET MVC/WebForms Application
- ASP.NET WebApi Application
- .Net Windows Services (We have a large number of these)
Each of these projects utilize a RabbitMQ cluster that we run.
At the moment these are all running on our windows servers in our data center. We do not want to just pick up and start running Virtual Machines in the cloud, we want to move to utilize the PaaS offerings as managing and maintaining the servers is not something we want to do.
However I am confused on what Microsoft's recommended process is when it comes to migrating a Windows Service to Azure PaaS. There is talk about Worker roles, Web Roles, Logic Apps and Web Jobs.
It initially looked like worker roles would be the thing to go towards so I implemented a very simple worker role that talks to a RabbitMQ cluster on my local machine and it worked fine. I then setup 2 virtual machines in a virtual network in Azure (Resource Manager) and now I find that worker roles can only connect to a virtual network created via the classic portal (WTF).
So my question is:
What is the recommended approach to having windows services in Azure, remembering that we want to utilize PaaS offerings rather than IaaS wherever possible. The documentation seams to be all over the place, some places are talking about the classic portal some are talking about the new portal.
I cannot believe that I'm the first person to ever want to have an ASP.NET WebApp be able to talk to a virtual machine on a Azure Virtual Network and also have some kind of windows service also talk to the same virtual machine.