We just raised a $30M Series A: Read our story

HashiCorp Terraform OverviewUNIXBusinessApplication

HashiCorp Terraform is the #6 ranked solution in our list of top Configuration Management tools. It is most often compared to Red Hat Satellite: HashiCorp Terraform vs Red Hat Satellite

What is HashiCorp Terraform?

HashiCorp was founded by Mitchell Hashimoto and Armon Dadgar in 2012 with the goal of revolutionizing datacenter management: application development, delivery, and maintenance.
The datacenter of today is very different than the datacenter of yesterday, and we think the datacenter of tomorrow is just around the corner. We're writing software to take you all the way from yesterday to today, and then safely to tomorrow and beyond.
Physical, virtual, containers. Private cloud, public cloud, hybrid cloud. IaaS, PaaS, SaaS. Windows, Linux, Mac. These are just some of the choices faced when architecting a datacenter of today. And the choice is not one or the other; instead, it is often a combination of many of these.
HashiCorp builds tools to ease these decisions by presenting solutions that span the gaps. Our tools manage both physical machines and virtual machines, Windows, and Linux, SaaS and IaaS, etc. And we're committed to supporting next-generation technologies, as well.
HashiCorp was founded and continues to be run by the primary authors of all our core technologies powering thousands of companies worldwide. We speak at conferences and write books related to application and infrastructure management.
All our foundational technologies are open source and developed openly, and have been since 2010.
The Tao of HashiCorp is the foundation that guides our vision, roadmap, and product design. As you evaluate using or contributing to HashiCorp's products, it may be valuable to understand the motivations and intentions for our work. Learn more about the Tao of HashiCorp here: https://www.hashicorp.com/tao-of-hashicorp

HashiCorp Terraform is also known as Terraform.

HashiCorp Terraform Buyer's Guide

Download the HashiCorp Terraform Buyer's Guide including reviews and more. Updated: October 2021

Pricing Advice

What users are saying about HashiCorp Terraform pricing:
  • "They have given it to us at a monthly cost, but it is on a yearly basis."
  • "The setup for Terraform is quite easy and currently, we are using their community version along with Jenkins."

HashiCorp Terraform Reviews

Filter by:
Filter Reviews
Industry
Loading...
Filter Unavailable
Company Size
Loading...
Filter Unavailable
Job Level
Loading...
Filter Unavailable
Rating
Loading...
Filter Unavailable
Considered
Loading...
Filter Unavailable
Order by:
Loading...
  • Date
  • Highest Rating
  • Lowest Rating
  • Review Length
Search:
Showingreviews based on the current filters. Reset all filters
VR
Partner & principal technologist at SwanSpeed Consulting
Real User
Top 10
Creating a VPC and VPN connectivity to the VPC can be automated

Pros and Cons

  • "One of the most valuable features is that it offers the ability to create a VPC, Virtual Private Cloud and VPN connectivity to the VPC can be automated without having to do it manually."
  • "One of the most valuable features is that it offers the ability to create a VPC, Virtual Private Cloud and VPN connectivity to the VPC can be automated without having to do it manually."
  • "I still struggle a bit when configuring VPNs when we have multiple rules. If we have five or six virtual private clouds and we have to give rights between those multiple VPCs, we can have big problems. I think it was a learning curve and then we improved it."

How has it helped my organization?

The office was working out of their office and they had around nine clients. The workspace would be in AWS and doing a VPC manually would have been a really hard job. The time estimated for doing nine virtual private clouds would have taken more than a month or two. Using Terraform, they were able to finish it in two weeks. The speed at which we could create the infrastructure was much faster than physically doing it. Also, having an audit and log for all the infrastructure was managed a lot easier using Terraform rather than doing it manually.

What is most valuable?

One of the most valuable features is that it offers the ability to create a VPC, Virtual Private Cloud and VPN connectivity to the VPC can be automated without having to do it manually. 

What needs improvement?

I still struggle a bit when configuring VPNs when we have multiple rules. If we have five or six virtual private clouds and we have to give rights between those multiple VPCs, we can have big problems.  I think it was a learning curve and then we improved it. 

I have not come across anything that really stopped us from not doing anything for our requirement as of now.

What do I think about the stability of the solution?

