-1

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.

Kyro
  • 748
  • 1
  • 12
  • 28
  • There is no single recommended way for you to run your app in Azure. And as far as your comment about documentation being "all over the place" - the Classic portal has been around for *many years*, while the new portal only went GA recently, hence the documentation for both. PaaS services such as Web Apps (and web jobs + functions) are growing in feature sets but you still might require abilities only offered by VMs, for instance. I posted an answer [here](http://stackoverflow.com/a/10941526/272109) describing web roles vs web sites, that might help with that specific area. – David Makogon Jul 15 '16 at 05:32

1 Answers1

0

The answer is, as always, "It depends". The full answer can be very long, but in 2 words:

You can take new Azure portal as "Azure2.0". Among other changes, Azure completely changed the way its resources are created and managed

As far as Web / Worker roles (cloud services) are belongs to "old" model, you have limitations you described.

WebJobs and Logic Apps can be great, as well as Azure Functions - but each of them is limiting your code / solution to its restrictions.

I'd consider to check out Azure Service Fabric - it should allow you to more effectively deploy and reuse compute resources of your migrated services

evgenyl
  • 7,837
  • 2
  • 27
  • 32