Cloud & Infrastructure Blog

Mastering Azure & Cloud
one post at a time

Deep-dive guides on Azure Virtual Desktop, Cloud Security, and Infrastructure as Code — by Martin Therkelsen.

63+ Articles
5+ Years
Azure Focused

Azure Virtual Desktop deployment with Bicep - Part 6

Intro

In this blog post, I want to get my Bicep modules under source control. They are already in this repository, but it would be nice to use them in other scenarios as well, without copying them each time. Suppose I copy and paste my modules between repositories. In that case, I also have to update them everywhere, so in this post, I will move my modules out of the repository and into an Azure Container Registry. When I move them there, I can update each module individually and then reference the version I need for each scenario.

6 minutes to read
Martin Therkelsen
Read article

Azure Virtual Desktop deployment with Bicep - Part 5

Intro

In this short post, I will make the change I promised in the last part of the series, allowing the use of images from the Compute Gallery. The change is minor, but it is essential when working with AVD, since most AVD environments use custom images with multisession host pools.

Prerequisites

You will need to be up to date with the environment created in the previous parts of this series. The code is still part of the repository; build it now if you haven’t already.

4 minutes to read
Martin Therkelsen
Read article

Azure DevOps Hosted agent - NSG Rules

Intro

In this article, I will guide you through the process of dynamically adding the public IP address of an Azure DevOps hosted agent to a network security group (NSG) rule, allowing it to connect to a service on the network. I will show how to add WinRM to ensure my pipeline can access a virtual machine. Adding this NSG rule allows Packer to run and create the AVD image I want to build.

6 minutes to read
Martin Therkelsen
Read article

Bicep and DevOps - Part 1

Intro

I received feedback asking if I could do more DevOps and Bicep articles, so this is the first in a series about this topic. Like most blog series, I will start from scratch and gradually come near a production environment. It can be hard to say this is fully production-ready due to different policies and operations in each customer environment. I will show what it can be, and then it will be up to you if it will fit in your environment or with your customers.

6 minutes to read
Martin Therkelsen
Read article

Azure Virtual Desktop deployment with Bicep - Part 4

Intro

I will create the session hosts in this part of my blog series about Azure Virtual Desktop (AVD) and Bicep. The session hosts are the workers in an AVD environment, and therefore, also one of the places we spent most of our time on optimizations and management. For this article, I will focus on the standard image from the Microsoft marketplace, but I expect to do more articles on how to manage an AVD image. I made a blog post last year about how to get started with Packer for Azure images, which works well for AVD.

8 minutes to read
Martin Therkelsen
Read article

Azure Virtual Desktop deployment with Bicep - Part 3

Intro

In the first two blog posts (here) and (here), I wrote the most basic Bicep code for deploying a host pool, application groups, and a workspace. In this post, I want to go through some of the resources I usually designate as shared resources, meaning the workspace and the storage account. I already had the workspace in the last two articles, but this time, I am moving those resources into a shared resource group since multiple host pools often use the workspace.

6 minutes to read
Martin Therkelsen
Read article