I liked it because since it's scriptable, the way you create the infrastructure is the same way you can delete the infrastructure also. If you created 10 to 20 different services and objects in AWS using a Terraform script, it's much easier for a person to get the whole infrastructure down. You can do a backup and then you don't really need AWS services because either the client does not exist anymore, or there is some gap before the client comes back, you don't have to manually go and delete all the resources. One script would actually remove everything from AWS. 

Cost-wise, going through the script and then removing everything that you have created through the script is much better than manually doing it. That was helpful for the client as well.

What do I think about the scalability of the solution?

We use it to manage infrastructure. For day-to-day work, the main developers were not using Terraform, so it was only three of us who used it. We were working on Terraform, created those scripts, and then gave it to the client for whom I was doing the work. Since it's now scriptable, they are able to manage and do all these small changes. They don't come back to me. Since they don't come back to me, it seems like it is working fine.

Terraform keeps updating its scriptable platform, the engine through which they communicate. So if there is any change in AWS, they keep updating it. Even from the deployment side, they have to be aware of the features, which Terraform still supports and the features, which Terraform doesn't support and then work around accordingly.

How was the initial setup?

The initial setup, like doing the AWS credentials, putting it in place, and getting the API keys are the parts that took time. Otherwise, it is a lot faster and the learning curve is also much easier since it's a YAML-based scripting language. Even a non-programmer in a normal office can understand what is happening in the flow.

The deployment took around 15 days. In around 20 days we were ready with the Terraform scripts and then made small changes. Every time they need a new infrastructure that requires a small change, it would take a day or two. We created the initial Terraform script and gave it to a client so that it could later be managed by the client itself to create and run. Fifteen days was good enough for us to create and test the Terraform infrastructure and then give it to the client.

We started the deployment by seeing how we would divide the infrastructure. One is the list of infrastructure, which we would need irrespective of the clients for the VPC, VPN gateway, and active directory services. Those are all mandatory items that we would need for all the VPCs. And there are some items that are client-specific. We divided it into multiple parts. One is generic, which you will need for all the clients that are a base level. Then you keep playing the client's specific scripts on top of the base script.

What's my experience with pricing, setup cost, and licensing?

It's open-source.

What other advice do I have?

Rather than doing a monolithic Terraform for the whole infrastructure, it would be good for the script to be reusable. Use the base level script that every infrastructure would need. Generating a local IP network and then creating two instances or creating some databases and other basic scripts that all the infrastructure would need should be a base level script. Then add on your base level script with the add-on scripts on top of the base script to create infrastructure that is specific to clients. You can reuse the script, the same base group for many other purposes as well.

Before using Terraform, for auditing, creating machines, etc, we would either rely on AWS infrastructure itself or documents that had infrastructure-related data. Using Terraform, a lot of this data was captured automatically since it's a YAML script. It could be easily exported as a document or Excel file as well. Documentation and infrastructure was much easier to maintain than doing it otherwise.

I would rate Terraform an eight out of ten. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Ashen Perera
Sr. Systems Engineer / Tech Logic Consultant. at a consultancy with 51-200 employees
Real User
Top 5
Enables companies to have a lot of options to ensure faster growth

Pros and Cons

  • "I like the function that shows me a preview of what is happening in the infrastructure."
  • "If you are copying something from a well running machine to a remote machine, there are some issues with the current version, but it is acceptable."

What is our primary use case?

I mainly use it for infrastructure automation. I use it to provision servers in different cloud providers and in-house with the principles to create a Kubernetes cluster. If you have a master node concept I would create the master and find related text.

The main function for me is to create infrastructure.

How has it helped my organization?

Because of Terraform, companies have a lot of options to ensure growing faster than what was normal in the past. Usually, it takes about two to three weeks to be done. But with Terraform, the approval is there and you can take it out in half an hour or ten minutes to deploy. That is a really good benefit of using Terraform.

What is most valuable?

I like the function that shows me a preview of what is happening in the infrastructure. We created it to find a workflow and find out which area has an issue over a certain period of time. If there is a patch with a change to the environment, I don't have to change a lot of code, I just have to change one or two variables with very few modifications to make sure the environment reflects that. So I love that.

What needs improvement?

I'm really happy with Terraform because it has really come a long way up to this point. It has a stable version.

For the moment, Terraform is actually working really well with a majority of our providers and technologies. At this point, the news cables are about 80% to 90% from the feed. I don't see a problem with the product. But if you're talking about homes, bugs and some certain features, I think there are features that could be included. For example, if you are copying something from a well running machine to a remote machine, there are some issues with the current version, but it is acceptable.

For how long have I used the solution?

I have been using HashiCorp Terraform for three months.

What do I think about the stability of the solution?

HashiCorp Terraform is extremely stable. But there are bugs that we are finding when doing some things. It's a really good product.

What do I think about the scalability of the solution?

For the moment I am the only one using it. But if you're talking about my clients and thinking about jobs and growth and the community behind it, it's really good.

How was the initial setup?

What I did first was see how this works, ask the community, and check all sorts of blogs that are really helpful. There is a lot of talking about Terraform so it is easy to study. It's not that hard to get a grasp on it. The information is there to make sure that someone can get this technology into their hands. I think the initial set up is really good.

If your core group is ready, it takes 10 minutes to one hour to make the magic happen. Then you have to make sure you know what you want. Once you get the job details it can be used in different projects because in the end everything is the same. Start with the hardware. It's about individual talent mainly. For me it takes about four to seven days to create a functioning Terraform.

What about the implementation team?

I did it in-house.

What other advice do I have?

HashiCorp Terraform is a great product and I think anyone working with infrastructure should have it.

On a scale of one to ten I guess I would give HashiCorp Terraform a nine.

Which deployment model are you using for this solution?

Private Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: October 2021.
542,029 professionals have used our research since 2012.
Chendrayan Venkatesan
Cloud Automation Engineer at a energy/utilities company with 10,001+ employees
Real User
Top 10
An impressive infrastructure tool but requires a talented team to operate

Pros and Cons

  • "The ARM template is very easy to work with, which is a big help to us."
  • "On a scale from one to ten, I would give this solution a rating of seven; strictly because I was uncomfortable using the ARM template earlier. After another six months, I am sure I will give it a rating of 10, but at this point in time in my experience, I say seven, but not because of the tool itself."

What is our primary use case?

We deliver the platform as a service to businesses. For example, one request for a particular subscription could be in the business domain or non-business domain, whatever it may be, based on the demand, we deliver the customized subscription to them. For each service, we have different constraints. What needs to be delivered in the VNet of Azure, and what needs to be done externally.

What is most valuable?

The ARM template is very easy to work with, which is a big help to us. At the end of the day, there are a lot of tools that we explore like FollowMe and other solutions, which come in handy.

What needs improvement?

I personally say it's already simplified. I don't see many areas for improvement because Terraform employs a lot of skilled engineers that put their time and energy into providing a fantastic enterprise-level tool like this. There is not much more to simplify. There are already quite notable features in Terraform and we've already been provided with updates and other features. In short, there are many things which are already in place, so I don't think that we need anything more from Terraform.

For how long have I used the solution?

I have been using this solution for over six months.

What do I think about the stability of the solution?

Personally, I haven't really experienced any significant instability issues with Terraform. Once or twice I've noticed log issues, but apart from that, I haven't really experienced any problems. Keep in mind, this is the first platform that we are building using Terraform, so we have yet to come across the version with the initial data. In the future, I may face heat and pressure when I'm doing that, but I am not really sure because I have not done the hands-on work of it.

How are customer service and technical support?

Technical support is offered by HashiCorp, but we can't call HashiCorp for technical support because we don't currently use the enterprise version. Our products are community-driven and the community support is great.

How was the initial setup?

Considering we started from scratch, the initial setup was pretty straightforward. We didn't have any challenges. We started our platform build from scratch using Terraform.

What about the implementation team?

For maintenance-related issues, we use GitHub to find the solution to any problems we encounter; we simply log an issue and follow-up with them.

What other advice do I have?

Provided your environment requires Terraform and/or you have skilled engineers who can perform the required maintenance, I would definitely recommend this solution. Terraform is not justified for use just anywhere; you need to have an experienced team to limit any issues. You need to have a certain level of training to consume the services in their DevOps Toolbox and then use them properly. I definitely support and recommend Terraform, but what you get out of it depends on the business environment as well as the team members' knowledge in Terraform.

