Citrix SmartScale and Microsoft Azure

Being heavily invested in Azure these days, and what I often see is that people want to leverage Azure and all the new cool technology that becomes available there but often the price is to high when doing the calculations based upon what they already have, and now with the release of N-series in Azure, it has become even more interesting since we now can have a GPU rented per minute!

Now for those working with Citrix the ability to do Power and Capacity features have been working quite well for on-premises deployment, but now with XenDesktop 7.11 for instance we now have the ability to integrate directly with Azure ARM for instance and provision machines based upon MCS directly from Citrix Studio. What if we now could have a feature that could shutdown N-series VM’s when we are not using them to save a customer money?

Now we could have Azure Automation scripts to shut down virtual machines on a schedule but that would require a lot of work in order to take care of the users sessions and such. So enter Citrix Cloud SmartScale! its a pretty new feature which is located under LifeCycle Management (I’m still in the process of getting a understanding of the licensing) so that will come a bit later…

What is Smart Scale?

Smart Scale enables proactive scaling and power management of machines in a XenApp and XenDesktop site based on a schedule you define or the level of demand for user sessions. Using Smart Scale, you can ensure users can access their applications and desktops when they are needed while also controlling machine utilization. If your XenApp and XenDesktop site is located in a cloud using Amazon Web Services, Smart Scale can estimate your savings based on the per-machine costs and utilization history. 

Smart Scale is configured on a per-delivery group basis. To enable Smart Scale for the delivery groups in your site, you first add your site to Lifecycle Management. To do this, you install a Site Agent on at least one machine in your site.

Now the feature supports already the biggest platforms! (Just missing 2016 and Nutanix)…

Supported Clouds:
Amazon EC2
Microsoft Azure (Classic and Resource Manager)
Citrix XenServer 6.2, 6.5, 7.0
VMware vSphere 5.1, 5.5, 6.0
Microsoft Hyper-V Server 2012 R2

But note that smartscale is only supported against Delivery Groups which are linked to a power-managed machine catalog so you can’t use it against RemotePC or Static XenApp servers for instance.

In order to get up and running you need a trial or an Citrix Cloud account, go into Lifecycle Management –> Smart Scale


You need to download the management site agent which you need to install on your delivery controller.


The agent needs to have port 443 open from the delivery controller out to Citrix Cloud and have PowerShell 3.0 installed, native 2012 R2 works just fine.
(NOTE: If something is not working doublecheck that the lifecycle service is running under services.msc and check under C:\programfiles (x86)\citrix\LifecycleManagement and look at the Discovery logs)


Next you need to authenticate to your Delivery Controller, note that this delivery controller can be located in Azure, on-premise for instance.


NOTE: It took a few minutes before it was able to authenticate properly, so give it some time!

Next it gives me a list of Delivery Groups which are available on my delivery controllers (this is where we can define policies against) it will also look at how much capacity and such you are using from within the dashboard.


Now if I go into a delivery group I can define policies, schedules and scale metrics. So for instance the minimum amount of servers that I need to have online at any given time, and how  it should do scale-up depending on the amount of sessions I have on my XenApp hosts for instance, in this case I specific that I can only have 1 session per server, before it should spin up a new one.


So as mentioned I can create a schedule for instance on when I should have less amount of servers for instance, Christmas or holiday session I have a less amount of users for instance and I can scale down from 10 – 1 or 2 servers for instance.


After I have created my policy and my schedule, I just have to enable Smart Scale feature and let it rip!



So based upon my policy I have to many sessions for my current powered on servers so therefore I fired up a new server


So this feature will be VERY useful for customer setup’s in Azure where you can have do alot of cost savings having the required amount of servers running when you need them!

Leave a Reply

Scroll to Top