Azure DevTest Lab is a wonderful service to manage virtual machines for the purposes of developing and testing in a team scenario. This gives the opportunity for a development team to set granular policies for the lab environment that would may otherwise be managed by the infrastructure or operations group.
Here is a summary of my favourite features and policies when I’m in a role of a developer lead, technical project manager or applications delivery manager.
- Allowed Virtual machine sizes to limit the selection of VM sizes
This is very practical to control which VM sizes your team can select during creation. Assuming they don’t need to choose overly large and expensive VMs, you can ensure those can’t be selected by your lab users. You can also simplify their size choices. There is no point to scroll through 40+ VM sizes. I would rather give the options to choose VM sizes ranging from 2 to 8 core and 4 to 28GB RAM. As well as Economical B series, General Purpose D series and Compute optimized F series. So in total they have about a dozen to choose from.
- Virtual machines per userEstablish limits on number of VMs and number of VMs with the very costly premium OS disks. The limit on premium OS disks is a good idea because though a VM is stopped, the premium storage is still being charged. And so your costs quickly add up.
Set allowed virtual machine sizes
- Virtual machines per lab
Set the above limits at the lab level.
When a user is creating a VM when the limit is exceeded, then will encounter this error message.
Set allowed virtual machine sizes
- Auto-start/shutdown schedulesThis is definitely a favourite and very useful in managing compute costs of virtual machines. Note that auto start/shutdown schedules can be established at the lab level for all VMs to opt in, but only the shutdown schedule can be overridden at the individual VM level. In normal VMs outside of devtest, you can’t schedule auto start schedules through a UI. So, in devtest lab, this is especially helpful as an OOTB feature.
- Access Control to manage users and access to your labTo add users to the lab, go to Configuration and policies > Access control (IAM) > Add
Select Role as DevTest Labs User
You can add external users that have already been added to your Azure AD. This is great for external collaboration where other developers can use their own Microsoft or Azure AD account and credentials.
Add owners and users in Azure DevTest Labs
- Claimable virtual machines
A claimable VM allows a VM to be under the list of the lab users My Virtual Machines. This allows you exclusively control and manage the settings of the VM, including start and stopping. I find that another lab user may be able to RDP into the VM. Whether they have the credentials is a separate topic. From a process point of view, this may be useful where a claimed VM can indicate to the team that a lab user has it under control including configuration within the VM although another lab user can possibly connect.
One way of controlling login access of the VM is to apply the artifact to reset the password after claiming the VM so that others can’t login.
- Cost trend and cost by resource to track costs aligned to your budgets.As a project manager, this is definitely a favourite to track the costs of the lab so it is aligned to budgets.
The Cost trend shows the current cost in the month and the projected cost at the end of the monthly period.
You can click on Manage targets to set thresholds, targets and alerts.
Very detailed tracking of costs by resource and the lab user who created the VM as the owner.
For pricing details read Azure Dev/Test Pricing
For Windows, SQL Server and BizTalk Virtual Machines, it is stated as “Billed at CentOS/Ubuntu Linux VM rates”
You can go the Azure pricing calculator to see detailed pricing options
https://azure.microsoft.com/en-us/pricing/calculator/?devtest=true&service=virtual-machinesHowever, it is noted the cost trend is reflective of monthly-pay-as-go rates and are not discounted with dev/test pricing. For details read the documentation View the monthly estimated lab cost trend in Azure DevTest Labs
“the costs you see by default in the chart are estimated costs using Pay-As-You-Go offer rates.”
Highly recommend the use of DevTest Labs as one who is managing a development and test team and be given some delegation of your own Azure IaaS resources from your infrastructure or operations team.
You can get full details and how-to’s at https://docs.microsoft.com/en-us/azure/devtest-lab/devtest-lab-overview
To read my other Azure DevTest blog posts:
My Favourite Features of DevTest Labs for the Developer
Copying an Azure VM into Azure DevTest Lab