Create Virtual Machines with Azure DevTest Lab

by Dec 19, 2019

A while ago I had to give a training. Normally I would roll out a number of virtual machines in Azure. Until someone brought my attention to an Azure Service, Azure DevTest Labs. With this Azure service you can easily create a basic image and use this image to roll out a series of virtual machines with even the option to automatically clean them up after a training or test period. This way you can also optimally save costs. You have to go through a number of steps and I thought it would be useful to share these steps with you.

Table of Content

  1. Configuration in Azure
  2. Create Master Virtual Machine
  3. Starting the Virtual Machine
  4. Creating Base Image
  5. Create Training Virtual Machines

Configuration in Azure

Create a Resource Group in which you want to install the Azure DevTest lab. Search for the Azure Service DevTest Labs and click Create.

Lab name:
The DevTest Lab name

Western Europe or other desired Region

Indicate who the Owner is. 

Shut down the machine automatically every day to save costs. Don’t forget to select the correct time zone.
Then click Create to start building the DevTest lab.

After the DevTest lab has been created, the following resources are also created. 

StorageAccount: Storage location for your Artifacts

KeyVault: Securely store your DevTest Lab passwords

An important step before we create these Virtual machines is that we must indicate in which Resource Group these Virtual machines will be created later. If we don’t do this, a Resource Group will be created automatically with a name that most likely does not comply with various naming conventions in your company.

To do this, go to Configuration and Policies.

Click on Lab settings and check the box next to “All Virtual machines in one Resource group“, create a new Resource Group as in the example above. Finally save these settings.


Create Master Virtual Machine

If we want to make in a later stadium several training machines, we will first have to make a Base Image. For this we first have to create a Virtual machine.
Go to the newly created DevTest Lab environment and click Add.

Select a basic Image that you want to use. In this case I have selected a Windows 10 Image.

Virtual machine name:
Give the Virtual Machine a name, the 001 is not necessary for the Master. Note that the name may not be longer than 15 characters.

User Name:
Admin account to log in to the Virtual machine

A default password, check the box next to Save as default Password. The Password is now stored in the Azure Keyvault that was created

Disk and Size:
Select the Size of the Virtual machine here and choose from a Premium SSD, Standard SSD or Standard HDD disk type

During the creation of the Virtual Machine, we can immediately perform a number of installations so that they are available in the default Image to be created. Below I have selected to add SSMS.

Then click on Advanced settings.

Set the ip-address to Public. 

Go back to Basic Settings and click on Create to create the Virtual Machine

Starting the Virtual Machine

After the machine is started up, create 2 users which can be used during the training. Add this to the Remote Desktop user group, you can also add them to the Administrator group so that the student has all rights to this machine.

Install the Software that you want to use.

In this situation I have installed Power Desktop from the Windows Store, so that it always stays up to date.

In addition, I have installed SQL Server 2017 Developer Edition with a WorldWIdeImporters database.

It is important that you add the above created users as Admin users during the installation of eg Analysis services so that a student has sufficient rights to follow his training.

Then log in with 1 of the created users and check if everything works.

Then shutdown the Virtual Machine.


Creating Base Image

Select the Master Virtual Machine:

Click Create custom Image:

Give the image a name that you recognize it later and click on Create.


Create Training Virtual Machines

To create the Training Virtual Machines, we do actually the same as with the master.

We are adding a new one, only now we select as Base the Image we just made.

Give the machine a name, do not use numbers at the end as specified by default. These numbers will be added automatically when creating multiple machines.

Disk and Size:
Select the Size of the Virtual machine here and choose from a disk type Premium SSD, Standard SSD or Standard HDD. Useful here is to use the same Disk Type that you used with the Master.

If you want to add another Artifact, you can do that here, but in principle we already have it in our Base Image.

Virtual Machine expiration:
As it concerns training machines, we also want them to be removed automatically after the training.
Then go back to the Basic Settings and click on Create.

Number of instances:
Define how many training machines you would like to create.

Go back to the Tab Basic Settings and click on Create.

The number of machines you have selected are immediately created with an increasing number. After the creation is complete, Students can now log into this Virtual Machines from their own laptop or desktop at with the User1 account, which we created in an earlier stage.

Feel free to leave a comment


Submit a Comment

Your email address will not be published. Required fields are marked *

3 − 3 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Change your Action Group in Azure Monitoring

Change a Action GroupPrevious Article In my previous artcile I wrote about how to create Service Helath Alerts. In this article you will learn how to change the Action Group to add, change or Remove members(Action Group Type Email/SMS/Push/Voice) Azure Portal In the...

How to create a Azure Synapse Analytics Workspace

Creating your Azure Synapse Analytics Workspace In the article below I would like to take you through,  how you can configure an Azure Synapse Workspace and not the already existing Azure Synapse Analytics SQL Pool(formerly Azure SQL DW): In de Azure Portal search for...

Create an Azure Synapse Analytics SQL Pool

Adding a new SQL Pool There are 2 options to create a SQL Pool. Go to your Synapse Workspace in de Azure Portal and add a new SQL Pool. Or go to the Management Tab in your Azure Synapse Workspace and add a new Pool. Creating a new SQL Pool SQL Pool Name (SQL pool name...

Azure Synapse Pause and Resume SQL Pool

Pause or Resume your Dedicated SQL Pool in Azure Synapse Analytics Azure Synapse Analytics went GA in beginning of December 2020, with Azure Synapse we can now also create a Dedicated SQL Pool(formerly Azure SQL DW). Please read this document to learn what a Dedicated...

Azure Data Factory: Generate Pipeline from the new Template Gallery

Last week I mentioned that we could save a Pipeline to GIT. But today I found out that you can also create a Pipeline from a predefined Solution Template.Template Gallery These template will make it easier to start with Azure Data Factory and it will reduce...

Service Healths in Azure

Creating Service Health Alerts in AzureAzure Portal In the Azure Portal go to Monitor – Service Health – Health alerts If you have created alerts before you will see them over here. Assuming you haven’t created an Alert before, we will start to create an Alert.1...

Scale SQL Database dynamically with Metadata

Scale SQL Database Dynamically with Metadata Use this template to scale up and down an Azure SQL Database in Azure Synapse Analytics or in Azure Data Factory. This article describes a solution template how you can Scale up or down a SQL Database within Azure Synapse...

Connect Azure Synapse Analytics with Azure Purview

How do you integrate Azure Purview in Azure Synapse Analytics? This article explains how to integrate Azure Purview into your Azure Synapse workspace for data discovery and exploration. Follow the steps below to connect your Azure Purview account in your Azure Synapse...

SSMS 18.1: Schedule your SSIS Packages in Azure Data Factory

Schedule your SSIS Packages with SSMS in Azure Data Factory(ADF) This week SQL Server Management Studio version 18.1 was released, which can be downloaded from here. In version 18.1 the Database diagrams are back and from now on we can also schedule SSIS Packages in...

Azure SQL Data Warehouse: How to setup Reserved Capacity

Purchase your Azure SQL Datawarehouse Reservation   Since a few weeks you can buy Reserved Capacity for an Azure SQL Datawarehouse (SQLDW). This Reservation can save you up to 65% on the normal Pay as You go rates with a 3 year pre-commit. A pre-commit of 1 year...