Skip to main content
TrustRadius
HashiCorp Terraform

HashiCorp Terraform

Overview

What is HashiCorp Terraform?

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst…

Read more
Recent Reviews

TrustRadius Insights

Fast and Reliable Infrastructure Deployment: Users appreciate Terraform's ability to deploy infrastructure quickly and reliably. Several …
Continue reading

Terraform Review

8 out of 10
July 12, 2021
Terraform is currently being used to deploy infrastructure to GCP. We are mindful of the fact that some components might need other cloud …
Continue reading

Terraform Review

9 out of 10
February 15, 2021
Incentivized
We use Terraform to deploy our infrastructure into AWS at an enterprise level. We support more than 700 developers across different brands …
Continue reading
Read all reviews

Reviewer Pros & Cons

View all pros & cons
Return to navigation

Pricing

View all pricing

Open Source

$0

Cloud

Team & Governance

$20/user

Cloud
per user/per month

Enterprise

Contact sales team

Cloud

Entry-level set up fee?

  • No setup fee
For the latest information on pricing, visithttps://www.hashicorp.com/products/terr…

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services
Return to navigation

Product Demos

Infrastructure Pipelines with Terraform Cloud

YouTube
Return to navigation

Product Details

What is HashiCorp Terraform?

HashiCorp Terraform is an infrastructure as code tool that lets the user define both cloud and on-prem resources in human-readable configuration files that the user can version, reuse, and share. A consistent workflow can then be used to provision and manage infrastructure throughout its lifecycle. Terraform can manage low-level components like compute, storage, and networking resources, as well as high-level components like DNS entries and SaaS features.

Terraform creates and manages resources on cloud platforms and other services through their application programming interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.

HashiCorp Terraform Features

  • Supported: Manage any Infrastructure
  • Supported: Track your infrastructure
  • Supported: Automate changes
  • Supported: Standardize configurations

HashiCorp Terraform Screenshots

Screenshot of Terraform StateScreenshot of Terraform RunsScreenshot of Terraform VariablesScreenshot of Terraform WorkspacesScreenshot of Terraform Cost Estimation

HashiCorp Terraform Technical Details

Deployment TypesSoftware as a Service (SaaS), Cloud, or Web-Based
Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned. It is available Open Source, and via Cloud and Self-Hosted editions.

Red Hat Ansible Automation Platform, Jenkins, and GitHub are common alternatives for HashiCorp Terraform.

Reviewers rate Performance highest, with a score of 9.4.

