Terraform by Hashicorp is a popular tool for managing your infrastructure as code. With Terraform, you describe your desired infrastructure in one or more code files. Terraform translates the code into requests for creating, configuring, or deleting cloud resources on your cloud provider's platform.
What Is Infrastructure-As-Code
Infrastructure-As-Code (IaC) is an approach to creating and managing your cloud resources that aims to define your cloud resources inside of text code files. You can write out what cloud resources should be created, and you can write out how they should be configured by the cloud platform. Writing your infrastructure in a code file gives you an opportunity to plan your infrastructure before you have to start accumulating costs from creating cloud resources. You can more easily share your plan with someone else to confirm that you have written the correct configuration. Using code files also means you can use source code management tools like Git to track changes to your infrastructure over time.
The Cloud Means Automation
One of the biggest features of cloud platforms is automating the deployment and management of the cloud resources your workloads require. Manually setting up virtual machines, cloud storage, virtual networks, load balancers, and other cloud resources is time-consuming and prone to error. You will also have a very hard time managing these resources when you have deployed more than a small handful of cloud resources. Tools like Terraform work with the cloud to ease creating cloud resources so developers can spend their time writing code instead of punching buttons in an interface to create cloud resources.
Terraform Enjoys Widespread Support
Most cloud providers support using Terraform to create and manage cloud resources on their platforms. Terraform is a very popular choice for cloud engineers to manage cloud resources, especially if they are managing tens, hundreds, and thousands of cloud resources. Terraform was originally made by Hashicorp, who makes software products for managing cloud deployments, but Terraform is an open-source software project with a strong community supporting the ongoing development of the software.
Who Uses Terraform
People who are responsible for creating, managing, and deleting cloud resources are most likely to be the ones who use Terraform or would benefit from using Terraform. These people include but are not limited to cloud engineers, systems administrators, site reliability engineers (SREs), DevOps professionals, and even software developers who are also responsible for the infrastructure for the software they develop.