Azure’s DevTest Labs Service – Walk through

Once again in keeping with true Microsoft release cadence, a major new service is released every 2 days. This one has been recently announced for public preview.

What is this new shiny toy?

Azure allows you to create an environment where VM’s connected via VNETs (& other types of resources able to be added) can be spun up, spun down based on set *local* times – so you don’t leave your G1 machines running for a week when they’re not used.

We can set limits in this new environment such as:

  • Cost thresholds
  • Allowed VM sizes
  • Max VMs per user
  • Auto start/shutdown

These VMs can be based off your own VM images or Market place images.

We can also add artifact repositories which allow us to pull packages from GitHub or TFS Online(with a Git repo)

Create once, use everywhere.

A great wrapper environment to make management a whole lot easier – we had something similar to this through Azure Pack for both cloud and Hyper-V on-premises machines.

Oh did I mention it’s a free service you’re only charged for the bits you spin up inside.

Networking – Currently all VMs within the same Lab Environment can see each other on the same VNet. I’ve got many scenarios where for e.g. running a class/POC/Pilot etc. we need to spin up 15 VMs configured in pairs (one as an apps server, the other as a DB Server) for the 1 student, and 2 students shouldnt be able to see each others VMs on the network.

…. watch this space for now.

A Walk Through in Setting one up:

Create the DevTest Lab Environment

Starting at the ‘new’ Azure Portal –, login and select DevTest Labs


2. Add a New Lab Environment selecting the location you’d like to have the DevTest Lab setup – here is WestUS


(behind the scenes this operation creates a Resource Group where your resources are automatically added to it – makes it easy for management and cleanups)

3. After a short while, the Lab environment is ready to use. You can see here I’m setting limits on the size of VMs to use. (At time of writing not all features are fully functional – e.g. Cost Thresholds said “Coming soon…”)


4. Create Lab VM – Let’s go ahead and create a couple of VMs over a VNet – with our VNets, we have the option to make subnets publically accessible or not which is a pretty cool feature.

  • Clicking on + Lab VM to create a VM, we’re going to add 2 base VMs and get them to talk to each other.
  • The cool thing here is that as we prepare the VM, we’ve got the option to select images from the Microsoft Azure Market place, as well as being able to install ‘Artifacts’ along with them (a nice interface to DSC).
  • I selected 7-zip and Putty.
  • Talk about making it simple!
    (we can also author our own Artifacts – Custom Artifacts)


Once complete we can also view the ARM Template behind creating this VM – nice!

5. While the VM is creating a went away and added a couple of users Aaron + Rene as Lab Users to use the environment. (It would be nice to add AAD groups rather than individual users)

These users can connect to the Lab environment and create a Lab VM from my existing pre-configured set. No more configuring VMs etc – give it a name and select from the base and away we go.

6. Autostart and AutoShutdown settings – these are in local time and by default apply to all VMs in the Lab. You can disable the startup/shutdown feature on each individual VM as desired.

Finally… we’re there…

My fully configured VM with 7-zip installed


Got a few ideas to play with here….

All in all the service has a little way to go for full polish but it’s good to get straight in there and start cracking.


Here’s the link to get on your way –












One comment

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