On a scale from one to ten, I would give this solution a rating of seven; strictly because I was uncomfortable using the ARM template earlier. After another six months, I am sure I will give it a rating of 10, but at this point in time in my experience, I say seven, but not because of the tool itself.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
OmerMizrahi
DevOps Engineer at BioCatch
Consultant
Top 5
Can work with different cloud providers and saves a lot of time and human errors

Pros and Cons

  • "We save a lot of time with this solution."
  • "It should have a more object-oriented approach like different coding languages."

What is our primary use case?

We use it to provision cloud infrastructure. We use it to provision all kinds of infrastructure from wherever we want, we Terraform to the cloud.

We provision new infrastructure, we update existing infrastructure with it, we manage our DNS records, and also deploy new applications on Kubernetes. That's the main use, but we use it for all of our infrastructures, so it has a lot of different use cases.

How has it helped my organization?

Before we used it, we were writing a lot of scripts to provision infrastructure and there weren't guidelines for anything on how to provision and how our environment will look. Now with Terraform, it's all templated and everyone in my team just uses modules that are templates, modules of Terraform, and all our environments look the same. It doesn't matter if it's dev, if it's QAs, if it's production, it looks the same. It just has different names and different types of machines. We want to pay less in the dev environments and QA but we want to have better performance in production. It's just the variable to change the type of machine that we want to use, but the template remains the same.

We save a lot of time with this solution. It also saves a lot of human errors and the whole team knows how to do the same thing.

What is most valuable?

The most valuable aspect of this solution is that it's agnostic. It can work with different cloud providers, which we may do in the future, so it benefits us. With not much change, I can deploy the same infrastructure to other cloud providers. Now we work with Azure but we can work with AWS or GCP and with minor changes we can deploy the same applications to other clouds. We can replicate the existing cases with minor changes and it's easily deployed.

What needs improvement?

It should have a more object-oriented approach like different coding languages.

What do I think about the stability of the solution?

It's really stable. We have no issues with it.

What do I think about the scalability of the solution?

There are around five or six DevOps engineers who use this solution in my company. It's used on a daily basis. We use it for maybe 20% of our infrastructure, but we intend to use it for 100% all with Terraform.

How are customer service and technical support?

I haven't needed to contact their technical support. 

Which solution did I use previously and why did I switch?

We switched to Terraform because we wanted to minimize time and minimize human errors. We wanted to have alignment between all of our environments and really just development is faster.

We went with it because I had a really good experience with it in previous jobs.

How was the initial setup?

The initial setup is straightforward. There are some things you need to understand to know if you want to make more complex templates but it's pretty straightforward. It's really flexible. 

Overall, the deployment takes around 15 minutes. 

What's my experience with pricing, setup cost, and licensing?

It's open-source so it's free. 

What other advice do I have?

My advice to someone considering this solution would be to work with the HashiCorp Best Practices of Terraform, work with Terraform modules, and write templates for everything. 

I would rate Terraform a nine out of ten. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
ArpanBalpande
Senior Information Technology System Analyst at YAUSH Technologies
Real User
Top 5
Easy to deploy, stable, and scalable with good support and many useful features

Pros and Cons

  • "The state backend, automated describe functionality, modular structures, and variablization using templates are most valuable."
  • "The state locking functionality can be improved. In certain situations, we have to force-unlock the state, which sometimes does not work. When that happens, we have to manually go to the state backend and remove that particular state, which is kind of a cumbersome process. It should also have more functions, more expressions, and support for more products."

What is our primary use case?

We are using it for infrastructure as code automation. We are running its latest version.

What is most valuable?

The state backend, automated describe functionality, modular structures, and variablization using templates are most valuable.

What needs improvement?

The state locking functionality can be improved. In certain situations, we have to force-unlock the state, which sometimes does not work. When that happens, we have to manually go to the state backend and remove that particular state, which is kind of a cumbersome process.

It should also have more functions, more expressions, and support for more products.

For how long have I used the solution?

I have been using this solution for almost four years.

What do I think about the stability of the solution?

It has good stability.

What do I think about the scalability of the solution?

It is good in terms of scalability. We have almost 35 to 40 users. We definitely plan to increase its usage.

How are customer service and technical support?

We did interact with their technical support. It was easy to schedule a call with them. It was also easy to contact their sales team and the support team. It was definitely a good experience.

Which solution did I use previously and why did I switch?

