In a previous blog about Hybrid, Multi-Cloud with Nutanix, I introduced 21Designs, a fictitious company that specializes in the design of games, tools, and learning aids for Special Needs Kids, and how they use Citrix technologies to reduce their overall TCO while improving ROI and Employee Experience. As the CTO of 21Designs and in part 1 of this series, we used Citrix Quick deploy to roll out Citrix Virtual Apps and Desktops to employees around the world as well as standardizing on Nutanix as the platform of choice for the Citrix workloads.
In this part we’ll take a closer look at Citrix Autoscale and how it can drastically reduce your cloud spend while still maintaining an exceptional employee experience.
Citrix Autoscale is a set of technologies that dynamically scales Citrix DaaS and Citrix Virtual Apps and Desktops (CVAD) resources based on metrics such as schedule, load, and dynamic timeouts, to ensure optimal employee experience while minimizing costs and maximizing ROI. Citrix Autoscale is Hybrid, Multi Cloud aware, and supports public and private cloud technologies.
In this, and further articles, we’ll look at how Citrix Autoscale works, its benefits, and how it helps organizations ensure optimal resource utilization, identify usage trends to help reduce cost. The 73% cost savings, as shown in this image, is certainly realistic, however, every deployment is unique. Achieving maximum cost reduction by employing aggressive Autoscaling at the expense of User Experience is not the desired outcome. As such, different scenarios, different deployments, different use cases will result in different cost reduction.
What is Citrix Autoscale and what makes it unique?
Citrix Autoscale is a unique set of technologies that automates resource scaling for public cloud and on-premises deployments running on platforms such as Citrix Hypervisor, Amazon Web Services, Google Cloud Platform, Microsoft Azure, VMware vSphere, Nutanix AHV, and more. For additional host/virtualization resources, view the product documentation.
The Autoscale service can be configured to use Schedule and Peak time based as well as load-based settings to ensure resource availability. The service can “autoscale” specific tagged machines to enable cloud burst scenarios including the ability to dynamically provision and de-provision machines.
Autoscale supports capacity buffers to ensure that spare capacity is always available as well as dynamic session timeouts to achieve faster machine draining thus quicker cost savings. Lastly, the administrator can define very flexible user logoff notifications to ensure that employees are notified before any changes happen.
How does Citrix Autoscale work?
Autoscale uses data collected from various sources to determine when resources are needed. The service monitors usage patterns and detects when there are spikes or drops in demand. When user demand increases, Autoscale services will automatically provision additional virtual resources to meet the demand. Conversely, when user demand decreases, Autoscale will remove virtual resources to minimize costs.
As mentioned, we support hybrid, multi-cloud deployments. In public cloud environments, Autoscale integrates with cloud providers’ auto-scaling features, such as Amazon Web Services (AWS) Auto Scaling or Microsoft Azure Autoscale. Autoscale then uses the hypervisor’s power control libraries (plug-ins) that the cloud provider exposes, to dynamically scale resources in response to demand.
Now that we’ve explained the basic capabilities of Autoscale, let’s take a closer look at some of the configuration possibilities and how they can be used in real-world scenarios.
Basic Autoscale Configuration Options
The first thing to understand is that an Autoscale configuration is applied to the Delivery Group and that you configure Autoscale with settings that are appropriate for each individual delivery group. For example, Linux Developers using Ubuntu virtual desktops and Inside Sales teams using Windows based machines often have differing work patterns meaning you’d create Delivery Groups for each scenario.
In the following images we’ve created Autoscale configurations for Windows 11 on Azure and Ubuntu on Azure Delivery Groups and have applied different Autoscale configurations to those Delivery Groups thereby ensuring that the necessary resources are available when needed while maximizing cost efficiency.
Schedule and Load Based Scaling
Autoscale, is essentially session host power management. Schedule and Load based scaling allows you to influence the power control to maintain the necessary resources while maintaining a positive user experience. The following is an example Autoscale configuration for an Inside Sales team using the Windows 11 on Azure delivery group mentioned above. The team works Monday to Friday 09:00 – 17:00, Friday is also “End Of Week Sales Processing” where the teams typically start earlier and finish later. In order to achieve this we simply create two schedules with corresponding peak times as shown below.
- Schedule based scaling defines that a certain number of machines are always available for the working day, 8 in this example.
- Peak times, i.e., the working day, are defined as part of the Schedule. In this case it would be 08:30 – 17:30.
- So why not 09:00 – 17:00 to match the actual working day? The 30-minute buffer on either side is helpful to ensure that resources are already available at 09:00, i.e., the start of the day and that machines only start to power down 30 minutes after employees end their day at 17:00.
- It’s also possible to set other schedules such as a Weekend Schedule, or maybe an EndOfWeekProcessing schedule.
- Load based scaling is essentially a Capacity Buffer mechanism and is designed to ensure that resources are always available, e.g. The Inside Sales team is running training for new employees and an unknown or unexpected number of additional users will be logging on to the systems.
- By default, this Capacity Buffer is set to 10% of the maximum load index of the Delivery Group but can be changed to match your needs.
- In our example, Load Based scaling (the Capacity Buffer) will power on additional machines to ensure that the expected User Experience is maintained.
- The last part in the scaling concept is Drain Mode. As users logoff, the overall session capacity actually increases (fewer logged on users means more available capacity). Drain Mode happens when there is more capacity than the capacity buffer, i.e. we are wasting resources. The session host with the lowest number of users is put into drain mode and stops accepting new connection requests. Once the last user logs off, that machine is then shut down, thus reducing cost.
Advanced Autoscale Options
Dynamic session timeouts
Dynamic timeouts can help achieve better cost saving by allowing you to define the peak and off-peak times for idle session timeouts, disconnected session timeouts and how Autoscale handles those sessions. For example, does an idle session get disconnected or does the session get disconnected and then logged out. Timeout settings are applied to the delivery group thereby enabling you to have different configurations based on the delivery group, i.e., user needs.
Larger values can improve user experience in the sense that the session stays active longer meaning that users do not need to logon as often. Smaller values achieve faster draining because the idle sessions are logged off quicker, resulting in faster VM draining thus allowing the host VM to be shutdown sooner.
Overall, correct usage of the dynamic session timeouts will achieve faster VM draining, thus faster and better cost savings.
User Logoff Notifications
Being able to log off users in a controlled manner, either forcibly or by way of reminders, allows you to further reduce costs while maintaining an overall improved user experience. Cost is reduced because you have less running session hosts and user experience is improved because your users, although impacted, will be informed of any pending session logoff rather than simply being “thrown off” the systems.
User Logoff Notifications offers two methods to inform users that they should logoff. Firstly, Notify and force user logoff which, as the name suggests, will notify the user, and then log the user off the system after a given time. Secondly, Send logoff reminders without forcing user logoff which will send the user a logoff reminder at regular intervals without forcibly logging the user off. Both options can be configured with different timers dependent upon peak or non-peak times as well as a freely configurable notification message.
Autoscale and Cloud Burst
As we’ve seen earlier, the basic concept of Autoscale is power control for the session hosts in a delivery group, so wouldn’t it be useful if you could power control a subset of the delivery group to enable scenarios such as cloud burst.
Autoscaling Tagged Machines allows just that. This feature is useful for cloud burst or disaster recovery use cases where you want to give preference to on-premises or reserved instances over pay-as-you-go cloud instances. In the next article we’ll take a closer look at this and other advanced Autoscale features.
Cloud Burst and more advanced configurations
One of the biggest advantages of Citrix Autoscale is its almost limitless flexibility. What if you want to purposely limit the number of sessions that can run on a session host? What if you want to ensure that desktops and apps are already running as employees connect? What if you want to reduce the time needed to reconnect to sessions if employees logoff by mistake? What about visualizing the “cloud cost”?
Lastly, what about being able to adapt to ever changing, seasonal needs with Cloud Burst and Dynamic Provisioning.
In part 4 of this series, we’ll tackle the following topics:
- Advanced Load Balancing and Load Evaluators.
- Session Prelaunch and Lingering.
- Cloud Burst and dynamically provisioning and deprovisioning.
- Visualize the cost savings with Citrix Director and Analytics.
- Load-Balancing. Who remembers MetaFrame Load Manager?
In summary, what are the benefits of Citrix Autoscale?
Citrix Autoscale is a powerful tool that helps you achieve optimal resource utilization and cost savings by dynamically scaling Citrix Virtual Apps and Desktops resources based on user demand. The feature provides improved user experience, reduced infrastructure costs, and scalability while supporting both on-premises and cloud-based deployments. Organizations can take advantage of Citrix Autoscale to ensure that their virtual resources are always available when needed, while minimizing costs and maximizing ROI.
- Optimal resource utilization: Citrix Autoscale ensures that virtual resources are available when needed and removes them when they are not, optimizing resource utilization and minimizing costs.
- Improved user experience: With Citrix Autoscale, users have access to the resources they need when they need them, ensuring a consistent and reliable user experience.
- Reduced infrastructure costs: By automatically adding or removing virtual resources based on demand, Citrix Autoscale minimizes infrastructure costs.
- Scalability: Citrix Autoscale scales resources up or down based on demand, making it easy to accommodate growth or seasonal changes in demand.
- Flexibility: Citrix Autoscale supports both on-premises and cloud-based deployments, giving organizations the flexibility to choose the deployment model that works best for them.
Try it today!
As you can see, Autoscale is a very powerful, yet often overlooked method of controlling your cloud spend as well as helping you attain sustainability targets for your Citrix DaaS / CVAD environment. For an even closer look on how to get started with Autoscale, check out our product docs. Also, feel free to contact me or your local Citrix team for more information.
Part 1 – Getting more from your Citrix deployment. Quick Deploy.
Part 2 – Get more from your Citrix deployment: Hybrid, multi-cloud with Nutanix
That’s all for now. Thanks for reading, and for those of you who already know, keep “Rocking Those Socks”. And if you don’t know what I’m talking about then look here.
Cheers, Paul
Disclaimer: This publication may include references to the planned testing, release and/or availability of Cloud Software Group, Inc. products and services. The information provided in this publication is for informational purposes only, its contents are subject to change without notice, and it should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for products remains at the sole discretion of Cloud Software Group, Inc.