How to deploy Citrix XenApp Essentials on Azure

Citrix have recently released a new edition to the XenApp family called XenApp Essentials.
But what is the new flavour of XenApp and why has it been created?

So, a brief history lesson.
Microsoft have had for a number of years an Azure services called Azure RemoteApp. This was essentially Remote Desktop Services "as a service" from the the Azure cloud.
It was cost effective, simple to deploy and had many of the great capabilities that only the cloud provides, such as auto scaling, usage based pricing, minimal management etc.

It allowed organisations to publish applications (no desktops) directly to the users, without the need to manage an estate of virtual machines, and the need to build these out to meet the peak user load.

However, on the 31st of August 2017 this product will be switched off. In fact this will be the first ever Azure product to be switched off. The reason it is being switched off is because there simply are not enough users on the service, and the reason there are not enough users on the service is the same reason that enterprise haven't historically used RDS on its own in their on-premises app delivery and virtual desktop estates. These enterprises have been willing to pay Citrix for the additional management capabilities and access to the many tools that they have developed over the last 25 years of extending upon RDS.

So where did that leave this capability and the existing RemoteApp users. Well Microsoft approached Citrix and asked if they could produce a replacement for RemoteApp. Citrix as such produced XenApp Express subsequently renamed to Essentials.

This "Essential" moniker is there to represent only the fact that it is the Essential services of XenApp, because the edition has been designed to replace not another edition of XenApp but rather RemoteApp which itself was a simple solution. Hence Citrix have simplified XenApp Essentials by removing some of the more advanced capabilities to try to draw it closer to what RemoteApp was.
For example, it only allows application publishing - no desktops which is what RemoteApp provided, there are a limited amount of Policies, RemoteApp had none.

So essentially, Essentials is marketed as the RemoteApp replacement, plus SME's or greenfield projects inside larger organisations. For enterprises, they may well be better of choosing one of the other higher editions of Citrix cloud running on Azure.

So then how to you deploy this?
At the top level, there are only two requirements:

1. An Azure Subscription and
2. a Citrix Cloud account.
This guide assumes you have an Azure subscription. If you don't have one - go and get one now.

What is the Citrix Cloud? 

Well it’s not a public cloud in the same sense that Azure is. Rather this is Citrix "cloudifying" their management service, plus Netscaler and Storefront. It provides Studio and Director as a service via a browser and optional use of Netscaler and StoreFront as a service.

Hence, the second requirement is a Citrix Cloud account. As the name suggests this is just an account in the Citrix Cloud. You then have services enabled for that account that can then be consumed by your organisation.
Easiest way to create a Citrix Cloud Account is by completing the form at where you can also optionally register for a trial of the full Citrix Cloud suite.
Or if you are a RemoteApp user you can register for a XenApp Essentials specifric trial here:

So now to deploying XenApp Essentials.
This depends on what Citrix Cloud enablement you have for your Citrix Cloud account. If you have specifically requested a XenApp Essentials trial account as per the second option above - you don't actually have to deploy the XenApp Essentials product in Azure as per section 1 below, you can move straight to section 2. You will already have this enablement in your Citrix Cloud account and all you need to deploy is your Azure infrastructure.

If, however you have a Citrix Cloud account without XenApp Essentials then you will need to deploy XenApp Essentials from the Azure marketplace so that this service is enabled for your Citrix Cloud Account, so you will need to complete both sections 1 and 2.

Section 1 - Deploying XenApp Essentials via the Azure Marketplace.

Step 1:  Go to the Azure Portal and Click on New

Step 2: Type Citrix…. And Select Citrix XenApp Essentials

Step 3: Then Select Citrix XenApp Essentials

Then the Create button on the next Blade
Step 4: In the resulting blade, start by providing a name for the Resource itself, chose the Azure Subscription you would like place this resource, then either Create a new Resource Group, or use an existing one, and chose an Azure region to locate it:
Step 5: 

Now you will need to connect this resource back to your Citrix Cloud Account.Click on the Connect button

Step 6: This will bring up another browser for you to enter your Citrix Cloud credentials

Step 7: If there is an existing Citrix Cloud account this will return and show you the name of the customer when you created your Citrix Cloud Account

Then you just need to select the number of users you want with a minimum of 25, and any additional Data Transfer. 

Then just click on Create

Step 8:  This will take a couple of hours to complete. You can see the progress by looking at the overview of this resource and look at the Status, you will be ready to proceed when the status changes to “Ready”.

Step 9: This doesn’t actually deploy anything at this point, it just sets up the billing and related services in the Citrix backend.
As this takes some time to complete, it’s worth doing two things in the interim.
1.  View the Citrix Cloud. Click on “Manage through Citrix Cloud”. This will take you directly to your Citrix Cloud Account which if you are just enabled for XenApp Essentials will look like this:

This look is unique just for XenApp Essentials, as it is designed to be as simple as Azure RemoteApp was. All the other editions will have a different albeit similar appearance. All the other editions will show you the standard Studio console, whilst the XenApp Essentials is a very simple point and click user interface.
We will come back here to configure our catalogues.
You can achieve the same directly by thing by logging into

