Part 1 – using Blueprints to deploy a new Citrix XenApp/XenDesktop 7.x Site into Azure.
Part 2 – using Citrix Lifecycle Management to automatically migrate your XenApp 6.5 Farm to your newly deployed XenApp 7.x Site.
Part 3 – using a customised Blueprint to install the XenApp 7.x VDA onto an existing XenApp 6.5 server.
Part 4 – using Citrix Lifecycle Management Smart Scale to intelligently control your cloud-hosted workloads so that you only have the amount of resources up and running in the cloud that you are using.
Part 5 – using Citrix Lifecycle Management to Upgrade your XenApp 7.x Site to the latest version.
Part 6 – Using the Citrix Cloud Apps & Desktop service to manage your VDA workloads, wherever they are; be it on-premises, cloud-hosted or a hybrid for a fully cloud-managed solution. This solution removes the requirement to deploy the Control Layer, which Citrix will maintain for you. You access an HTML5 version of Studio for management. The only “deployable” components are the VDAs.
In Part 1, we looked at using Citrix Cloud Blueprints to deploy a small scale (POC) XenApp environment into Microsoft Azure. With Part 2 we used the Migrate service of Citrix Lifecycle Management to migrate all of our applications and policy configuration from our XenApp 6.5 Farm to our newly deployed XenApp 7.x Site.
In this part, we will look at a customised Blueprint to install the VDA onto our XenApp 6.5 Worker Server that will then automatically remove XenApp 6.5 and configure access to the new XenApp 7.x Site. The reason for doing this is to “finalise” our migration so that we now have a XenApp 7.x VDA with our existing applications installed.
Why would we want to install a VDA onto our existing XenApp 6.5 Worker Server you ask? Why not build fresh you say? Well, although this isn’t an exhaustive list, here are a few reasons why you may wish to use an existing XenApp 6.5 Worker (APP) Server…
- This gives you a quick way to get your existing applications into your XenApp 7.x environment and into UAT (User Acceptance Testing) without any repacking/redeployment (my use case)
- You may have complex applications that you do not wish to spend time redeploying and/or no longer have the skills/knowledge/instructions in house any more (i’ve come across this too many times!)
- Applications may be farmed out to a 3rd party and they will charge to redeploy these to a new image
- You may not have the time to redeploy these and/or you do not have the applications packaged or a centralised deployment tool such as Microsoft System Centre Configuration Manager
- You need to deploy existing applications very quickly to your new XenApp 7.x Site due to business pressures such as a new acquisition.
As you can see, there are plenty of reasons why you may wish to do this and I bet you can come up with a few of your own!
Using this method would also mean minimal change for the users. Your users will now be going to StoreFront instead of Web Interface but their applications and desktops will be there waiting for them, giving them comfort within the familiar (never underestimate this factor!)
My vision of “The Future”
I also see this as part of the “larger” migration strategy using Citrix Lifecycle Management which will hopefully come to fruition once Azure ARM support is added (P.S. it’s on the way, currently in test 😉 Privileges of being on the inside!)
In the very near future, I would like to see a “complete” automated migration process that would look something like this:
- Similar to Step 1, we deploy a XenApp 7.x Site in the cloud of our choice which is production ready, i.e. 2x StoreFront, 2x Delivery Controllers, license server(s) etc.
- Using Citrix Lifecycle Management Migrate feature, we take all of our settings from our XenApp 6.5 Farm and migrate them into our XenApp 7.x Site
- We deploy our VDA (configured to connect to our new Delivery Controllers) to a number of Workers from the old farm – this could be an instance of each silo type if using silos or just a single worker if you have a common image
- Using the Hosting Connectors within Studio, we now use this/these as our template server(s) and deploy our Machine Catalogs and Delivery Groups using Machine Creation Services (MCS Azure ARM support was released with XenApp/XenDesktop 7.11) or if supported, Provisioning Services
- With absolutely minimum effort and probably the fastest time to value, UAT can begin!
The possibilities here are endless with potential interaction with Citrix AppDNA for automated image and application validation and even application packaging with App-V! These could be done with scripts and I see no reason why not in future releases! Please note that as far as I’m aware, these are not upcoming features but my dreams. However, I’ll mention it to the Citrix Cloud team and let you know what they say 😉
So… what’s the value of Cloud you ask? Stop thinking “VM’s in someone else’s datacentre and think of automated, wizard driven services enabling quicker time to faster, faster ROI, lower TCO that are tried, tested, consistent and repeatable! No more hours of manual hardship, guessing and fingers in the air but predictive results based on your data and use cases! THIS IS THE POWER OF THE CLOUD MY FRIEND!
So, sometime, long ago, I mentioned something about using a customised Blueprint to deploy a VDA and get our legacy XenApp 6.5 application Worker Server into our new and shiny XenApp 7.x Site, right? ;-p
- To skip forward a few steps, I created my own Blueprint but using an existing blueprint, copying it and removing all of the processes except that used for installing the XenApp/XenDesktop 7.x VDA.
As I knew I was installing onto an existing Citrix Worker Server, I also removed installing .NET as this would have already been done and removed installing Remote Desktop Services and all the ancillary features such as Desktop Experience etc.
This did take a bit of trial and error and perhaps a blog post for another day! We will see the steps of deploying the VDA in more detail shortly so hopefully you’ll see what I did to get there.
I also had to change a few of the blueprint parameters to show the Delivery Controllers and Domain options.
- So, using my customised Blueprint “Install VDA” I selected it and chose Deploy.
- As you can see, I’ve given my blueprint a description. Click Start deployment setup.
- You get a default value for the Deployment Name. I’ve left this and clicked Next.
- Select a resource location. As usual, I’ve selected my Azure Subscription but this could be any one of the supported Resource Locations. Click Next.
- There is nothing to configure on the Scale tab, so I clicked Next.
- I now need to pick a server to deploy the blueprint to. Following the same steps (18 – 20) from the previous blog, I installed the Lifecycle Management Agent onto my Worker Server so that it was available to deploy to this server. I selected CTX-XA-01 and then clicked Next.
- You now have the Pre-deployment check list. You can export a parameters .csv to import later but as we only have a few variables, I’ve skipped this. Click Continue.
- Now I need to fill in my required parameters. In this instance, that is Domain Name, Administrator Account, Password and importantly Controller(s). You will notice I’ve put in the name of the Delivery Controller deployed via the POC blueprint in Part 1. Then click Next.
- You can now save the configuration as a Profile, in case you wish to use it again. By doing this, if your blueprint fails or you wish to deploy it to another server, you can select you Profile at the start and save the time of entering the various parameters. Click Save.
- You will now see a summary. If this is ok, click Deploy.
- The blueprint now deploys. First, Autoadminlogon is set. This is needed to pass the admin credentials you entered in earlier.
- Then 7-Zip is installed (downloaded via the Blueprint). This is required to unpack the XenDesktop/XenApp ISO.
- The XenApp/XenDesktop 7.9 ISO is then downloaded.
- And now expanded via 7-Zip.
- Via a PowerShell script with the various parameters we entered in Step 9 earlier, the VDA is now installed. As part of this installation, XenApp 6.5 will be uninstalled and the server removed from the xenApp 6.5 farm gracefully.
- After that, assuming all goes through, autoadmins are disabled and the VM is rebooted.
- With the blueprint completed successfully, everything is Green! You can also revisit and wallow in your marvellousness by clicking on Get Deployment Report.
- Now, to confirm that the VDA installed successfully, firstly I logged into my XenApp 6.5 Zone Data Collector and checked the server list. No sign of my worker, CTX-XA-01. So far, so good!
- Next, I logged onto CTX-XA-01 and looked in Programs and Features. There’s still a few bits left over but XenApp 6.5 but most of the components have been removed and low and behold there is a VDA 7.9!
- Next I logged into my Delivery Controller and created a new Machine Catalog.
- At the Introduction window I’ve clicked Next.
- I’ve selected Server OS and clicked Next.
- For the Machine Management, as I hadn’t configured any Connectors for Azure, I’ve select “Machines that are not power managed” and “Another service or technology”. Click Next.
- I’ve now browsed Active Directory and added CTX-XA-01 and then click Next.
- And there we have it, a Machine Catalog with my newly migrated VDA!
- Next, using the already deployed Delivery Group created during the Migration process (XenApp65), I’ve selected Add Machines.
- I’ve now added our new VDA from the XenApp 65 Catalog and clicked Next.
- And then Finish.
- As we saw in Post 2, if we log into StoreFront we will see our newly migrated applications from the XenApp 6.5 farm. However, if we click to launch an application we should now have a resource in the background to provide the application…
- And voila! Our published application, previously available in our XenApp 6.5 Farm is now fully migrated to our XenApp 7.x Site! And all using Citrix Lifecycle Management!
So, to summarise, using Citrix Lifecycle Management thus far (and no other tools), we have:
- Created a new XenApp 7.x deployment in Azure
- Migrated our XenApp 6.5 Farm settings to our Azure XenApp 7.x Site
- Used a customised blueprint to install the XenApp 7.x VDA and remove XenApp 6.5
- Added the new VDA into a Machine Catalog and Delivery Group via Citrix Studio
- Launched our published application from our new XenApp 7.x.
So, I hope I’ve shown you the power of Citrix Lifecycle Management and how with a bit of knowledge and not much trouble, you can migrate from XenApp 6.5 to XenApp 7.x with minimal fuss. Now I appreciate this was a POC with only a few applications but you can see the process and that there is no reason why it wouldn’t work for a full scale production based on an on-premises XenServer or AWS deployment as well.
I’m also aware that the steps of adding the VDA into a Machine Catalog and Delivery Group could be fully automated via a customised PowerShell script for full end-to-end automation, so if you wish to do this, then please be my guest.
I will be adding more to my Citrix Cloud series in the coming weeks as we are far from over but I really wanted to show you that Citrix truly sees Cloud as their future and isn’t just saying this, but is delivering on it.
Going back to a few of my earlier points I wanted to highlight a few things:
- Citrix Lifecycle Management at present does not support Azure ARM and currently only Classic mode which means you cannot integrate this process with the newly released MCS Azure ARM support – yet. The good news is that support for Azure ARM deployments is coming!
- I understand that I didn’t show you the process of making the VDA blueprint, however, I am hoping that Citrix will officially release one as I’m talking to the Citrix Lifecycle Management team about the possibility – for the reasons listed above. Fingers crossed!
- You do require knowledge of XenApp/XenDesktop and a familiarity with Citrix Cloud and Lifecycle Management. For those who may be reading this article, like what they see and wish to use these methods but are worried that they do not have the skills, then I recommend that you either speak to your Citrix Partner who will be able to assist you in trialling/testing/deploying using Citrix Cloud or if you deal direct, speak to your friendly SE (if you deal direct you will have one!) who can help you on your first steps to Citrix Cloud!
Thank you again for reading and please look out for future Citrix Cloud posts from me!