Azure DevTest Lab: your development and test cloud environments

One of the new services introduced during the Connect(); event was Azure DevTest Labs, which is one of the anticipated by many. When we talk about environments of development and testing on local machines we always see the same drawbacks: the time that it takes to get those environments, the cost of a decent infrastructure, the time dedicated to assemble and install the tools we need pass from hours to days. In addition, the speed that different tools are updated takes that «create an image« for the teams is an obsolete practice. All of that contributes to nonreal productivity business hours and that’s the reason why a solution like this makes more than one happy.

To give you an idea, with Azure DevTest Labs you can:

  • Have a self-service system for developers and testers: one of the main objectives of this service is to offer developers the ability to create their own machines under a series of conditions, defined through policies.
  • Policies: be able to restrict access to certain types and number of machines.
  • Templates: provide developers a set of images for the laboratory.
  • Security: establish roles to different users of the lab.
  • Quotasset a schedule and budget that fits your scenario.

To create your laboratory, you need to access via and select New > Developer Services Azure DevTest Labs.

New - Developer Services - DevTest Labs
New – Developer Services – DevTest Labs

You need a name for your lab, select a subscription, the region and enable or disable the shutdown option.

Create a DevTest Lab
Create a DevTest Lab
The shutdown option means that can select a time when all machines in the lab will turn off automatically, so developers/testers won’t make the mistake of leaving their environment on, once finished the working day.

Once created the laboratory, as an administrator you can set up several options. If you access the Settings section you can see all you can manage:

Azure DevTest Labs - Settings
Azure DevTest Labs – Settings
  • Properties: the laboratory information, such as name, the subscription, region, etc.
  • All VMs: as admin, you can see all the VMs of all the users in the lab.

    Azure DevTest Labs - All VMs
    Azure DevTest Labs – All VMs
  • Templates: the images that can be used for the VMs. You can even upload your own by pressing the + Template button.

    Azure DevTest Labs - Templates
    Azure DevTest Labs – Templates
  • Artifact Repository: You can also associate a repository of artifacts that you provide your developers. As you’ll see later, this allows you to add installations and processes during the creation of the virtual machine that you need. See this post to know more about it.

    Azure DevTest Labs - Artifact Repository
    Azure DevTest Labs – Artifact Repository
  • Cost Thresholds: Not available yet, but you will be able to set an amount of money dedicated for your lab.

    Azure DevTest Labs - Cost Thresholds - Coming soon
    Azure DevTest Labs – Cost Thresholds – Coming soon
  • Allowed VM Sizes: this option is one of the more interesting, since it limits access to the sizes of machines that the administrator has estimated that they are suitable for use in development and testing, avoiding to use exaggerated sizes that pose great expense.

    Azure DevTest Labs - Select Allowed VM Sizes
    Azure DevTest Labs – Select Allowed VM Sizes
  • Maximum VMs: You can also choose the maximum number of virtual machines that each developer can create and what is the maximum of machines for this lab.

    Azure DevTest Labs - Max VMs Policies
    Azure DevTest Labs – Max VMs Policies
  • Auto Shutdown: It‘s the same option dressing during creation, which determines what time all lab machines are turn off.

    Azure DevTest Labs - Auto Shutdown
    Azure DevTest Labs – Auto Shutdown
  • Users: Here you can add groups or users who will have access to the lab with different roles.

    Azure DevTest Labs - Users
    Azure DevTest Labs – Users
  • Tags: it can be associated tags with the laboratory and assign a series of keys that allows you to relate it to other services in a logical manner.

Once the lab is set, you can begin to create virtual machines. The only thing you have to do is select the action + Lab VM on the top menu.

Add Lab VM
Add Lab VM

The first thing you must choose is a name for your VM. Then you should select one of the images which the admin has chosen for this environment.

Add Lab - Base
Add Lab – Base

You will need also a username and password to access the virtual machine and a Vm size. You can see that in the VM Size section only appears the machines previously selected by the administrator in the Allowed Sizes VM section.

Add Lab VM - Choose your VM Size
Add Lab VM – Choose your VM Size

Although we haven’t added any artifact repository, there are a number of applications that the product team has provided in a public repository by default.

Add Lab VM - Add Artifacts
Add Lab VM – Add Artifacts
In order to perform the installation of those tools, they use Chocolatey package manager.

The region will be the same for all virtual machines in the lab, so that today it is not possible to modify it. On the other handit will be possible to view the ARM template used for the creation of this machine, but it is coming. Enter your username and password and wait for the creation of the machine and the installation of the packages.

Azure DevTest Labs - returngis - creating VM
Azure DevTest Labs – returngis – creating VM

Once finished the installation you can access it as usual.

Azure DevTest Labs - VM - Connect
Azure DevTest Labs – VM – Connect