Autoscale Host Pools

Prev Next

ControlUp DaaS IQ’s intelligent automation solution optimizes the performance and cost of your environments. By dynamically adjusting the number of running session hosts based on real-time demand, DaaS IQ ensures that your cloud infrastructure always scales up to meet peak user needs and scales down to eliminate wasted compute spend.

You can adjust the number of running session hosts in your Azure Virtual Desktop (AVD) host pools based on real-time demands in DaaS IQ. This ensures that your organization’s users always have sufficient capacity during peak times, while reducing Azure compute spend by shutting down unused hosts during off-hours. The following article explains how to configure the Scaling Policy for your organization’s AVD host pools.

How It Works

Autoscale functions using Shared Policies and a Scheduler.

  • Shared Policies: A reusable Autoscale Policy defines when to scale and by how much. A single policy can be assigned to multiple host pools simultaneously. Note that changes to a shared policy take effect immediately across all linked host pools.

  • Scheduler: A visual 24/7 calendar interface where you "paint" 1-hour blocks to assign specific policies to specific times. Note that changes to a Scheduler take effect immediately.

Create Autoscale Policy Profile

Configure your organization’s policies through the following steps:

  1. Strategy

  2. Performance

  3. Experience

  4. Summary

Automatic Tags

DaaS IQ validates Azure tags on host pools and session hosts before performing autoscale. Automatic tags guarantee clear ownership, safe automation, and seamless integration with Azure native controls. They prevent conflicts, enable precise management, and avoid duplicating existing Azure data, ensuring a secure, manageable, and future-proof environment.

Before you create, update, or execute a scaling policy, DaaS IQ validates:

  1. Host pool ownership tags

  2. Session host VM ownership tags

If ownership is found to belong to a different DaaS IQ tenant, both the autoscale configuration and execution will be blocked.

Step 1: Strategy

Define the operational mode and the capacity boundaries that best fit your host pool's needs:

Mode

Behavior

Static (default)

Bypasses metric evaluation to maintain a fixed, specific number of hosts on at all times. Ideal for maintenance windows, providing skeleton capacity overnight, or pools where a predictable, unchanging headcount is required.

Elastic (dynamic)

Automatically powers hosts on/off or creates/deletes them dynamically based on real-time load metrics, including CPU, memory, and free sessions. Ideal for environments where user demand fluctuates throughout the day.

Tip

Most policies use Elastic during business hours and Static for off-hours with a low count (e.g., 1 or 0).

  1. From the DaaS IQ Overview page, click the Host Pools tab.

  2. Click the name of the host pool you want to configure the policy for.

    host pools tab with host pool selected in data grid

  3. Click the Scaling Policy tab.

    scaling policy tab selected

  4. Click Create New Profile. The Create New Scaling Profile popup opens.

    create new scaling profile popup window

  5. In the Profile Name field, enter a name for the profile.

  6. Optionally, in the Description field, enter a description.

  7. From the Profile Color dropdown, select a color.

  8. Under the Provisioning & Limits area, select the operational mode:

    • Static (default):

      1. From the Number of Hosts to Power On switch, select the number of hosts.

    • Elastic (dynamic):

      1. From the Min Hosts (Floor) switch, select the minimum number of hosts.

      2. From the Max Hosts (Ceiling) switch, select the maximum number of hosts.

      3. From the Burst Batch Size switch, select the number of hosts to power on per scaling instance.

  9. Optionally, to save costs, click the Smart Minimums (Cost Assurance) toggle.

    1. From the Utilization Threshold (%) switch, select the percentage of utilization.

    2. From the Time Window (minutes) switch, select the number of minutes.

    3. From the Scale Down to Host Count switch, select the number of hosts to scale down.

  10. Click Next.

Step 2: Performance

Define the logic for adding or removing host capacity based on CPU Threshold, Memory Threshold, and Free Sessions:

  • Scale Out Triggers: Uses OR logic. If any single scale out condition is exceeded, autoscale adds one batch of hosts.

  • Scale In Triggers: Uses AND logic. All scale in conditions must be met before batches of hosts are removed to ensure user performance isn’t compromised. create new scaling profile popup window performance step

  1. Under the Scale Out Triggers area > CPU Threshold (%), select the pool average of CPU utilization threshold to exceed (e.g., 70%).

  2. Under Memory Threshold (%), select the pool average of memory utilization threshold to exceed (e.g., 80%).

  3. Under Free Sessions Minimum, select the number of available session slots. If the available slots drop below your set buffer limit (e.g., 5), autoscale adds more host capacity.

  4. Under the Scale In Triggers area > CPU Threshold (%), select the pool average of CPU utilization threshold to drop below (e.g., 30%).

  5. Under Memory Threshold (%), select the pool average of memory utilization threshold to drop below (e.g., 40%).

  6. Under Free Sessions Threshold, select the number of available session slots. If the available slots exceed your set buffer limit (e.g., 10), autoscale removes host capacity.

    Important For Single-Session Pools!

    For host pools with a maximum session limit of 1, autoscale ignores CPU and Memory thresholds. Scaling is driven exclusively by the Free Sessions buffer.

  7. Under the Behavior Settings area, select the Aggressiveness level to determine how quickly autoscale reacts to condition changes:

    Aggressiveness

    Behavior

    Gentle

    Uses a long polling interval to tolerate brief metric spikes, resulting in the fewest scale events and lowest risk of unnecessary scaling. Ideal for cost-sensitive dev/test pools or light-use environments.

    Balanced

    Acts on sustained metric changes rather than brief spikes, providing a moderate reaction speed that serves as a reliable default for most workloads. Ideal for standard office pools and typical RDSH deployments.

    Aggressive

    Provides maximum responsiveness by reacting quickly to metric changes through a short polling interval. Recommended for call centers with sharp shift-start spikes or environments with unpredictable demand surges.

    Tip

    Start with Balanced for all new host pools and monitor the scale job history for 1–2 weeks. You can then switch to Gentle if you notice too many scale events for minor load changes. Or switch to Aggressive if users report login delays during peak surges.

  8. Set the Stabilization Window (min) to define a cooldown period (e.g., 10–15 minutes) following any scale action. This prevents autoscale from immediately reacting to the load changes it just triggered, ensuring the system has adequate time to stabilize before the next evaluation.

  9. Click Next.

Step 3: Experience

When scaling in, DaaS IQ uses Drain Mode to protect active sessions.

create new scaling profile popup window experience step

  1. Under the User Notification Settings area > Grace Period (min), select the number of minutes allowed for users to save work and log off voluntarily. Once the period ends, remaining users are forcefully logged off and the VM shuts down.

  2. In the Notification Title field, enter the title of the notification to display to users.

  3. In the Notification Message field, enter the text of the notification to display to users.

  4. Click Next.

Step 4: Summary

create new scaling profile popup window summary step

  1. Review the Configuration Summary to verify that you defined all the settings for the autoscale policy profile as needed.

  2. Click Create Profile. The new autoscale policy profile you created now appears as an option above the Weekly Schedule. scaling policy weekly schedule showing new weekend shift policy selected

  3. To apply your new profile, assign it to the schedule by clicking on time slots as needed.

  4. Click Save Changes.

    To edit an applied profile, under Applied Profiles, click Settings to open the Edit Profile popup and edit the settings as needed. applied profiles area with settings button selected