Now with Ignite over there have been alot of fuzz about the partnership between Citrix and Microsoft and therefore I wanted to explain in more overview what the different technologies that have been announced and what kind of options we have as of now in Azure combined with Citrix, and what are the advantanges between the different options and of course the disadvantages since Azure still has alot of limitations we need to be aware of.
Now first of I want to start with the following scenario, why choose Citrix at all over regular RDS which works just fine in Azure?
Well there are multiple options we need to be aware of
- Automatic provisioning options against Azure with master image
Protocol enhancements which allows for better user experience across WAN which will often be the case when setting up anything in Azure anyways.
Better handling of printers (An issue that many fail to address is if our apps in azure and we need to print how will our connection handle that printer job??)
- Multiple Connection options (VPN, Clientless Access, ICA-proxy, HTML5)
- These are some of the advantages but of course cost is always an factor we need to take into account.
Now RDS has gotten alot of improvements in 2016 especially towards graphics users but after some initial testing RDS used about 2x the bandwidth compared to Citrix in high-end graphics usage which means a higher bandwidth cost (even though that bandwidth is not the largest cost factor in Azure)
- I would love to get some feedback from people who have chosen to setup Citrix in Azure and why they choose to do so. So lets go ahead with the scenariones.
1: Running Citrix as regular virtual machine instances in Azure
This is the classical scenario where we have deployed Citrix in Azure as regular virtual machines in Azure, there is a sample setup with Citrix in Azure from the marketplace which consists of 7.11 version which now has support for Windows Server 2016 as well. A typical deployment of Citrix in Azure also consists of a NetScaler appliance to handle all connections between endpoints and the internal VDA agents.
Citrix also already has some whitepapers on how to deploy these solutions. Now with 7.11 Citrix also has support for provisioning using Azure Resource Manager which allows for MCS like setup of servers in Azure. And with the introduction of N-series we can now deploy virtual machines with GPU-passtrough (DDA in Hyper-V) where we only need to pay for each minute we use it.
Now the benefits with using Citrix running as regular virtual machines in Azure is that we have full control over the management pieces, infrastructure components and such, and with the Citrix integration with Azure we can have easy provisioning and power control over the RSDH servers.
Now we can also use regular JSON templates which can be leveraged to do deployment, and combining it with Azure automation opens up for a whole load of different options. Only downside is that NetScaler is limited in Azure because of the network restrictions there. For larger enviroments you need to be aware of the following
1: The default setup for VPX in Azure is 2 vCPU which will have 1 dedicated CPU for management and 1 CPU for packet engines for larger enviroments you should have atleast 4 vCPU and 200/1000 licenses to handle the incoming packets
2: LIcenses! Since a regular virtual machine instance in Azure has the Server license and the Server license CAL as part of the subscription but on the other hand you need to have RDS CAL, Citrix licenses and NetScaler platform liceses there as well (And also Universal licenses if you plan to use Smart Access or other advanced gateway features in the NetScaler)
3: You are the still stuck with the management, you will need to do patching, security, backup and so on. Alot of features in Azure can be leveraged to make this easier such as OMS for Patch monitoring and Azure Backup for backup of your DDCs, SQL servers and such
4: IOPS if customers are used with PVS with overflow to RAM they might get disappointed with Azure since by default a VHD has a limit of 500 IOPS pr datadisk! Now by default C:\ drive has read/write cache which boosts read and write performance but since this uses RAM as a buffer a hardware failure might result in permament data loss. There are of course options here to use Premium Storage with has up to 5000 IOPS but comes at a much higher cost again, and be aware that SQL should be stored on a dedicated data disk without write cache enabled
5: Latency: The issue we have here in the Nordics is that the closest Azure datacenter is either in Ireland or Holland, which make latency level uptowards 80 – 110 MS which of course affects the end-user performance. This can also be fixed by investing in a dedicated line using ExpressRoute to an Azure Datacenter.
But of course using Azure automation and AzureRM PowerShell we can pretty much automate the entire process from the first domain controller to the entire Citrix infrastructure combined with NetScaler and we can scale whenever we want to, this is for customers with multiple locations can make it alot easier to setup new sites on their closest datacenter, and of course given that we have alot of hardware options in Azure we can be quite flexible.
2: Citix Cloud
Now Citrix Cloud is an subscription based offering from Citrix, where management is handled by Citrix with alot of new features and capabilities are being introduced there first before they appear on the on-premises offerings of Citrix. Now compared to having Citrix running on a regular virtual machine instance, Citrix will in this case handle the management and HA for your Citrix infrastructure. So Storefront, DDC, SQL and such will be delivered from their cloud offering. This allow for a simple way to provisiong Terminal servers in Azure since this can be done within the Citrix Cloud management portal.
Only thing we need in Azure is to have a cloud connector component installed which will act as the DDC for the VDA agent and connect with the local active directory. So now we are not required to take backup and manage and update the Citrix infrastructure this is handled for us. Another thing is that in most cases we would also need to setup NetScaler manually as well since this is not something that Citrix cloud handles, but! they have a new component which is in beta now called NetScaler Gateway Services which allows the CloudConnector compoent to act as the NetScaler Gateway and communicate with the VDA agents in the back. Which of course would not require us to actually have a NetScaler appliance at all and reduce the virtual machine cost.
But this as mentioned is still in tech preview and is aimed for smaller customers since the traffic is routed via Citrix Cloud and to the cloudConnector and then to the VDA agents and will not give the same performance as a regular NetScaler Appliance.
But on the downside we still need to think about licenses for RDS and management and backup of other components outside of Citrix such as AD, fileservers and such.
3: XenApp Express
So this is the new option coming from Citrix which will replace Azure RemoteApp, now the cool thing about RemoteApp is that it was a per user per month model and included all the licenses (No RDS, no Storage, no Bandwidth) cost to worry about, there was of course the minimum of 20 users and lack of flexibility in some cases but they continued to irmprove the product over the last years.
Now Azure RemoteApp was also integrated with AzureAD which made user administration easy for customers who for instnace were just using Office365 and needed access to some Windows applications. They could continue to use their same username & password when connecting to Azure RemoteApp.
Now since Azure RemoteApp is set to EoS (End-of-Sale) and XenApp Express will offer a migration program to migrate existing customers from RemoteApp to XenApp Express. Now some interesting things come to mind
1: Does it integrate with AzureAD?
2: What is the minimum user count?
3: Does it have the hybrid option as RemoteApp has?
4: How is it managed and from where?
5: What is the price going to look like?
6: Is it going to leverage NetScaler as well ?
Now there is tech preview that is going to be launched in Q4 which we can sign up for, but not all the details have been disclosed yet. But there was a session about it at Ignite which showed the steps for setting up XenApp Express which can be viewed here — https://myignite.microsoft.com/videos/2792?es_p=2724000
Now the feature is going to be available in the Azure Marketplace and when a users activates the feature he will be redirected to the Citrix Cloud management portal, you create an App Collection where you can choose a pre defined image or you can upload your custom image with LoB. Or you can use domain or non-domained joined machines, but this feature is going to create a set of resources within an existing Azure Resource Group and a virtual network and it also seems like it is integrated with regular Active Directory and not AzureAD.
So I have to say that XenApp Express so far is not impressing me compared with the simplicity that Azure RemoteApp has, of course Citrix has alot of more protocol advancements compared to RDS but the main reason that people or customers choose RemoteApp is because of the pricing, simplicity and autoscaling.
It actually seems like a regular Citrix Cloud offering with Image management using Citrix Cloud and joining the VDA to domains uattended.
4: Windows 10 in Azure
So with the announcement of Windows 10 in Azure delivered from Citrix as well I was really looking forward to be able to provision Windows 10 virtual machine instances in Azure with a fixed price model and tell customers here are you VDI machines where you can run your Windows apps and still use Chromebooks or Macs or whatever locally
But… There are some caveats to this as well. First of this will also be a service within Citrix Cloud, and the main thing to be aware of here is the licenseing requirements (Which are current a restriction from Microsoft) a customers who wants to leverage Window s in 10 has some requirements they need to fullfill before they are allowed to use this feature.
1: It needs to be on a Microsoft EA subscription
2: Has an active Windows SA and have bought Windows 10 in a per user mode.
3: Needs to be Windows 10 Enterprise CBB (Current Branch for Buisness.)
So underneath it is the same Citrix Cloud architecture, you need to pay for licenses and Azure IaaS consumption, so this feature will be able to deliver provision virtual machines directly within Citrix Studio and it can be able to leverage any instance types in Azure so for instance we can leverage Nvidia GPU in N-series in conjunction with Windows 10 service from Citrix Cloud.
So it is not any different from using Citrix Cloud, just another Windows OS type we can use in Azure which is actually unique because Azure is the only public cloud that can run Windows 10.
So far now we have alot of options available in Azure, the problem so far is the wierd licensing retrictions from Microsoft which excludes alot of customers to deploy Windows 10 in Azure, and with XenApp Express it seems to be so far that there are alot of additional requirements which made RemoteApp so good option because of the simplicity, now we need to be aware of the additional costs that it going to come in addition to the user subscription.
Hopefully Citrix and Microsoft together can make the licensing model for Windows 10 in azure alot simpler, I would love to setup Windows 10 VDI machines for smaller customers who are not part of EA just to be able to leveage Windows 10 applications in Azure, and also for XenApp Express I would love to have an easier per user per month cost and not having to worry about management which I didnt need to worry about with Azure RemoteApp but of course on the timeline we have 6 months until this feature becomes GA, but Citrix has so far done alot of work on these features so this might change