We use Terraform for many different use cases. The primary one is ensuring that the security policy is automatically applied to all of the resources within a cloud environment. Another one would be creating and dismantling all sorts of test labs, as well as creating a development environment. We found a way to automatically create a development environment only for the time we need. We develop the infrastructure and cloud-related tasks.
Application Security Engineer at Waves
Works like a coding language
Pros and Cons
- "The most valuable feature of Terraform is the ability to use it as a coding language because it works in a way that's similar to other coding languages."
- "With cloud providers always adding new resource types, there are certain resources that Terraform does not support. It would be great if it could support those resources as well."
What is our primary use case?
What is most valuable?
The most valuable feature of Terraform is the ability to use it as a coding language because it works in a way that's similar to other coding languages. They are able to create classes, loops, etc. If you're familiar with coding, you will not have issues with learning to use Terraform.
What needs improvement?
One thing where Terraform could use improvement would be the types of resources it supports. With cloud providers always adding new resource types, there are certain resources that Terraform does not support. It would be great if it could support those resources as well.
For how long have I used the solution?
I have been using Terraform for three years.
Buyer's Guide
HashiCorp Terraform
November 2024
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
816,406 professionals have used our research since 2012.
What do I think about the stability of the solution?
I give it a ten out of ten for stability.
What do I think about the scalability of the solution?
Terraform is very scalable. A ten out of ten. About four or five DevOps engineers use Terraform at my company.
We plan to increase its usage. I come from the security world and Terraform is very useful in ensuring that off of the resources within a cloud environment are deployed in a unified way. If you build the Terraform script once and you ask to create a different type of resource, instead of going into the Azure or AWS console and creating the resource from scratch, they use your Terraform script and ensure that all of the secured measures you've deemed necessary are built into that deployment.
How was the initial setup?
I would rate the easiness of the setup a nine out of ten. It takes a maximum of 15 minutes to deploy it, but you need to write the script you want to run first, which takes more time since writing it depends on what you want to do.
I deployed it myself, but Terraform has some great, open people who contributed to the project. Specifically, the cloud part of the project had a lot of valuable contributions and made the deployment easy.
What's my experience with pricing, setup cost, and licensing?
I am currently using the free version of Terraform.
What other advice do I have?
My advice to new users would be to understand that Terraform works like a coding language, so you need to understand how it loops over objects in the same way that coding language loops over. objects You should turn Terraform terms into classic coding terms.
Overall, I rate it a ten out of ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
IT Manager at a government with 1,001-5,000 employees
The solution provides a reliable deployment approach that puts it ahead of its competition
Pros and Cons
- "The first thing I like about the solution is that it keeps a version of your infrastructure."
- "It would be nice if they could put our infrastructure on graphics or at least provide a map of our infrastructure."
What is our primary use case?
The solution is a success code. We use open-source software.
What is most valuable?
The first thing I like about the solution is that it keeps a version of your infrastructure. And you always have, for example, the bill of materials with what it produces in terms of YAML files that you can manipulate and understand exactly what infrastructure you deploy, what is active, and what is not. We use it with the Amazon database, where the solution does not deploy the second time if somebody triggers a build or deployment. Apart from those features, the fact that you have your infrastructure on code is tremendous.
What needs improvement?
It would be nice if they could put our infrastructure on graphics or at least provide a map of our infrastructure, especially with links, to see what it looks like graphically. That way, we could understand the relationship between all the machines. That helps with redundancy purposes, where, for example, if we need to create redundancies to create high availability for some services, we could look at the map directly.
For how long have I used the solution?
I've worked with the solution for three or four years.
What do I think about the stability of the solution?
The solution works very well every time. It calls APIs from Amazon, so it's always up to date. I rate the solution's stability a nine out of ten because we never had a problem.
What do I think about the scalability of the solution?
I rate the solution's scalability an eight out of ten. It's pretty scalable on the Amazon cloud. We have around three or four users on the solution.
How are customer service and support?
HashiCorp's technical support is very good. They know what they're talking about.
How was the initial setup?
The initial setup is really simple. We just created YAML files with what we needed, and somebody deployed machines and load balancers. It's just a binary we needed to place anywhere.
We deployed the solution on Amazon's cloud. For the AKS cluster, we just launched Terraform, which region and which kinds of machines we wanted to install.
Which other solutions did I evaluate?
Terraform's philosophy is different, but Ansible is a similar product. It's not the same, though you can also deploy virtual machines, for example. However, I would not use Ansible because it does not have the same features as Terraform when it comes to history. Terraform pulls the API first to understand what you have from your schema and compare it with your existing infrastructure.
Ansible would not do that. It would just execute the code and deploy without knowing what it does.
What other advice do I have?
We don't use Terraform in a very fancy way. The solution did not have a difficult use case, nor did we go into a specific feature of Terraform that we tested very thoroughly. We used it in a basic way, simply trying not to run the same script twice or by two people simultaneously.
I rate HashiCorp Terraform a nine out of ten and recommend it to everyone.
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.
Buyer's Guide
HashiCorp Terraform
November 2024
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: November 2024.
816,406 professionals have used our research since 2012.
Senior Site Reliability Engineer
A stable solution for that helps to create a well-designed infrastructure
Pros and Cons
- "It is one of the best things because now we have everything automated with Terraform. We didn't have an outage for the last three years because everything is written in a code, and every change we have made is recorded. If we didn't have a tool like Terraform, it would be extremely complex to achieve this level of maturity with infrastructure."
- "The solution is complex when we use it for a loop. This is a problem, not because of the language itself, but because of how the infrastructure generally works. It's different from Python."
What is our primary use case?
We use the solution for three things. Firstly, to automate the infrastructure, like enabling Logpush to Datadog. Secondly, for Cloudflare AWS and Insight AWS. Thirdly, we use Terraform to create infrastructure.
How has it helped my organization?
It is one of the best things because now we have everything automated with Terraform. We didn't have an outage for the last three years because everything is written in a code, and every change we have made is recorded. If we didn't have a tool like Terraform, it would be extremely complex to achieve this level of maturity with infrastructure.
What is most valuable?
The state file is the most valuable feature because it helps one know what exactly one has.
What needs improvement?
The solution is complex when we use it for a loop. This is a problem, not because of the language itself, but because of how the infrastructure generally works. It's different from Python.
For how long have I used the solution?
I have been using the solution for three and a half years.
What do I think about the stability of the solution?
It is a stable solution. I rate it nine out of ten.
What do I think about the scalability of the solution?
The solution is not very scalable. I rate it six out of ten.
How was the initial setup?
The initial setup is complex.
What was our ROI?
We have seen ROI with the tool's use.
What other advice do I have?
I plan to use the solution more in the future. I recommend people to use it as it is the best tool in the market at the moment to create infrastructure anywhere.
I rate it ten out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Tech Lead DevSecOps at Letsbank
An very scalable and detailed solution that needs to improve its customer support
Pros and Cons
- "It is the customization of Terraform's modules that I find most valuable."
- "Terraform could create more examples in the documentation."
What is our primary use case?
Terraform is our main infrastructure as code at the bank. Our entire deployment site and the AWS solution are based on Terraform. We use EBridge and the Dochub solution on the Bitbucket pipeline. Terraform runs on a container in the Bitbucket pipeline, but to create my entire cloud solution, I use EBridge.
How has it helped my organization?
Terraform centralizes all our applications and it’s the best way to do it. When you work with the container and the EC2 clusters, you need to create each service manually. Terraform allows you to create a lot of them at once and check if they are being created correctly. It is a huge timesaver.
What is most valuable?
I find almost all the features valuable. It is the customization of Terraform's modules that I find most valuable.
What needs improvement?
Terraform could create more examples in the documentation. It is an enterprise/free solution, and you have to do a lot to customize the tools. A huge example I faced before that drove me nuts was when I created an entire data lake using Terraform. A DMS solution using Oracle didn't read some options in AWS on the Terraform module. I opened a ticket to support, asking, "Could you improve this module, only adding these features as variables?" After four months, my ticket was closed by a bot because support was not looking for it. I don't know if there were many issues or tickets, but support should listen to the Terraform community better and make adjustments to their tools.
For how long have I used the solution?
I've been using HashiCorp Terraform since 2017.
What do I think about the stability of the solution?
Terraform is stable. I don't use Terraform Cloud, though they offered it to me previously. Using other clouds, we don't face many issues or instability in our ecosystem. The only issue or instability I have faced was because the AWS cloud was unstable, so Terraform got timed out and could not finish the task, trying again and again and being stalled for two hours. That is the only issue I remember because we use the EBridge environment. We try to compensate for Terraform's instability and make it viable using other platforms. Using Terraform's cloud solution brings more stability, but for what we are using right now, Terraform only breaks if we make a mistake in the code.
What do I think about the scalability of the solution?
Terraform is hugely scalable. If I have everything in place, you can create an entire environment, like a data lake, in one simple deployment. But it is complex to scale. You will face some limitations if you try to work with multiple servers or accounts. Terraform works similarly to a FIFO context, but you must wait a long time to create the entire deployment before going to the next account. If deployment on one account fails, you cannot proceed to the next one because Terraform's main focus is on the security of the infrastructure. My entire squad of four uses Terraform because we centralized the DevOps for Terraform. We are planning to expand this tool to our entire development team. We will have at least 15 to 30 developers using the tool in the future.
How are customer service and support?
Their customer support is the worst. I opened a ticket, and I never got an answer, and the community does not listen to the most common issues. But I understand why I was left out because I asked a hugely specific question about a little bug in the code. My experience was not the best, but I no longer need to ask them because I make my own workarounds. Besides, we don't face issues that require us to talk to support.
The customer should receive an answer regardless of the question. Even answers like, "This isn't a feature," "We can't do this right now," or "This isn't the roadmap."
How would you rate customer service and support?
Neutral
Which solution did I use previously and why did I switch?
I compare Terraform with Ansible. I work with multiple servers in Ansible in a FIFO method. You have a list of servers you apply one after the other. But you can work with those servers in parallel, even if one server fails to deploy. In Terraform, you must finish deployment on each account before going to the next one.
When I joined my current company, they were already using Terraform, and we had to create the environment on AWS manually. We are not using any IaC tools.
How was the initial setup?
The initial setup was complex. You need to understand what you want to do exactly. You are a child in a playground with many toys to play with, and you can create anything you want. But if you pick up the wrong "toy," you can hurt yourself and the environment. Using the wrong module can bring a huge cost to your infrastructure, and it won't perform as well as you initially expected. Initial setup is more difficult to start if you have some infrastructure completed.
If you are setting up from the start with baby steps, it is a little hard to understand the documentation, though it makes the setup look much simpler. You need some knowledge to understand how Terraform can apply to your environment. After that, it's easier. And just like riding a bike, you never forget.
The time taken to deploy the solution depends on what you are creating. For example, if I create a DMS instance for my data lake, it takes 15 minutes to deploy. If I'm creating a different data lake on the Athena database, it takes exactly 23 seconds to create. A DMS takes much more time, but not more than half an hour.
While deploying Terraform, we checked the Terraform statement on AWS. Each account has its own statement. We checked the difference between statements, made a Terraform image, made a plan, and checked the plan to see if it was correct and applied.
What about the implementation team?
I did the deployment myself, looking at the documentation.
What's my experience with pricing, setup cost, and licensing?
We use the free platform using Dochub. Terraform is a little expensive. In a basic scenario, the price is too high to use such a complex tool in the long term. As a small company starting to use Terraform, the price is too high, so I recommend the free solution. If you are a huge company with a huge environment and infrastructure, the price will seem cheaper because you can control your entire infrastructure using Terraform. The solution then pays for itself. Choosing the paid version depends on the size of the company and your team's expertise.
Terraform licenses are per account.
What other advice do I have?
We currently use a statement for replication, trying to embed Terraform into our applications, but that's a new feature. We are applying some other features, for example, to check for vulnerabilities on your first code or to scan if you have hard-coded passwords, but we have not found anyone to help with these use cases. One of my co-workers is certified on Terraform, and they bring similar solutions also being used on Terraform for scanning. For myself, I want them to make that code work on as many accounts as possible. The same code must work on our deployment, homologation/staging, and production accounts. These are the three environments the code needs to work in. We tried making this a few months ago.
When deploying the solution, I did it by myself, looking at their documentation. Their documentation is good and bad. Their documentation is good because it gives a huge amount of information for several different possibilities, but it's bad because the documentation does not have a lot of real-life examples. Terraform prefers documentation as much as hard-coded information. For example, you might be using a certain string to do something, but in reality, you can do that in many other ways, and the documentation won't show all of those. You need to do trial and error or take a course with the Hashicorp organization to understand the different ways you can do something or use the platform.
I rate Terraform a seven out of ten because of its complexity.
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.
Azure DevOps Lead at DXC Technology
It speeds up the process of replicating infrastructure between environments, but it could support more user-friendly languages
Pros and Cons
- "We frequently need to create and replicate infrastructure from various environments like dev and QA. The QA resources need to be identical to those in the dev environment. With a Terraform script, we can replicate the same 50 in the dev environment to the testing environment. This is tedious to do manually, and Terraform speeds up the process."
- "Terraform should also support YAML language, which is more user-friendly than HCL. They should also add a GUI, so you don't need to memorize all the commands. A GUI would enable us to do everything with a click of a button."
What is our primary use case?
We use Terraform to create infrastructure. We get the name of the resource provider, and the Terraform script is returned in HashiCorp Configuration Language (HCL).
We can find readily available code from the HashiCorp community to create a virtual machine or Kubernetes service cluster. We take that code, provide the resource provider name, and run the script using Terraform commands to create the infrastructure
We currently use Terraform in our Azure pipelines in the cloud. Our team has 10 developers, and we will increase our usage as the team grows.
How has it helped my organization?
We frequently need to create and replicate infrastructure from various environments like dev and QA. The QA resources need to be identical to those in the dev environment. With a Terraform script, we can replicate the same 50 in the dev environment to the testing environment. This is tedious to do manually, and Terraform speeds up the process.
What is most valuable?
Infrastructure replication is Terraform's most valuable feature.
What needs improvement?
Terraform should also support YAML language, which is more user-friendly than HCL. They should also add a GUI, so you don't need to memorize all the commands. A GUI would enable us to do everything with a click of a button.
For how long have I used the solution?
I have been using Terraform for the last three years.
What do I think about the stability of the solution?
I rate Terraform seven out of 10 for stability.
What do I think about the scalability of the solution?
I rate Terraform eight out of 10 for scalability.`
How are customer service and support?
I rate HashiCorp seven out of 10 for technical support.
How would you rate customer service and support?
Neutral
How was the initial setup?
I rate Terraform eight out of 10 for ease of setup.
What's my experience with pricing, setup cost, and licensing?
Terraform is an open-source solution.
What other advice do I have?
I rate HashiCorp Terraform seven out of 10. It's interesting to see how the infrastructure is created rather than creating it manually.
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.
Head of Growth at a security firm with 51-200 employees
An affordable and scalable solution that provides a self-service infrastructure
Pros and Cons
- "The solution helps us save a lot of costs."
- "The product must improve DevOps features."
What is our primary use case?
I am using the solution on AWS to scale our operations using Infrastructure as Code.
How has it helped my organization?
Terraform is the most useful product for creating Infrastructure as Code. It has a lot of consistency, and we can control it in code. It provides a self-service infrastructure.
What is most valuable?
The solution helps us save a lot of costs. The product’s integrations help us a lot.
What needs improvement?
The product must improve DevOps features.
For how long have I used the solution?
I have been using the solution for about two years.
What do I think about the stability of the solution?
I never had any stability issues. I rate the stability a ten out of ten.
What do I think about the scalability of the solution?
It is easy to scale the product. I rate the scalability a ten out of ten.
Which solution did I use previously and why did I switch?
We use other solutions for security in DevOps.
How was the initial setup?
The solution is deployed on the cloud. It is easy to deploy the solution. The documentation helps us a lot.
What was our ROI?
The tool has a lot of value. It pays for itself. We save a lot of time using the automation.
What's my experience with pricing, setup cost, and licensing?
The solution is fairly priced.
What other advice do I have?
We're still learning how to use DevOps with our SOC. We need to improve our use cases. The tool is helpful for us to keep the same standards throughout the cloud. Currently, I'm only using AWS. I'm planning to use Azure in a few months. I would advise people to start using the solution. It is a cheap tool and saves us a lot of work. Overall, I rate the product a ten out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Pipeline Specialist at MSC Mediterranean Shipping Company
No cost, easy to deploy, and stable
Pros and Cons
- "The most valuable feature is the solution does not need installation."
- "The solution is missing a lot of properties for specific resources."
What is our primary use case?
We use the solution for provisioning.
What is most valuable?
The most valuable feature is the solution does not need installation.
What needs improvement?
The solution is missing a lot of properties for specific resources.
For how long have I used the solution?
I have been using the solution for almost three years.
What do I think about the stability of the solution?
The solution is very stable.
How was the initial setup?
We just need to download the installer from HashiCorp. We don't need to install the solution; we just need to place the file on our system, point it to the enrollment variables, and then we can run Terraform. There are three or four commands that must be executed before we can start using the solution.
What's my experience with pricing, setup cost, and licensing?
The solution is open-source.
What other advice do I have?
I give the solution eight out of ten.
The solution is the most popular for provision in the cloud, not only in Azure.
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.
Sr. MTS Software Engineer at a financial services firm with 10,001+ employees
A rapid and promising tool that helps us with our operations
Pros and Cons
- "It is a stable solution."
- "Terraform doesn't support Artifactory as a backend."
How has it helped my organization?
HashiCorp Terraform does a good job and helps us set up all operations.
What is most valuable?
There are no specific valuable features as the whole product is good.
What needs improvement?
Terraform doesn't support Artifactory as a backend.
For how long have I used the solution?
We have used this solution for about four years and are using the latest version.
What do I think about the stability of the solution?
It is a stable solution.
What do I think about the scalability of the solution?
I am unsure about the scalability.
How are customer service and support?
We have never used their technical support.
Which solution did I use previously and why did I switch?
We have not used any other solutions.
What other advice do I have?
I rate the solution a ten out of ten. HashiCorp Terraform is a rapid and promising tool.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Download our free HashiCorp Terraform Report and get advice and tips from experienced pros
sharing their opinions.
Updated: November 2024
Product Categories
Configuration ManagementPopular Comparisons
Microsoft Intune
Microsoft Configuration Manager
Red Hat Ansible Automation Platform
VMware Aria Automation
Red Hat Satellite
AWS Systems Manager
SolarWinds Network Configuration Manager
BMC TrueSight Server Automation
SUSE Manager
OpenText ZENworks Configuration Management
Spring Cloud
ManageEngine OS Deployer
CFEngine Enterprise
Parallels Mac Management for Microsoft SCCM
Buyer's Guide
Download our free HashiCorp Terraform Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- Which Infrastructure as Code (IaC) Configuration Management platform would you choose - Red Hat Ansible Automation Platform or HashiCorp Terraform?
- When evaluating Configuration Management, what aspect do you think is the most important to look for?
- Infrastructure-as-code vs infrastructure configuration
- What is automated configuration management?
- What are the advantages of using Infrastructure as Code (IaC) tools?
- Why is Configuration Management important for companies?