Centric connect.engage.succeed

Deploy Citrix infrastructure in Azure using automation

Geschreven door Randolph Widjaja - 03 april 2017

Randolph Widjaja
In most of the projects I’ve been involved in, time was not on our side and deadlines had to be met. As the IT department, we are expected to create a solution infrastructure in the shortest time possible. To meet the business requirements, we need to automate various steps to win time and save effort, and do this all at breakneck speed. At the on-premises data centre, you can use Microsoft System Center, for example, to script deployment of an infrastructure solution, and in the cloud you can use Azure Automation Services to do the same.

In this blog, I’ll explain how to automate deployment of a Citrix XenApp infrastructure, including Citrix NetScaler VPX BYOL appliance, from Visual Studio.

Before we start using Visual Studio, you will need to install the Visual Studio extension:

  • Azure SDK for Visual Studio

You can also download Citrix Developer SDK for Visual Studio, for example, and explore the possibilities for managing various Citrix components. Have a look at: https://www.citrix.com/community/citrix-developer.

Just as an aside, the Citrix Open Source project offers various SDK packages. At https://github.com/citrix you will find a lot of cool stuff to manage your Citrix infrastructure through scripting.

First create an Azure Resource Group and build a Citrix infrastructure in the Azure Cloud. Because I’m focusing on creating templates for Azure automation, we’ll use the preconfigured templates available in the Azure Marketplace. Just search (in my case as a Citrix enthusiast) for XenApp in the “new” section of your Azure portal.

When you select this template, you’ll be offered the option of downloading the complete template or just the main template (maintemplate.json). If you opt to download the complete template, a Power Shell script you can execute in your local Power Shell console is already available; keep in mind, however, that you will need to import the Azure module to execute the script. When executing the script, a popup screen will appear asking you to authenticate on the Azure Portal and allow the script to run.

Once you’ve downloaded the complete template from Azure, you can import it into Visual Studio for editing and testing. Create an empty project template in Visual Studio. Select “Cloud” and select “Azure Resource Group”.

Now you can import the Citrix XenApp 7.13 Trial template into the Visual Studio project you created. From here you can edit the parameters-template and main-template JSON files. For Example I want to change the server names of the VMs, so I can see what VMs are mine.

Save the project and import it into Microsoft System Center, for example, or deploy it from Visual Studio.

When executed in Visual Basic or start the powershell script, you can also edit the different parameters, passwords of your deployed Azure Resource Group, although it is very limited and I prefer editing in the json files itself.

You can monitor the progress of your deployment in Visual Studio output and when finished you can see your newly deployed Azure Resource Group in the Azure Cloud.

This looks fun, and it is too. With Azure automation, Microsoft has created a solution that is simple to implement and that makes it easy to edit various variables prior to multiple deployments in the Azure Cloud. You can create runbooks for deploying hybrid infrastructures or different kind of other services in the Cloud.

Craft Expert Randolph Widjaja is part of the Cloud team within Craft, the development programme for IT professionals (powered by Centric). If you would like to follow his blog, sign up for Craft updates.


Schrijf een reactie
  • Captcha image
  • Verzenden