What is Terraform and How to Start With it?

Last updated on 18 Feb, 2023

Terraform is an open-source infrastructure as code (IaC) tool created by HashiCorp that enables users to define and manage their infrastructure in a declarative manner. It allows you to write code in a high-level language, called HashiCorp Configuration Language (HCL), to describe and provision infrastructure resources such as virtual machines, networks, load balancers, databases, and more. Terraform can manage resources across multiple cloud providers, as well as on-premises infrastructure.

Terraform follows a state-based approach to infrastructure management, where the desired state of the infrastructure is defined in code, and Terraform is responsible for bringing the actual infrastructure state to the desired state. It can automatically manage resource dependencies and ensure that resources are created, updated, or deleted in the correct order. Terraform also allows you to version control your infrastructure code, providing a complete audit trail of changes made to your infrastructure.

Terraform has become a popular tool for automating infrastructure management and is widely used by DevOps teams and system administrators.

How can I start with Terraform?

To get started with Terraform, you can follow these steps:

  1. Install Terraform: You can download and install Terraform from the official website or use a package manager such as Homebrew (for macOS) or Chocolatey (for Windows).
  2. Choose a cloud provider: Terraform supports multiple cloud providers such as AWS, Google Cloud, Microsoft Azure, and more. Choose a provider you want to work with and create an account if you don't have one.
  3. Write your first Terraform configuration file: You will need to write a Terraform configuration file in HCL that describes the infrastructure you want to create. This file is typically named
  4. Initialize the Terraform working directory: Once you have created the Terraform configuration file, navigate to the directory where the file is stored and run the terraform init command. This will initialize the working directory and download any necessary providers or modules.
  5. Plan and apply your infrastructure: After initializing the working directory, run the terraform plan command to see a preview of the changes that Terraform will make to your infrastructure. Once you're satisfied with the plan, run the terraform apply command to create the infrastructure.
  6. Review and manage your infrastructure: After applying the changes, you can use the terraform show command to view the current state of your infrastructure. You can also use the terraform destroy command to delete the infrastructure.

Terraform has extensive documentation and guides on their website that can help you get started. Additionally, there are many tutorials and resources available online to help you learn Terraform.

--- ○ ---