ControlUp has been the latest company to build an Azure Virtual Desktop management platform, to elevate your AVD infrastructure with several key features:
- Cost Optimization
- Reduced Cloud Spend
- Scheduled Capacity
- Scaling Efficiency
- Improved Auditing
Today, we’re going to take a look at the platform, see what it delivers, and examine its efficacy as a player in an evolving marketplace.
We’re going to check out a few key areas:
- Setting up DaaS IQ
- The DaaS IQ Overview Page
- Creating Golden Images with DaaS IQ
- DaaS IQ Host Pool Management
Setting up DaaS IQ
The first thing we need to do to set up DaaS IQ, is to configure the pre-requisites for DaaS IQ. Overall we need to:
Setup DaaS IQ Pre-Reqs
We have a few items to take care of before we setup DaaS IQ:
Setting up the DaaS IQ App Registration
Start by going here, and creating a registration called DaaS IQ.

Make sure you document the Client ID and Directory ID for later on:

Next, go create your client secret (something you should be fairly familiar with):


Setup the DaaS IQ API Permissions
Your next step is to add these API permissions: User.Read.All as an application permission:

Once you’re finished with that, you can admin consent it:

Adding DaaS IQ to the Subscription’s IAM Role
The final step in configuring DaaS IQ is to add it to an IAM role in your subscription.
Start by doing an “Add Role Assignment” under the subscription where your AVD resources will live:

You have two ways to permission things. You can either just grant “Contributor” or you can follow least privilege by using the specific “Desktop Virtualization” roles that will follow what capabilities you’re going to use:

For simplicity, I’m going to use contributor for testing, but I recommend scaling it back later as you get things working.
You add DaaS IQ as the member and save:

Adding Your Tenant in DaaS IQ
They make it pretty easy to onboard your tenant.
You just go into Settings > DaaS IQ and click “Add Tenant” to start the wizard:

Input the info you saved from the created App Registration and click “Validate”

Now, you will see this really cool validation in the UI showing if you actually configured things right. Once it looks good, click “Next”

You can from here, click “Advanced” and select your subscription and click “Next”

Click on your resources and click “Next”

The last step is to click “Finish and Add Tenant”:

It’s going to say unknown until the sync completes:

Afterwards, you can see the status has cleared:

Thoughts on the DaaS IQ Setup
Initially, I didn’t love that you needed to manually input client IDs and secrets, but I think most of it makes sense. They would benefit from an app registration workflow, like we see in other products. That is a bit decoupled because you still need to grant IAM permissions on the subscription, but that could also be similarly streamlined. The setup overall isn’t too bad, but I could see some improvements there.
One other item I think needs to be improved is the adding additional resources, as I don’t think you should need to re-run the setup wizard basically to add new host pools and that sort of thing. I’d also like pulling in new host pools to be part of the regular DaaS IQ pane, but that’s just how I’d build it.
The DaaS IQ Overview Page
Let’s start by looking at the nice overview pane in the GUI.
The neat aspect to this, is you can see a whole AVD tree:

You will notice you can drill into all of these items, which we will check out now:
- Subscriptions
- Regions

- Resource Groups

- Images

- Sessions

- Workspaces

- App Groups

- Host Pools

- Hosts

Thoughts on the DaaS IQ Overview Page
Overall, I really like the flow of the UI for their overview page. One thing I’d say is it would be nice to control/modify the columns. The filters are interesting (basically when you click one of the clickable items like regions, resource groups, etc., but I think they need some clarity as its not always obvious).
One other thought I had is that the overview page should have some widgets or visuals to make it like a true dashboard for DaaS IQ bringing the things people care about like cost savings/key info to catch the eye of the administrator.
Creating Golden Images
One of the great things we can do is create golden images with DaaS IQ. Today, we have one option, but two others are in the works:

With this option, we can use an existing Gen2 Trusted Launch VM and create an image from it.

From there, you specify the display name, select the OS family, OS version, and the compute gallery you want to use and click “Next”

Then, we click “Create Image” and it will create that image for us:

Now that you have created the image, you can perform certain management tasks like powering on the image, and re-publishing it. This let’s you power on the image, make updates, and republish the new versions:

You can see when drilling into the image, you get some very interesting information, along with the ability to stop, connect, publish, and delete the image. In addition, they also have version history information:

Thoughts on Creating Golden Images
Overall, I think how they create images are fine at this point. Gallery/marketplace deployment is badly needed before I can look at it too much.
A few things that did stand out is the text formatting for the resource ID as you can see above, but that’s just a bit of my OCD. I do love that you can drill into the image and power it on/off, download the RDP file, and even publish it. I would probably add in the JIT connectivity capabilities that Azure has, because that is impactful to many customers. Their version history stuff is also pretty cool:

DaaS IQ Host Pool Management
You can see the host pool management page is pretty straight forward and just gives you the exact information you need. You can see how many pools, session hosts, activate sessions, etc in a very simple interface:

Drilling into a pool, you get more details, which are pretty useful:

By drilling into the “Settings” menu you can create session host configurations:

First, we setup the VM naming prefix, where we specify our region and the naming prefix:

Next, we set availability zones and VM sizes:

Set your image, image version, OS disk type, and size:

Next, we set security settings, like the security type, secure boot, vTPM, and integrity monitoring:

Select your virtual network, subnet, and NSG:

Set the directory type, FSLogix share, and whether you want to enroll in Intune:

Set the local admin account info:

Create your tags optionally:

Click “Save Configuration” to finish:

Configuring Autoscaling Policies
Next, we create the scaling profile, which is pretty easy too by clicking “Create New Profile”:

You create the name and color first:

Select “Static or Elastic” and choose the min/max/burst settings:

You can also leverage smart minimums for cost assurance:

Next, you can set your “Scale Out” and “Scale In” settings which are basically what makes DaaS IQ scale out or scale in hosts based on utilization:

Next, set the user notifications around the scaling:

Click “Create Profile” to finish:

Last thing you do is specify the dates and times you want to apply the profile:

Thoughts on Host Pool Management in DaaS IQ
It’s important to clarify that there are a few features expected in the next few months, but are not available today:
- Creating and Deleting Hosts
- Creating Host Pools and reimaging hosts
Foundationally, these are crucial capabilities, which I will re-evaluate once they come out. For now, the logical flow and how these features are structured should continue to improve, but it looks promising at this point.
I really like the visual setup of the host pool management section, which is more of what I was looking for the overview. We see lots of nice widgets around costs, trends, active sessions, average utilization, all leveraging the ControlUp time filters we know and love. It’s great because you can look at trends very quickly within the same area.
The visual setup around the scaling policy take a little bit of time to get used to, but once you do I really like the clickable boxes and tactile nature of it. In addition, the ability to have multiple scaling profiles with your timeline is a nice pliable way of addressing various needs easily.
I also hope they improve on the FSLogix piece, as that is a major QoL opportunity for admins. The lifeblood of products like this is shifting right the annoyances of AVD like FSLogix being a prime example.