The most common users of HashiCorp Terraform are from Enterprises (1,001+ employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(123)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Fast and Reliable Infrastructure Deployment: Users appreciate Terraform's ability to deploy infrastructure quickly and reliably. Several reviewers have mentioned that they were able to provision resources efficiently, saving them time and effort in the deployment process.

Modular Approach with Reusable Modules: The use of modules in Terraform is highly valued by users, as it enables repeatability and encourages code reuse. Many reviewers have stated that they find it easy to share and reuse functionality across deployments, promoting collaboration and consistency among teams.

Large Ecosystem of Modules for Various Providers: Users highly value the extensive ecosystem of modules available in Terraform for various providers. Numerous reviewers have stated that this allows them to easily access strong default configurations for many services, saving them time and effort in setting up their infrastructure.

Complex Documentation: Many users have found the documentation for the new language to be complex and lacking clear explanations, making it difficult for them to understand and use Terraform effectively. They express frustration with the lack of concise and intuitive explanations in the documentation, which hinders their ability to grasp key concepts.

Challenging Rollback Operations: Users have expressed difficulty in performing rollback operations as it must be done through version control. This process is seen as cumbersome and unintuitive, requiring extra steps that could be simplified with a dedicated rollback feature within Terraform itself.

Unusual Language Design: The language used in Terraform is considered unusual by many users, which makes it challenging for new users to understand and navigate the codebase. Some users find it unconventional compared to other infrastructure-as-code tools, leading to confusion when reading or modifying existing code.

Users have provided several recommendations for Terraform based on their experiences with the tool for automating cloud infrastructure management.

First, users suggest taking the time to understand and implement Terraform modules properly. This recommendation emphasizes the importance of familiarizing oneself with the module system in order to effectively leverage the capabilities of Terraform.

Second, users recommend reading through the documentation and reaching out to Hashicorp for assistance when facing issues. By doing so, users believe that they can overcome any challenges they encounter and make the most of Terraform's features.

Lastly, some users advise considering other Infrastructure as Code (IaC) platforms, but acknowledge that Terraform is a great and flexible open-source option. This recommendation highlights the need for users to evaluate different options before making a final decision on their cloud infrastructure automation tool.

Attribute Ratings

Reviews

(1-5 of 5)
Companies can't remove reviews or game the system. Here's why
Eric Mintz | TrustRadius Reviewer
Score 5 out of 10
Vetted Review
Verified User
I use HashiCorp Terraform to create development and production assets in AWS, Digital Ocean, and Linode environments.
  • It has a rich set of plugins to with with many cloud providers
  • It tracks the state of your assets, if they exist or need to be built or changed
  • It's easy to collaborate with others by sharing the state file
  • In my opinion, simple tasks like rebooting a server are cumbersome
  • Some cloud providers may not offer full support for all features of HashiCorp Terraform
HashiCorp Terraform is very well suited for managing cloud-based assets for major cloud providers, including private cloud environments like Xen Orchestra and Proxmox for example. However some providers don't offer support for all of the features. It's not well suited at all for configuring cloud assets; in my opinion, tools like Ansible are much better suited for that.
  • Tracking the state of cloud assets
  • Automating the procurement of assets
  • Ability to collaborate with others to do those things
  • Once the assets are defined, it basically eliminates the overhead of expanding existing resources
  • It reduces vendor-lock by making it easier to port resources from vendor to vendor
I'm beginning to look at Pulumi. In my opinion, it looks like it would be a good replacement for HashiCorp Terraform, and it has the advantage of configuration via scripting, rather than via HCL, which is HashiCorp Terraform configuration markup language. In my opinion, the Pulumi scripts look simpler to develop and maintain than the HCL equivalent.
Score 9 out of 10
Vetted Review
Verified User
We use Terraform to provision all our infrastructure in all major cloud providers (AWS,GCP,Azure), we have invested a lot to make our code repeatable and scalable as we need to support multiple accounts in each cloud provider.
  • Support all major cloud providers
  • good documentation
  • good support of providers
  • We need the tool to be easier to code logic similar like the programming languages we use
  • Creating a CICD pipeline is hard
  • having a single state file is a disadvantage, terraform runs slow if it's not running in the same network where the state file is
Terraform is the de-factor tool to provision infrastructure in an automated way, there are plenty of documentation and examples of people using the tool.
Terraform framework can be considered complicated to write efficient code, especially if you are doing some more complex use cases.
Creating efficient CICD pipelines is quiet challenge , I believe Terraform future will be replaced by Kubernetes operators.
  • cloud agnostic
  • a tool that every DevOps engineer knows in the market
  • infrastructure automation
  • infrastructure in version control
  • we are able to deploy our infrastructure in a couple of ours in an automated and repeatable way, before this could take weeks if the work was done manually and was a lot of error prone.
  • having the state file, you can see a diff of what things have changed manually out side of Terraform which is a huge plus
  • if state file gets corrupted, it is very hard to debug or restore it without an impact or spending hours ..
  • writing big scale code can be very challenging and hard to be efficient so it's usable by the whole team
We have used Vagrant to develop our application in a virtual box environment and prepare it to be packed with Packer. The image created from these two tools will be deployed by Terraform.

We are using Consul for service discovery and as a job locking so we don't have two jobs or the same job running more than once at the same time, we haven't use any combination of Terraform with Consul except that Terraform will provision the Consul servers.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
It is used by our Cloud Services team. The business problems it addresses are automation and repeatability for things like multi environment deployments or for deploying duplicate architecture for each customer that a client may have. Our organization deals with many clients every day and some want their cloud environments to be architected in Terraform in order to easily deploy to new accounts, cloud providers, or even to other regions within an account.
  • Provides detailed examples with documentation
  • Allows public modules to be easily used for simple coding
  • Easy setup and deployment to start writing Terraform
  • Finding what resources and services are created by Terraform within a cloud environment - you can use tags but it is not as easy as it can be.
  • Provide direction on proper coding and best practices of how to setup the templates/modules.
It is great for deploying relatively static architectures to new accounts or regions in the cloud. It can easily do other architectures but the best case is resources that are defined, the parameters can change but when you know what resources/services you need it's great. Less appropriate are cases where you will be dynamically changing resources or parameters on certain resources. It also might be difficult to write modules that use Lambda and things that have their own code base. This can be done but it's not as easy as simple tasks.
  • Public support
  • Reuse of modules and code
  • Simple and consistent method to deploy architecture to the cloud
  • Decrease time to failover to a disaster recovery region/environment to minutes versus hours
  • Decrease time to setup new environment from days to minutes/hours
  • Reduce the amount of time needed to deploy architecture by reusing code that we have developed internally along with using publicly available modules.
CloudFormation is only for AWS so if you're trying to deploy to another cloud provider then Terraform is your product. Terraform has lots of public support so you can find answers to questions by Googling. CloudFormation is easy to view the resources/services that are deployed using those stacks which is better than Terraform supplies but I don't think that outweighs the ease of learning and deploying that Terraform has. Also, with Terraform you can deploy easily to multiple environments with few commands, which CloudFormation can't do. Using a tool such as Runway allows you to setup deployments so they can be automated to multiple environments at a time.
July 12, 2021

Terraform Review

Score 8 out of 10
Vetted Review
Verified User
Terraform is currently being used to deploy infrastructure to GCP. We are mindful of the fact that some components might need other cloud providers and as Terraform is a cross-platform tool it is easier to manage the infrastructure with Terraform. It helps to iterate quickly.
  • Supports a lot of other infrastructure providers like AWS, GCP, Datadog.
  • It provides the building blocks for quite a few resources
  • Appreciate adding the Terraform graph command
  • The command Terraform plan can be more sophisticated.
  • The language can be difficult for novice users
  • It is quite difficult to do major upgrades without breaking something
Terraform is amazing when you have a cloud environment. You can spend time designing the config files but you can save a lot of time when you have to deploy the same environment multiple times. For experimental cases, Terraform can be easily used to spin up environments and easily destroy them.
  • Terraform provides different ways to manage state
  • No major negative impact
Terraform was more preferred over Ansible as it is considerably more intutive.
Guillermo Buritica Tobon | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We use Terraform across multiple clients to track and maintain infrastructure as a code, Using Terraform help us to keep the tracking of the systems and improve the time to market, We use Terraform for deploy similar environments for development, staging and productions.
  • Developed in Go is really efficient and fast
  • Use a really simple language easy to learn
  • The modular system is the state of the art in development
  • The need to keep one standard between versions
  • [I feel] The migration tool require improvement when you upgrade from one version to another
  • Import the infrastructure into the config require more work
When you need to deploy infrastructure and keep a track of your job. Use Terraform for keep your infrastructure make easy to find human errors and keep the history of changes in git or any repository if you use Terraform with your CICD tool you are in the state of the art in infrastructure management .
  • Easy to learn
  • Fast to deploy infraestructure
  • Code Readability
  • We save a lot of the budget with Terraform as we avoid Human errors
  • We improve the time to market
  • The tracking of the changes are easy and reduce the complexity in the proccess
Actually both products work very well. We use Terraform for speed and Ansible for configuration management both products work really well together
Red Hat Ansible Automation Platform, Ubuntu Linux, Red Hat Enterprise Linux (RHEL)
Return to navigation