Popular scenarios for using Azure DevTest Labs
Depending on the needs of an enterprise, DevTest Labs can be configured to meet different requirements. This article discusses the popular scenarios. Each scenario covers benefits brought by using DevTest Labs and resources to use to implement those scenarios.
- Developer desktops
- Test environments
- Training sessions, hands-on labs, and hackathons
- Sandboxed investigations
- Classroom labs
Developers often have different requirements for development machines for different projects. With DevTest Labs, developers can have access to on-demand virtual machines that are configured to suit their most common scenarios. DevTest Labs provides the following benefits:
- Organizations can provide common development machines ensuring consistency across teams.
- Developers can quickly provision their development machines on demand or claim an existing pre-configured machine.
- Developers can provision resources in a self-service way without needing subscription-level permissions.
- IT or admins can pre-define the networking topology and developers can directly use it in a simple and intuitive way without requiring any special access.
- Developers can easily customize their development machines as needed.
- Administrators can control costs by ensuring that:
For further reading, see Use Azure DevTest Labs for developers.
Creating and managing test environments across an enterprise can require a significant effort. With DevTest Labs, test environments can be easily created, updated, or duplicated. It allows teams to access a fully configured environment when it’s needed. In this scenario, DevTest Labs provides the following benefits:
- Organizations can provide common testing environments ensuring consistency across teams.
- Testers can test the latest version of their application by quickly provisioning Windows and Linux environments by using reusable templates.
- Administrators can connect the lab to Azure DevOps to enable DevOps scenarios
- Lab Owners can control costs by ensuring that:
For more information, see Use Azure DevTest Labs for VM and PaaS test environments.
Developers often investigate different technologies or infrastructure design. By default, all environments created with DevTest Labs are created in their own resource group. The DevTest Labs user gets only read access to those resources. However, for developers who need more control, a lab-wide setting can be updated to give contributor rights to the originating DevTest Labs user for every environment they create. With DevTest Labs, developers can be given contributor permission automatically to environments that they create in the lab. This scenario allows developers to add and/or change Azure resources as they need for their development or test environments. The cost by resource page allows Lab Owners to track the cost of each environment used for investigations.
For more information, see Set access rights to an environment resource group.
Trainings, hands-on labs, and hackathons
A lab in Azure DevTest Labs acts as a great container for transient activities like workshops, hands-on labs, trainings, or hackathons. The service allows you to create a lab where you can provide custom templates that each trainee can use to create identical and isolated environments for training. In this scenario, DevTest Labs provides the following benefits:
- Policies ensure trainees only get the number of resources, such as virtual machines, that they need.
- Pre-configured and created machines are claimed with single action from trainee.
- Labs are shared with trainees by accessing URL for the lab.
- Expiration dates on virtual machines ensure that machines are deleted after they are no longer needed.
- It’s easy to delete a lab and all related resources when the training is over.
For more information, see Use Azure DevTest Labs for training.
Proof of concept vs. scaled deployment
Once you decide to explore DevTest Labs, there are two general paths forward: Proof of Concept vs Scaled Deployment.
A scaled deployment consists of weeks/months of reviewing and planning with an intent of deploying DevTest Labs to the entire enterprise that has hundreds or thousands of developers.
A proof of concept deployment focuses on a concentrated effort from a single team to establish organizational value. While it can be tempting to think of a scaled deployment, the approach tends to fail more often than the proof of concept option. Therefore, we recommend that you start small, learn from the first team, repeat the same approach with two to three additional teams, and then plan for a scaled deployment based on the knowledge gained. For a successful proof of concept, we recommend that you pick one or two teams, and identify their scenarios (dev environment vs test environments), document their current use cases, and deploy DevTest Labs.
Read the following articles: