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

(122)

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-3 of 3)
Companies can't remove reviews or game the system. Here's why
Erlon Sousa Pinheiro | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
We are using Terraform to manage our entire environment as a code. We're controlling it with VCS (in our case, Github) and performing a good automation process with Puppet and Jenkins. Terraform helps us to achieve that in a quite organized way, structured and reliable. Furthermore, we now have versioning of our environment allowing us to have more control about how things change, how that was performed, and in the case of a mistake, it is quite easy to rollback.
  • The Terraform files would be considered as documentation since our entire environment is described there.
  • Terraform will manage the state of your environment, that means, if something is not in conformity, it will try to fix keeping as close as possible of the desired state.
  • With Terraform, you can manage different cloud environments at the same configuration files. That is really useful when you need to handle with different cloud providers.
  • The way Terraform manages variables is a bit annoying. Sometimes we need to declare the same variable in more the one file. So far, this doesn't make sense for me.
  • Due to the speed, as new AWS products are released, if we want to work with something new, we need to wait for a new version with this new feature be released.
  • As with most DevOps tools, Terraform has its own DSL language and will require time to learn the product for you feel confident in its usage.
Two scenarios I can describe Terraform as an amazing option are when you have a complex (or not) cloud environment which needs to be deployed and destroyed frequently in different regions. Using Terraform you can do that using just one command line. You'll spend some time designing the config files, but you'll save a huge amount of time every time you need to deploy this same environment. Furthermore, you can create those scripts parametrized, in a way that you can give a few parameters allowing some flexibility. The second case is when you have the same environment in different cloud providers. You can manage them using just one resource.
  • Our deployments are more reliable. This way we avoid having unexpected outages due to misconfiguration performed manually.
  • Agility. While doing this using our previous way, we used to spend hours to deploy a new environment. With Terraform it is just a few minutes.
  • Better control! We can track every single change in our environment by our control versioning system.
Actually, Terraform performs pretty well. The main delay came from the cloud providers and the time they take to perform API calls.
Terraform has an API which allows us to create integration among different products. This API is well documented on the main website and we can integrate it in different ways.
David Tanner | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Terraform is being used as infrastructure as code solution. We deploy it to all of our environments as part of the code that is deployed. This allows the developers to own the infrastructure, and changes can be made to our servers quickly and reproducibly. Since Terraform is an open source tool, we also get community support and don't need to maintain it ourselves.
  • Repeatable deployments between environments.
  • Changes to environments can be seen before making real changes.
  • It integrates well with each of our providers.
  • Terraform could be expanded to provide common programming functionality.
  • Sometimes the documentation isn't completely clear on what fields mean or do.
  • It would be nice to have rollback capability.
Terraform is well suited to setting up infrastructure in different cloud providers. I have used it for AWS resources for several years, and really only run into minor snags. It is not an appropriate place to store sensitive values, but it can easily call out to system resources, like Node.JS or a Linux shell.
  • Now that we're using Terraform we don't need dedicated IT administrators.
  • Developers are able to quickly spin up resources for testing.
  • Sometimes the ease of setting up environments can lead to higher expenses without realizing.
Docker, LastPass
The guides for Terraform have never been unavailable, and are very responsive. I haven't needed to get support as of yet. We are running the plan and applying the steps in the CLI work as fast as the resources they are updating so it can be very fast, or very slow. This depends on what you are doing.
It is easily called from any terminal, and can integrate nicely when you want it to call system resources. I find the Terraform syntax much easier to use than CloudFormation, and much easier to mess with than navigating the web consoles of different providers. I haven't had to do any custom integrations as of yet.
Dhruba Jyoti Nag | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Terraform is used to automate resource deployment in AWS using scripts. It is used by entire IT to deploy systems in AWS. The automation has saved hundreds of thousands of dollars in time and money. Since there is no manual deployment, there are no errors during deployments and developers can deploy in production since everything is defined in scripts.
  • Terraform is a premier IAAS tool.
  • It provides modularization and planning features.
  • It is platform and language agnostic.
  • It is open source and thus has strong community support.
  • Terraform is vulnerable when it comes to error handling.
  • Often when a terraform job is terminated midway, it leads to an inconsistent state of the deployed resources which needs manual cleanup.
  • Terraform is an open source tool and has a related learning curve.
Terraform is more versatile when compared to cloud formation. It is cloud-agnostic, so unlike cloud formation, it is able to deploy resources in cloud ecosystems other than AWS. The code can be modularized, hence there is ample scope of reuse. It can also be used to deploy apps written in various languages. In short, it makes deployment to cloud a breeze.
  • Deployment to cloud has been made easier.
  • Developers do not need to know much, they can just do minor tweaks by changing variables and parameters here and there and manage to deploy to AWS.
  • This has resulted in dollar benefits because deployment through the script is error-free compared to manual deployment.
Terraform is open source and has strong community support. It is cloud-agnostic versus competing products like AWS cloud formation, hence has a distinct advantage. The scripts once set up are easy for developers to administer during development, hence during production releases, solution developers can manage the entire process without the need for admins.
Amazon S3 (Simple Storage Service), Amazon DynamoDB, Gitlab
Terraform's performance is quite amazing when it comes to deployment of resources in AWS. Of course, the deployment times depend on various parameters like the number of resources to deploy and different regions to deploy. Terraform cannot control that. The only minor drawback probably shows up when a terraform job is terminated mid way. Then in many cases, time-consuming manual cleanup is required.
Terraform is easy to integrate with AWS. We can import existing infrastructure scripts using terraform as well as migrate existing cloud infrastructure. It is extremely easy to integrate terraform scripts with AWS infrastructure. Terraform scripts provides modularity which in itself helps in the reuse of code. Terraform can be integrated other cloud ecosystems as well as different languages.
Return to navigation