We had AWS CloudFormation as well as Azure ARM templates.

How was the initial setup?

Its initial setup is quite good and simple. It didn't take more than one and a half hours.

What about the implementation team?

I did it myself. We have four people for its maintenance. We have one admin and three deployers.

What's my experience with pricing, setup cost, and licensing?

They have given it to us at a monthly cost, but it is on a yearly basis.

What other advice do I have?

I would advise others to understand the state backend and how Terraform works. They should also go through functions as well as expressions in the Terraform official documentation.

I would rate HashiCorp Terraform an eight out of ten.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Amazon Web Services (AWS)
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
ITCS user
Senior DevOps/Build Engineer at a tech services company with 10,001+ employees
MSP
Top 10
A stable and scalable solution which allows one to easily work faster and set up new environments

Pros and Cons

  • "The solution allows us to work faster with ease and to set up new environments and workspaces."
  • "I would like to see a short-term option for a short-term plan."

What is our primary use case?

I use the latest version. 

What is most valuable?

The solution allows us to work faster with ease and to set up new environments and workspaces. 

What needs improvement?

I would like to see a short-term option for a short-term plan. The last few versions contain plans with very long output which have since been altered. When one receives a plan involving many changes, it will not be applied. Even should nothing need apply, there is a very long history which is not really useful, as many find its application confusing. 

For how long have I used the solution?

I have been using HashiCorp Terraform for around five years. 

What do I think about the stability of the solution?

The solution is pretty stable. I have no issues in this regard. 

What do I think about the scalability of the solution?

The solution is pretty scalable. 

How are customer service and support?

As the solution is open source, support is community based. 

How was the initial setup?

There is a need for configuration management, for setting up the infrastructure from scratch. 

The set up process is pretty straightforward. 

The duration of the deployment varies with the project. Our company is involved in many projects. 

What about the implementation team?

There are between one and five people who are responsible for maintaining the solution. 

Which other solutions did I evaluate?

I went with HashiCorp Terraform over that of CloudFormation, as the latter is complicated and hard to understand. HashiCorp Terraform was easier to learn across platforms, regions and multi-clouds. 

What other advice do I have?

I use the latest version. It is important to try to not repeat oneself and to utilize the module provided by HashiCorp and others for training purposes. 

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Amazon Web Services (AWS)
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Flag as inappropriate
KulbhushanMayer
Cofounder & Senior Consultant at Thinknyx Technologies LLP
Real User
Top 5Leaderboard
Supports many different platforms and has helped us to standardize our infrastructure setup

Pros and Cons

  • "The most valuable feature is the support for different platforms like cloud, datacenters, VCS, databases, various storage types, and Kubernetes."
  • "They have added a feature that helps us to import existing resources to our workspace, but if they can help us to create the code for the import, as well, then it would be a great addition."

What is our primary use case?

We are using Terraform to manage our multi-cloud requirement for different demos and test environments. It helps us set up the entire environment in a few mins with the exact configuration in AWSAzure, or GCP, along with other setups like a database, Kubernetes, etc.

How has it helped my organization?

Terraform helped us to standardized our infrastructure setup and to reduce errors occurring due to manual execution. It has made our environment more efficient.

What is most valuable?

The most valuable feature is the support for different platforms like cloud, datacenters, VCS, databases, various storage types, and Kubernetes.

What needs improvement?

They have added a feature that helps us to import existing resources to our workspace, but if they can help us to create the code for the import, as well, then it would be a great addition.

For how long have I used the solution?

We have been using HashiCorp Terraform for more than two years.

What do I think about the stability of the solution?

We should always check the changes or impact of new release which is common for all tools so for me its good in terms of stability.

What do I think about the scalability of the solution?

The scalability is good.

Which solution did I use previously and why did I switch?

We have used platform CLIs and other customized scripting solutions that need lots of maintenance and care.

How was the initial setup?

The initial setup is quite easy and straightforward.

What's my experience with pricing, setup cost, and licensing?

The setup for Terraform is quite easy and currently, we are using their community version along with Jenkins.

Which other solutions did I evaluate?

We have evaluated other options like CloudFormation and Cloud Deployment Manager, but those were platform-dependent tools, so not suited for our multi-cloud model.

Which deployment model are you using for this solution?

Hybrid Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.