Last week I wrote a blog post on how to save on costs while using GPU enabled machines leveraging the AVD service. We had a look at the new NVv4 AMD VM’s driven by the AMD Radeon Instinct MI25 GPUs, which can be split into smaller GPU segments (partitioning) and assigned to individual machines. More specifically, I focused on a multi-user scenario and how the Nerdio auto-scale engine helps in reducing costs over 70% on overage.
Today, I want to spend some time looking at personal assigned (persistent) desktops.
We’ve already discussed some of the options you have using the various GPU’s available (see the above highlighted blog post as well). For the purposes of this article, it doesn’t really matter what type of VM you are using – with or without a GPU.
The main objective? To SAVE on COSTS, while offering flexibility to your end users.
First Steps
First, we need to create a Workspace (only takes a few seconds), followed by a host pool; a Dynamic one in this case (takes about 10 seconds). Let me know if you would like to find out how that’s done. Here (see image below), you’ll see the various VM’s to choose from, including the NV ADM GPU powered machines as well as the NVIDIA ones (machine types will vary depending on the region you have selected).
Keep an eye on the “Desktop Experience”. Here, we need to select “”Single user desktop (personal/persistent)”, as you can see on the image below as well.
Another thing to note is the “Assignment type”. This can be set to “Automatic” or “Direct”.
- Automatic: Users are automatically assigned to an available desktop VM upon first login. They can also be manually pre-assigned to desktop VMs.
- Direct: Before users can log into a personal desktop, they need to be pre-assigned to the VM.
Once you click “OK”, the Dynamic Host Pool will be created and the autoscale configuration page will pop up. See below – click to enlarge.
Let me go over the various items one by one.
End-User Role
At the top, it states “Single-user personal desktop host pools provide each user with a dedicated, permanently assigned host VM. This host VM can be used only by the assigned user. Auto-scaling can be configured to keep desktops on during pre-defined working hours and automatically shut them off outside of those hours. Users can manually turn their desktops on and off using the “End-user” RBAC role.”
This is one of the roles we have built into Nerdio Manager for Enterprise enabling end users to start, stop, and restart their own personal assigned desktops. They will also be able to log-off any active sessions they might have on a personal assigned desktop or when they are part of a hosted shared type hostpool, for example.
I’ll get back to this in a minute.
Working Hours
With the “Working hours” configuration, we set the days and hours that these VMs should be turned on. The settings that follow will help us to further control what and when things happen.
Power Off Aggressiveness
You might remember the “Scale-in aggressiveness” option from the previous blog post where we configured auto-scaling for an hostpool based on a Hosted Shared Desktop model. Well, this comes close to that.
There are three different options to choose from: High, Medium, and Low. Once the workday ends, in this case at 6 p.m. UTC+01:00, the selected power off aggressiveness will be applied. This in combination with the “Power off timing” setting – see below.
- High: Power off all desktop VMs, including those with active and disconnected sessions. Users with active sessions will be sent a message (see 2 “Messaging” on the image above) and given time to log out before the VM is powered off.
- Medium: Power off only those desktop VMs that do not have an active user session, including those with disconnected sessions.
- Low: Only power off those desktop VMs that have no active or disconnected sessions.
Power On Timing
Here, we can configure if VMs need to be powered on once, after the start of a workday, or continuously.
- Once: All desktop VMs will be powered on ONCE at the start of working hours. If a VM is powered off (manually by a user, for example) after the start of working hours, it will NOT be automatically powered back on by auto-scale.
- Continuously: All desktops VMs will be powered on at the start of working hours. For the duration of working hours auto-scale will automatically power on any manually powered off desktop VMs.
Power Off Timing
Powering off machines happens in conjunction with the earlier mentioned “Power off aggressiveness” setting.
- Once: At the end of working hours all desktop VMs will be powered off (subject to aggressiveness setting above). If any desktop VMs are manually powered on outside of working hours, auto-scale will NOT automatically power them off.
- Continuously: At the end of working hours, all desktop VMs will be powered off (subject to aggressiveness setting above). If any desktop VMs are manually powered on outside of working hours (by use of the earlier highlighted end-user role, for example), auto-scale WILL automatically power them off (subject to aggressiveness setting above).
Messaging
Before a machine is scaled-in/powered off, once or continuously you can configure the auto-scale engine to send the user a message telling him or her to log off and save their work because the machine will be shut down after 10, 15, 30, 45, or 60 minutes from then on. Do note that messaging only applies to configurations where the “Power off aggressiveness” is set to high, since medium and low will not power off any machines with active sessions on it.
End-User Role
I already highlighted this built-in role a few paragraphs back. Again, when a user has this role assigned, he or she will be able to log into the Nerdio Manager for Enterprise console and start, stop, and restart their own personal assigned machine(s). Logging of any personal active sessions they might have is optional as well. See image below for an example of this – click to enlarge.
If we combine the end-user role with the various “Power off timing” options, together with the different “Power off aggressiveness” settings, we can prepare for just about any use-case you can think of – considering both cost savings as well as the overall UX.
For example, let’s assume that the “Power off timing” is set to continuously and the “Power off aggressiveness” is set to medium or low. At the end of the workday, when a user session is in a disconnected or inactive state, or when there is no user sessions at all the VM will be shut down.
However, if later that night a user powers on his or her machine by means of the end-user role, as long as the user session stays in an active state the machine won’t be powered off. Eventually, even if the user forgets to logoff (depending on session idle times and disconnect policies), the machine will be shut down.
In other words, you can mix and match.
Cost Savings
As you can probably imagine, all of these different options combined will lead up to some impressive cost savings when compared to running these machines 24 X 7, or when depended on a less intelligent way of (auto) scaling and power management.
Also, putting your users in (full) control without any additional measures in place is a questionable approach. They’ll forget to logoff, shutdown their machines, keep it running for hours while doing something else, you name it. All very human like behavior and it applies to all of us, it’s just not very economical.
Costs Saving History
As with any other type of Dynamic host pool based on a Hosted Shared Desktop model, or Published applications, for example, we can also view our costs saving for personal assigned (persistent) desktops. Below is an example. Here the cost savings are relatively low since we only have two machines in the host pool, and it is a demo environment. However, in a real-world production scenario this will lead to hundreds, if not thousands of dollars in savings per week/month.
Conclusion
Whether you make use of GPU-enabled machines or not, the above-mentioned provisioning and autoscaling options will benefit you either way.
These options together with the way Nerdio makes image, and overall management tasks as easy as they possible can be make Nerdio Manager for Enterprise an extremely efficient platform, allowing you to operate and manage AVD on a daily basis, no matter what type of technical IT background or level of expertise you might have.
Learn more about Nerdio Manager for Enterprise now – start your free 30-day trial.
Bas van Kaam
Nerdio Field CTO, EMEA/UK