Virtual Desktop Auto-Scaling With Base and Burst Capacity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Public cloud environments face challenges in dynamically scaling virtual desktop capacity to match fluctuating demand, leading to poor user experience or excessive costs due to oversizing or undersizing of resources, with existing scaling tools lacking flexibility and efficiency.
Innovation Solution
Implement a system with base and burst capacity, using auto-scaling logic to dynamically adjust virtual machine resources based on user-defined triggers such as CPU usage, session counts, and real-world events, while providing tools for cost estimation and visualization to optimize resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If capacity is allocated to meet peak demand, then user experience is improved, but costs increase due to paying for excess capacity during non-peak times
Solution Approach 1:
The system implements dynamic capacity allocation that automatically adjusts resource provisioning based on real-time demand conditions. During peak demand periods, additional capacity is allocated to maintain user experience, while during non-peak periods, capacity is reduced to lower costs. This dynamic adjustment resolves the contradiction by making capacity flexible rather than static.
Solution Approach 2:
The system changes the parameter of capacity allocation from a fixed state to a variable state that responds to demand conditions. By monitoring usage patterns and automatically adjusting capacity parameters, the system ensures adequate resources during peak times while reducing allocation during low-demand periods, thereby resolving the cost-experience tradeoff.
2Loss of energy
If capacity is reduced to lower costs, then costs decrease, but user experience deteriorates due to insufficient resources during peak times
Solution Approach 1:
The system performs preliminary actions by pre-provisioning base capacity that is always available, and then dynamically adding burst capacity in anticipation of or in response to demand increases. This ensures that when users need resources, capacity is already available or can be rapidly provisioned, preventing user experience deterioration while maintaining cost efficiency during low-demand periods.
Solution Approach 2:
The system implements feedback mechanisms that continuously monitor capacity utilization and user experience metrics. When indicators suggest capacity constraints are affecting user experience, the system automatically triggers capacity increases. This closed-loop control ensures user experience is maintained while avoiding unnecessary capacity allocation when not needed.
3Device complexity
If manual capacity estimation is used, then simplicity is maintained, but adaptability decreases due to inability to respond to fluctuating demand
Solution Approach 1:
The system implements self-service automation where the capacity management system autonomously monitors demand, estimates required capacity, and adjusts resource allocation without manual intervention. This maintains operational simplicity for users while achieving high adaptability through automated decision-making algorithms that respond to changing demand conditions in real-time.
Solution Approach 2:
The system performs preliminary capacity estimation and provisioning actions automatically based on configured policies and historical patterns. By pre-configuring scaling rules and thresholds, the system maintains simplicity in setup while achieving sophisticated adaptive responses to demand fluctuations through automated execution of predetermined strategies.
Data Source
AI summary
A system for dynamically auto-scaling allocated capacity of a virtual desktop environment includes base capacity resources, burst capacity resources, and memory coupled to a controller. In response to executing program instructions, the controller is configured to: in response to receiving a log in request from a first user device, connect the first user device to a first host pool to which the first device user is assigned; execute a load-balancing module to determine a first session host virtual machine to which to connect the first user device; and execute an auto-scaling module comprising a user-selectable auto-scaling trigger and a user-selectable conditional auto-scaling action.


