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 *

fifteen − ten =

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

How to setup Code Repository in Azure Data Factory

Why activate a Git Configuration? The main reasons are: Source Control: Ensures that all your changes are saved and traceable, but also that you can easily go back to a previous version in case of a bug. Continuous Integration and Continuous Delivery (CI/CD): Allows...

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 Synapse Analytics Power BI Integration

Creating a Linked Service for Power BI Open your Synapse Studio and select the Management Hub. Add a new Linked Service If you haven't connect to Power BI before, you will see the screen above. If you want to add another Power BI Linked Service(Workspace). Search for...

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...

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...

Azure Purview Costs in Public Preview explained

Why are you potentially charged for Azure Purview during the public preview? Since I published my post that Azure Purview started billing as of January 21th, I got a lot of questions how billing was working. UPDATE 27th of February: We are extending the Azure Purview...

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...

Azure Data Factory: How to assign a Customer Managed Key

Customer key With this new functionality you can add extra security to your Azure Data Factory environment. Where the data was first encrypted with a randomly generated key from Microsoft, you can now use the customer-managed key feature. With this Bring Your Own Key...

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...

SSMS 18.xx: Creating your Azure Data Factory SSIS IR directly in SSMS

Creating your Azure Data Factory(ADF) SSIS IR in SSMS Since  version 18.0 we could see our Integration Catalog on Azure Instances directly. Yesterday I wrote an article how to Schedule your SSIS Packages in ADF, during writing that article I found out that you can...