This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can trysigning in orchanging directories.
Access to this page requires authorization. You can trychanging directories.
This article discusses how to use Azure DevTest Labs for several different development, test, and training scenarios. Here are some popular DevTest Labs scenarios:
The following sections describe how DevTest Labs supports these scenarios, while helping lab owners and administrators control lab access and costs.
Labs are the starting point in DevTest Labs. After you create a lab, you can:
The following diagram shows how lab owners can configure policies and provide resources for lab users:

To create a lab in Azure DevTest Labs, you can use any of the following methods:
Azure portal |Bicep file |ARM template |Terraform |PowerShell with Azure REST API
You can also automate lab creation, including custom settings, with a reusable ARM template. For more information, seeARM templates in Azure DevTest Labs.
DevTest Labs creates a new virtual network for each lab. If you have another virtual network configured with Azure ExpressRoute or site-to-site virtual private networking (VPN), you can add it to your lab and create lab VMs in that virtual network. For more information, seeConfigure a virtual network in Azure DevTest Labs.
Lab owners can add users to labs by using the Azure portal or a PowerShell script. For more information, seeAdd lab owners, contributors, and users in Azure DevTest Labs. Lab users don't need to have an Azure account as long as they have a Microsoft account.
Lab users can view all lab resources, such as VMs, policies, and virtual networks. Lab users can't modify policies, or access VMs that other users create or claim.
To monitor and control costs, lab administrators and owners can:
Developers and testers might need many identical VMs for performance or load testing, or might need different types of VMs for different projects or iterations. DevTest Labs users can create, configure, and access VMs on demand to meet their needs. Starting with common VM images promotes consistency across teams.
In DevTest Labs, developers can:
Lab users can create lab VMs in minutes by choosing from a wide variety of ready-made Azure Marketplace images. To learn about making selected Marketplace images available for lab users, seeConfigure Azure Marketplace images.
Lab owners can also install needed software on a VM, save the VM as acustom image, and make the image available in the lab. Lab users can use the custom image to create VMs that have the software preinstalled. For more information, seeCreate a custom image.
You can use animage builder to automatically build and distribute your custom images regularly. This configuration-as-code solution eliminates the need to manually maintain VM images, by keeping the base OS and components up to date. For more information, seeAzure VM Image Builder.
A DevTest Labsformula is a list of default property values for VMs. A lab owner can create a formula in the lab by picking a VM image, a VM size based on CPU and RAM, and a virtual network. Lab users can see the formula and use it to create VMs. For more information, seeManage DevTest Labs formulas.
Lab users can addartifacts to configure their lab VMs. Artifacts can be:
Many artifacts are available out of the box. You can also createcustom artifacts if you need more customizations. You store custom artifacts in a private Git repository you connect to your lab, so all lab users can add the artifacts to their VMs. For more information, seeCreate custom artifacts for DevTest Labs andAdd an artifact repository to a lab.
You can add an Active Directory domain-join artifact to join VMs to an Active Directory domain at creation. This artifact applies only to domains.
Many development and test scenarios require multi-VMenvironments equipped with PaaS resources. Examples include Azure Web Apps, SharePoint farms, and Service Fabric clusters. Creating and managing environments across an enterprise can require significant effort.
With DevTest Labs, teams can easily create, update, or duplicate multi-VM environments. Developers can use fully configured environments to develop and test the latest versions of their apps. DevTest Labs environments ensure consistency across teams.
By using ARM templates to deploy environments, you can:
For more information, seeUse ARM templates to create DevTest Labs environments.
By default, DevTest Labs creates environments in their own resource groups, and DevTest Labs users get read access to those environments. With read-only access, users can't add or change resources in those environments. But developers often need to investigate different technologies or infrastructure designs.
Lab owners can allow users more control by giving them Contributor rights to environments. Contributors can add or change Azure resources as necessary in their own development or test environments. For more information, seeConfigure environment user rights.
DevTest Labs is well-suited for transient activities like workshops, hands-on labs, training, or hackathons. In these scenarios:
Lab owners can manage costs by deleting labs and VMs when they're no longer needed.
To start exploring DevTest Labs, organizations can useproof of concept andscaled deployments.
While an immediate scaled deployment sounds tempting, this approach often fails without a proof of concept. It's best to start small, learn from a single team, repeat the same approach with a few more teams, and then plan a scaled deployment based on the knowledge gained.
For a successful proof of concept:
If you have an Azure account, you can get started with Azure DevTest Labs in minutes:
Was this page helpful?
Need help with this topic?
Want to try using Ask Learn to clarify or guide you through this topic?
Was this page helpful?
Want to try using Ask Learn to clarify or guide you through this topic?