As an administrator, you’re a busy person. Between patching, upgrading, and making updates, there’s not much time left in the day to focus on strategic decisions. That’s where automation is here to help. By automating routine tasks, you can devote more time to important decisions that require creative problem-solving rather than completing repetitive tasks. Automation also drives consistency and scale, reducing the risk of human error while deploying at speeds not possible via manual implementation. That’s the power of automation.
At Citrix, we have long understood the power of automated deployments. Our robust lineup of PowerShell SDKs and REST APIs enable admins to manage their sites with the same level of granular control as the GUI. On top of that, our Automated Configuration Tool (ACT) automates the migration of site configurations, enabling admins to easily and quickly migrate configurations to Citrix DaaS or between on-premises sites.
We’re about to bring these automation capabilities to the next level with Terraform.
Why Terraform?
HashiCorp Terraform is an infrastructure-as-code (IAC) tool that allows you to manage resources and other services through an intuitive, high-level interface. You define what you want your environment to look like, and Terraform does the heavy lifting for you – no more hours of scripting and testing. Learning the Citrix APIs isn’t necessary with Terraform, you only need to define the resources to deploy. The Citrix Terraform Provider figures out the corresponding Citrix APIs to call, prepares the order of execution, and handles the errors gracefully.
With Terraform and the Citrix Terraform Provider, Citrix administrators can audit, review, and integrate Citrix environments with deployment pipelines. This drives more consistency than manual operations via Studio and speeds up deployment times by automating repetitive tasks. You can track every single resource (like machine catalogs) via code, which makes it easy to track configuration drift, clean up the environment, and restore quickly—saving you time and keeping your environment standardized.
Powered by Citrix
Citrix has developed our custom Citrix Terraform Provider for all our customers to use. It can deploy infrastructure components for Citrix Virtual Apps and Desktops and Citrix DaaS. You just describe the site configuration (machine catalogs, delivery groups, etc.) in the Terraform files and the provider will handle making the actual API calls and maintaining the environment through the provider!
The Citrix Terraform Provider can be run on any operating system—Windows, Linux, or macOS. However, StoreFront management is only available on Windows. The initial release supports Citrix Virtual Apps and Desktops and Citrix DaaS infrastructure, with support for Workspace Environment Manager (WEM) and Citrix Provisioning (PVS) coming soon!
The provider is available on GitHub, and our engineers are actively monitoring for your feedback. If you also deploy NetScaler to secure application access, you can use our Citrix ADC Terraform Provider.
Getting Started
Getting started with the Citrix Terraform Provider is simple! You can follow our Deployment Guide for steps to install Terraform and configure the Citrix Terraform Provider. You can import an existing site into Terraform, there is no requirement to provision a new site. Our script can help fast track onboarding an existing site to Terraform, but please note that the script is still in Tech Preview. Each resource can also be individually imported, for example, a delivery group.
We are invested in helping you succeed with Terraform. Our teams have developed several guides for vSphere, Azure, AWS, and GCP deployments. We are also working on new guides for Nutanix and XenServer, so be sure to watch for those items and more on the Citrix Community site.
Learn More
To learn more about our capabilities with Terraform, check out the episode of The Click-down podcast about all things automation. You can visit our product documentation for more information about Terraform and Citrix.
Disclaimer: This publication may include references to the planned testing, release and/or availability of Cloud Software Group, Inc. products and services. The information provided in this publication is for informational purposes only, its contents are subject to change without notice, and it should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for products remains at the sole discretion of Cloud Software Group, Inc.