Adapting old legacy apps for the cloud

The switch to the cloud is not so quick, at least here in Italy, but fortunately I can see a growing interest from customers on switching certain types of applications from on-premises to on-cloud solutions.

What I can see is that often there’s a misconception about switching an old legacy apps to the cloud: should I totally rewrite my application? What about the costs of rewriting an application that works and that we’ve developed in many years of works?

When you decide to switch an old legacy application to the cloud, you’ve not forced to totally rewrite the application. We all know that in the cloud world words like “microservices” are so hot nowadays, but splitting your application into microservices involves rearchitecturing all the app and (as you can imagine) this is not a quick work.

The movement could be a step by step process and you could “modernize” your application for the cloud by simply  considering these tips:

  • Place your application in a container: in this way, you can create an environment that emulates your on-premises architecture in a quick way. Visual Studio has built-in support for Docker and Windows containers and with few work your app is ready to be placed on the cloud.
  • If your application uses a local database, move it to the cloud: here you can use SQL Azure or other Azure storage types. Rmemeber also that SQL Server can run on a container too.
  • Publish your “containerized” application (Docker image) to Azure Container Registry (ACR) (you can do that directly from Visual Studio)
  • Push the new Docker image from ACR to Azure Container Instances (ACI). You can easily do that by using the Azure CLI.

In this way, you can “restyle” your application for the cloud by changing zero (or very few) lines of code.