Apache CloudStack and Terraform Solution Brief

IT solution providers must meet the need for a wide range of services within a limited timeframe. A company’s competitiveness heavily relies on its ability to promptly offer IT solutions or provide infrastructure. To achieve this, companies must leverage tools that enable them to deliver new features, scalability, and infrastructure almost instantly.

Every organization wants efficient, scalable, and reliable IT infrastructure. Automation tools increase agility, enhance employee productivity, and reduce security risks by eliminating manual errors through the standardization of process. When discussing infrastructure automation, we usually consider infrastructure provisioning – getting and setting the physical components required to run specific applications. However, infrastructure automation also means reducing the number of human interactions with the IT system. This can be achieved by creating scripts or functions with tools like Terraform, Ansible, Chef, Puppet and more.

Terraform is an open-source infrastructure-as-code tool created by Hashicorp and Licensed through the Apache 2 License. By using Terraform, end users can easily create complex infrastructures anywhere since Terraform has a huge list of providers supported, including Apache CloudStack. Terraform allows DevOps Engineers to automate and manage the Data Center Infrastructure, the platforms, and the services that run on those platforms, all from one location, that you can reuse and share.

Apache CloudStack and Terraform Integration

Terraform relies on a set of plugins known as Providers in order to provision or manage resources and cloud services. As part of the integration of Terraform and Apache CloudStack, Terraform requires a specific CloudStack provider, which acts as a transition layer between Terraform and Apache CloudStack. This provider was written to provision and manage resources such as virtual machines, networks, templates, volumes etc., using the CloudStack APIs.

There are two main working components here:

• Terraform Core
• CloudStack’s Provider

 

“We are excited to see this integration between Apache CloudStack and Terraform. We observe an increasing number of use cases for CloudStack that are being driven by infrastructure automation and infrastructure repeatability.

Organizations also seek consistency across any cloud platform: whether that is their internal infrastructure driven by CloudStack or major public clouds. Terraform, along with CloudStack, is a perfect fit for these use cases!”

Giles Sirett, CEO, ShapeBlue

 

 

About Terraform

Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.

Terraform allows infrastructure to be expressed as code in a simple, human-readable language called HCL (HashiCorp Configuration Language). It reads configuration files and provides an execution plan of changes, which can be reviewed for safety and then applied and provisioned. Extensible providers allow Terraform to manage a broad range of resources, including IaaS, PaaS, SaaS, and hardware services.