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 non–real 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.
- Quotas: set a schedule and budget that fits your scenario.
To create your laboratory, you need to access via https://portal.azure.com and select New > Developer Services > Azure DevTest Labs.
You need a name for your lab, select a subscription, the region and enable or disable the shutdown option.
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:
- 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.
- Templates: the images that can be used for the VMs. You can even upload your own by pressing the + Template button.
- 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.
- Cost Thresholds: Not available yet, but you will be able to set an amount of money dedicated for your lab.
- 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.
- 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.
- Auto Shutdown: It‘s the same option dressing during creation, which determines what time all lab machines are turn off.
- Users: Here you can add groups or users who will have access to the lab with different roles.
- 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.
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.
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.
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.
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 hand, it 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.
Once finished the installation you can access it as usual.