2.  Start considering your core Azure services that you need, such as VM size, Storage Accounts, and storage type, connectivity, generally the recommendation is to use ExpressRoute for enterprise grade connectivity.

You will need to have a Virtual Network available with at least one subnet when you come to deploy a catalogue later. This virtual network will need to have DNS configured using the Custom option to add the IP address(es) of your DNS server(s) in its options to enable the deployment of the master images to work correctly as they need to reach your domain controllers in order to join your domain.

Section 2 - Deploying Workloads into your Azure Subscription
Step 10:  Once the status is Ready you are well, ready to go. Its worthwhile reading the information here, and once you’re ready you can click on I’m ready to start!

The first thing we will do is create a new Catalog

Step 11: Give the Catalog a name and Save it.

Step 12: Now link this to your Azure Subscription. Click on the Subscription Name Drop Down and click on Link an Azure subscription.

Click on Sign in

Step 13: You will be redirected to the Azure Sign in page, note it will have "XenApp Essentials" at the top of the page. Log in with the Azure credentials for the subscription you will use to host your VDA’s.

Then Click on Accept to allow XenApp Essentials to have permissions to the Subscription.

Step 14: You will be returned to your Citrix Cloud configuration. If you have more than one Azure subscription this will list them all. Select the one(s) you would like to use.

Now ensure the Subscription is selected, then choose a Resource Group to deploy into, then select a Virtual Network and Subnet that you will have needed to have created previously.

Click on Save

Step 15: Enter the details of the domain you want these VM’s to join, and click on Save

Step 16: Now you need to link to a master image that includes your apps for this catalogue. You have three choices:
1. Select an existing image – Use this if you already have a custom image.
2. Import a new image - this will require you to have uploaded your VHD to an Azure Storage account.
3. Use a Citrix prepared image – this is for demo purposes as it is a Citrix prepared image.
For this we will use option three to demonstrate how it works.
Click on Use a Citrix Prepared Image, and select an image name, then click on Save

Step 17: Now select the disk type, the capacity on the VM’s that get deployed, and scaling settings.
You can choose Standard Disks which are magnetic disks or for better performance, premium disks which are SSD backed. Then you can select the user load expected per VM, by selecting a preconfigured value or by selecting your own custom value, in accordance with your known app/user workload figures

Step 18: Now select your scaling settings.

Step 19: Once you have everything selected correctly you can click on Start deployment:
and the Citrix Cloud will start provisioning.

So what gets deployed?

This will take a few hours to complete, but if you are watching it will the Citrix Cloud will firstly deploy two Virtual Machines that host the Cloud Connector client, with the associated Azure infrastructure components, such as NIC's, Storage accounts, Network Security Groups and a Key Vault. 

These components will be deployed in to the same Resource Group that you selected in Step 14. Refresh your Resource Group and you will start to see these resources being deployed.

The Cloud Connector VM's will be named something like: XAE60xxx-Edge1 and 2, and will be a Standard  A2-V2, but you can scale them up or down manually by going to the Size blade and changing the size to something you would prefer.

After this is complete it will move on to create the Catalog. It will create a new Resource Group using the name of the Catalog as the Resource Group name. In here it will create the infrastructure required for the Resource Group.

Go back to the Resource Groups and refresh and you will see a new Resource Group Called XenApp-"Your catalog name", and you will start to see components appearing in this new Resource Group.

Section 3 - Publishing Applications and Assigning users

You will notice that the Catalog has been successfully created when the Citrix Cloud console moves to Section 2

Now we need to add some applications and some users.

Step 20: Click on + Apps

Step 21: You will now have two options to find your application. 1, is from the Start menu, and 2, is from a path.

Select Publish from Start menu on the left and then click on the drop down on the right to select your app:

This screen seems a little un-intuitive here as the app is published as soon as you click on it there is no "Publish" type of button. However selecting the radio button to the left of the app just gives you the option to Unpublish the app. Then you just click the X at the top right but this feels as if you are actually cancelling this action instead you are just closing.

Step 22: Now we need to add users. click on Add Users. In the search field on the right type in your user name:

Here you do need to put a tick in the box and make sure you click the "Assign Users button at the top.

You should now get two green ticks at the right of the rows.

Step 23: Now all that is left is to launch the app. Go to Section 3 which will show you your StoreFront URL. Click on the link and you can log in and launch your applications.

That's it you now have an app published from Azure orchestrated by Citrix XenApp Essentials.

You can easily deploy a global Citrix farm, by deploying a Catalog into any of the 30 Azure regions around the world. This is a compelling capability that is next to impossible without the power of Azure. You just need to deploy two Citrix Cloud connectors in any region, and deploy then deploy a Catalog to that region.

You can also integrate multiple domains simply by deploying Cloud Connectors that are connected to other domains, and then the standard domain drop down in StoreFront will display the domain names.

You can also add in multiple Azure subscriptions, just by going to the Subscriptions and clicking on Add Subscriptions, then just signing in with credential for another subscription. This will then allow you to deploy infrastructure into other subscriptions.


Popular posts from this blog

Reassign a WVD Personal Session Host

AVD and Azure Active Directory Domain Join public preview

How to deploy a Windows Virtual Desktop host pool using Infrastructure as code from Azure DevOps