Pop-up labs in Windows Azure

I recently came across these two excellent videos about the concept of a pop-up lab in Windows Azure using the IaaS approach of provisioning your own virtual machines. The “pop-up” part of this is that the lab is built, then turned off and de-allocated while not in use. Scripts are used to turn the lab back on, returning your lab environment in about 7 minutes.


There’s been some changes to Azure billing now that make these videos a bit out of date, but the good news is it just simplifies things. Now when you shut down a VM from the management console (or via PowerShell) they are automatically de-allocated, which means they are not being billed. The start / stop scripts then basically become startup and shutdown scripts which makes things a lot easier.


So over time you can build up a variety of labs – whether they be SharePoint, CRM, even Linux shenanigans and have them sitting there “off” and only turn them on when needed.


Why would you want to do this? Some possible ideas:

  • You need a multi-server environment to test your app
  • You want to try out an install from a known base
  • You want to experiment with some of the different configurations of server sizes for your app
  • You want to establish a short-term demo environment and give other people access to it over the internet


One of the greatest features for an infraloper like me (i.e. someone with a developer background who knows enough about infrastructure to be dangerous) is that Azure comes with network load balancing. So in the example of a SharePoint farm you define an endpoint that then handles load balancing between all your web front ends. Configuration is done through the console and only takes a couple of minutes. You can apply this concept to multiple CRM servers, multiple IIS servers hosting an ASP.NET app, even multiple Linux servers with Apache if you wanted.


Even in workplaces where I’ve had control over the physical host that hosts my VMs I haven’t yet had access to make network changes to do this kind of thing. So being able to configure this in Azure is pretty appealing.


Someone asked me why you’d need this at all – doesn’t “the cloud” just scale? With IaaS you’re taking the middle ground of retaining enough control that you’re doing an “on premise” installation of products (from the perspective of the software installation steps), it’s just that your premises in this case is the Azure cloud. It could just as easily be Amazon EC2, a bunch of VPS at a traditional provider. 


Overall I was pretty impressed with how this offering from Microsoft has progressed. I’m only able to play around with this stuff thanks to my MSDN subscription which gives me free hours. But thanks to the “only billed when it is on” approach I can configure a variety of environments and have them ready to go if I need them in the future.

Leave a Reply

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s