Posted by: Vikas Sahni | February 10, 2011

Porting exisiting applications to Windows Azure

In order to take full advantage of the Windows Azure platform, you have to create applications from the start.  This is because you can then re-architect your application to use Windows Azure blobs and tables and partition it between different roles.  However, in the present economic climate, it is likely that you may not have the budget to redevelop an application from scratch.

VM Role to the rescue

Do not be disappointed after reading the above – the new VM role can help you to port a large percentage of applications that are currently running on Windows Server. 

To use a VM role to port an app to Azure, just follow the following simple steps:

  1. Make sure that your app runs on Windows Server 2008 R2
  2. Create a VHD (virtual hard disk) from the machine running Windows Server 2008 R2
  3. Upload this image to a VM Role in Windows Azure
  4. Connect the database – you can leave it as is on premises or move it across to SQL Azure

Multiple Instances

Remember that you need at least two instances of a role for the Microsoft SLA to kick in, and that the Azure Fabric automatically does load balancing between the instances for you.  This is not an issue for most apps running on Windows Server, as they are likely to be running in load-balanced multiple server environments.

However, it may be that your application is not able to handle multiple instances running at the same time.  If this is the case, some rework will be necessary.

Other Migration Alternatives

Applications that are stateless, or maintain state in SQL Server, can be ported to Azure with minor rework.  You should be able to copy the code across to an Azure project and deploy it with minor changes.  The data can be moved to SQL Azure.  This will not give you the full benefit of migrating to AzureAzure, mainly the native storage structures (Blobs, Tables and Queues).  However, this may not be an issue for many applications.  Also, remember that if the original app was not designed to work with multiple instances, testing and rework is required.

Next Azure post will be about the scenarios where it makes business sense to move to Azure.  But before that, expect something about SmartPhones.



  1. I do trust all of the ideas you’ve presented in your post. They are very convincing and can definitely work. Still, the posts are too short for newbies. Could you please lengthen them a bit from next time? Thank you for the post.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: