by Thomas Preischl, CTA
In this article, I would like to show you how easy it is to deploy applications from the Citrix Cloud using Citrix Virtual Apps and Desktops Service based on Windows Virtual Desktop. While I will only cover basic deployment in my article, I think it gives a very good impression that Citrix Virtual Apps and Desktops service even simplifies Windows Virtual Desktop deployment for both desktops and apps. In preparation for this article, I have already created a Tenant in Citrix Cloud and installed a Citrix Cloud Connector in my Azure Tenant. Of course, a subnet and the resource group are also already created. I have summarized the whole thing again for you in the requirements.
The following requirements should be met so that you can continue at this point:
The infrastructure is located at my site on Microsoft Azure.
- 1 Active Directory-Controller with sync to Azure Active Directory
- Citrix Cloud Account with Citrix Virtual Apps und Desktop Services (Preconfigured)
- At least 1 (recommended 2) Windows servers configured as Citrix Cloud Connectors
Connect Citrix Cloud to Azure Subscription
Before we can start distributing our applications or desktops that we want to provide service through Windows Virtual Desktop and Citrix Virtual Apps and Desktops, we must first connect our Citrix Cloud to our Azure Cloud.
To do this, I first log in to Citrix Cloud and select “Manage” in the “Virtual Apps and Desktops” section. Here, you can adjust and manage your CVAD configuration in Citrix Cloud.
Now, the first thing to do is to create a new machine catalog. For this, you can either click on “Hosting” and add a new Hosting Connection there or choose the first item: “Connect to the resources that will host the machines.”
Now I select “Microsoft Azure” as the desired connection. For my settings, I use “Azure Global” as the environment. I want to use “Machine Creation Services” for the deployment later.
For the connection, it is also necessary to store the connection details for the Microsoft Azure Subscription, so that Citrix Virtual Apps and Desktops service can later create the VMs in the correct environment. Of course, you can also use multiple Azure Subscriptions or resource groups in different locations to offer desktops distributed.
With “Create new” you can create a new Azure Service principal or you can enter an existing one that you have already created or create one manually in Azure.
I choose one that I use for several deployments in Azure and enter it. In production environments, it is recommended to create a separate one and to give it only the required rights.
Now I select the desired location where I want to create my Windows Virtual Desktop VMs from Citrix Virtual Apps and Desktop. I’m choosing West Europe, because I’m sitting in Germany.
Now I define the name for the resource and virtual network with a desired associated subnet.
Look through everything again, so that we have not deposited anything wrong and finish with “Finish.”
Building a Template VM for Windows Virtual Desktops
Now we switch back to our Azure Tenant and create a new Windows 10 instance.
It is important here to make sure that it is really a multi-session VM, otherwise it is a single user Windows 10 VM and has nothing to do with Windows Virtual Desktop. I decide to use the 2004 version.
Now I enter my name for the template VM and also which VM size and my access data for the local user.
Since I want to access this VM via remote desktop later, I activate the incoming connection via RDP here. This makes it easier for me to set up and install the desired applications.
If you have licensed WVD, e.g. with a Microsoft 365 bundle, you can check the box here. If you have not already licensed the usage, the license for the VM will be calculated together with the VM via Azure.
In my case, I choose Standard SSD here. In productive environments, you should use Premium SSD if possible, because there is definitely a difference.
Here I select my virtual network and the subnet I have already selected in Citrix Virtual Apps and Desktops. You can of course use another one, but I prefer to install and test my apps always where they will be used by the users later.
Here you can see again the settings I used for my monitoring. Of course, you can use what you need to here. For example, I have deactivated Auto Shutdown for my VM. But I think you can leave this active for a Template VM in any case. I also deactivated the update of my VM.
Now I check again if the configuration fits or if there is something to correct. If everything is OK, I can create the VM with “Create.”
Now it is time for a nice coffee. When the VM is created, you will get the following message from Azure:
If our VM is ready, we can now move on to the next steps.
Join the domain
First, we connect via RDP and join the VM into the existing Active Directory.
Download and install the Citrix Virtual Apps and Desktops – Virtual Delivery Agent
Now, reconnect to your VM with RDP and go to: https://www.citrix.com/downloads/citrix-cloud/product-software/xenapp-and-xendesktop-service.html
There you choose the Multi-Session OS Virtual Delivery Agent. (prior Windows Server Agent) and download it.
Then, I’m going to install the VDA. For my deployment I choose “Create a master MCS image” because thats the deployment which is Azure also using.
I jump through the next step with “Next.”
And now I choose the following three points. I choose Citrix Profile Management WMI plug-in, because I want to monitor the VMs and sessions later via Citrix Analytics.
Then, I have to select my Citrix Cloud Connector, which I enter like a Citrix Controller, which is the Cloud Connector at this position for my Virtual Delivery Agents.
At this point, I can recommend the following links: https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html (here you can find the requirements for the Citrix Cloud Connector).
Now I set my settings for audio and remote support…
… and for the firewall settings.
So, once again briefly skim the settings, make sure that everything fits and off you go. Let’s leave the whole installation!
Once the agent is installed, I restart the VM and let it run first.
Deploy the Windows Virtual Desktop Pool
I now switch back to the Citrix Cloud Console and select the second point in the studio. You can also create a machine catalog here, in which you add a new one under Machine Catalog.
Jump over to the next screen.
Now comes something that needs to be configured specifically for Windows Virtual Destkop (which uses a multi-session OS). This Windows 10 is not a single session OS but a multi-session OS: so choose “Multi-Session OS.”
Now I select that the VMs are managed for power settings and that I want to use MCS.
Now it gets interesting. In the next step, I select my resource group on Microsoft Azure. Here I can see the available disks, or snapshots I can use for my master image. I now select the disc of my Template VM that I want to use.
Since my VM is still switched on and running on Azure, I get the message that it is stopped now.
In the next step, I specify how many VMs my Windows Virtual Desktop Pool should contain and which machine type on Azure should be used for it.
For the deployment, I want to create an extra resource group. You can also use and create your own, but it will only be available here if there are no VMs in it. I let Citrix Virtual Apps and Desktop create them directly, this has the advantage that if I delete them from the machine catalog, the resource group will be deleted too.
Now you get the hint again that the Service Principal in Azure has the correct permissions. Otherwise it will not work.
So that our VMs from the pool also have a network connection, we now assign them a subnet.
Now I define where the computer accounts are created in the Active Directory, there is no difference to the On Premises environment. I also have to specify the naming convention for my WVD VMs.
Because the Citrix Cloud Connector must talk to the Active Directory and create the VMs there, I now store the credentials.
I select an administrator account here, because it has the appropriate rights. If you want to create an account with less rights, you can check here which rights you have to assign to the account. https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/machine-catalogs-create.html
Now we give the child another name. And start the deployment with “Finish.”
You can now see that a new resource group has already been created on Azure for our machine catalog.
When our deployment is finished, the machines are visible in our catalog.
Publish Apps and Desktops
So, we are already a long way towards our destination. In the next steps, we will deliver applications and desktops via Citrix Virtual Apps and Desktops service, which we host on Windows Virtual Desktops.
To deploy the applications, we first need a deployment group. Either you create a new one in the “Deployment Groups” section or you choose the third point in a new deployment like me.
Here I select my desired VMs. I have created two VMs and would like to assign them to my provisioning group.
Because I manage everything in my workspace with libraries, and assign them to the users, I use this method now. Of course, you can also assign the apps classically to an Active Directory group.
In the following step, I can now select the applications installed in the Windows Virtual Desktop VMs as usual.
Now name it the way you would like it displayed for the users.
Now all relevant steps are done. Our users can get their apps now and use them.
Let’s give it a try and test the connection with the Workspace app.
I hope my article inspired you to try Citrix cloud and that you enjoyed it. I would be happy about a comment, or a visit to my website (https://www.thomaspreischl.de). Feel free to discuss with me here in the forum or follow me on twitter @thomaspreischl