Friday, September 20, 2013

Run your development workstation in the cloud

I have been working lately on projects that require me to use legacy versions of development tools (such as VS 2010, SQL 2008 R2 etc). I normally run the latest and greatest versions of everything on my personal development workstation so this has forced me to put up a Hyper-V virtual machine that has the required versions set up properly. Luckily MSDN has all of the legacy versions downloadable :)

I do development work using multiple workstations depending on where I happen to be. I have a more powerful, bigger laptop at my office as the primary developer workstation with external display, keyboard etc. Since it is a bit painful to lug that laptop around when visiting customers, I also have a more lightweight laptop that I use as my take-anywhere tool of choice. That leads to a problem of what to do with the locally hosted development vm? I could copy it to both laptops (the lightweight one is also a Win8Pro machine), but then it would be out of sync constantly on the other machine, although all project source code is managed via the Team Foundation Service at http://tfs.visualstudio.com/.

The solution I came up with is that instead of running a local vm I set up a vm in Azure as an IaaS virtual machine. There is even a platform image with a legacy OS and SQL Server version:

clip_image001

So that would solve my problem! This solution has the benefits of being able to access the same hosted vm from either of my active development machines (or any other machine that has remote desktop capability). It was also a positive surprise (although I knew that but hadn’t realized it in practice earlier) that hugely large downloads from MSDN get downloaded via the extremely quick network that Azure datacenters have. Downloading a 4GB ISO image took a mere 15 minutes or so!

In practice, I already had a vm set up locally, so I also explored the option of moving that vm to Azure instead of creating a new one. In a later post I will explain how to move an existing vm image to Azure.

PS. This post was mostly written in the inspiring environment of Aalto AppCampus open house event on the “national work from home day” in Finland where I met many old friends and made some new ones!