Terraform is the infrastructure as code solution used across our business.
Cloud & DevOps Architect at Accenture
Infrastructure as code tool that makes it easier to manage a multi-cloud environment
Pros and Cons
- "This solution makes it easier to manage a multi-cloud environment and have your entire infrastructure as code."
- "On occasion, I have noticed a number of bugs in this solution that have needed to be fixed."
What is our primary use case?
What is most valuable?
The way the modules are divided for infrastructure provisioning and are set up for reliability to offer plug and play functionality has been really useful. This solution makes it easier to manage a multi-cloud environment and have your entire infrastructure as code.
What needs improvement?
On occasion, I have noticed a number of bugs in this solution that have needed to be fixed.
In a future release, it would be great to have an easier way of troubleshooting. We'd like to have a dashboard where company management can get a full view of provisioning.
For how long have I used the solution?
I have used this solution for three years.
Buyer's Guide
HashiCorp Terraform
December 2024
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
What do I think about the scalability of the solution?
This is a scalable solution.
How are customer service and support?
It would be great to have faster resolution of instances where there are bugs in the system.
How would you rate customer service and support?
Neutral
How was the initial setup?
The initial setup is straightforward.
What other advice do I have?
I would rate this solution an eight out of ten.
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
DevOps Engineer at BioCatch
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.
Buyer's Guide
HashiCorp Terraform
December 2024
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
Co-Owner at OutMost
Cost-effective product with an efficient infrastructure code feature
Pros and Cons
- "The platform's most valuable feature is the infrastructure as code aspect, which allows us to code the infrastructure part, making deployments more efficient."
- "One area for improvement could be the inclusion of more dedicated Terraform providers developed by the companies themselves, rather than relying on third-party developers."
What is our primary use case?
We use the product for cloud deployments, specifically provisioning services in the cloud.
What is most valuable?
The platform's most valuable feature is the infrastructure as code aspect, which allows us to code the infrastructure part, making deployments more efficient.
What needs improvement?
One area for improvement could be the inclusion of more dedicated Terraform providers developed by the companies themselves, rather than relying on third-party developers.
Additional features could include more intuitive environment-specific configurations and possibly enhanced support for development and production environments.
For how long have I used the solution?
I have been using HashiCorp Terraform for approximately six months.
What do I think about the stability of the solution?
I rate the platform's stability a ten out of ten.
What do I think about the scalability of the solution?
I rate the platform scalability a ten out of ten.
How was the initial setup?
The initial setup was straightforward. I rate the process a ten out of ten.
What's my experience with pricing, setup cost, and licensing?
The product can be cost-effective, especially if you use the CLI and do not require the cloud solutions provided by HashiCorp. It can be used for free, which is beneficial for small companies.
What other advice do I have?
I rate HashiCorp Terraform a ten out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Jul 29, 2024
Flag as inappropriateAWS Engineer at Unemployed
Infrastructure management is streamlined with customizable modules but backend stability needs improvement
Pros and Cons
- "HashiCorp Terraform allows for controlling storage and infrastructure status."
- "The initial setup of HashiCorp Terraform was easy."
- "There are potential improvements in the backend stability of HashiCorp Terraform."
- "There are potential improvements in the backend stability of HashiCorp Terraform. There are instances where unexpected terminations and destruction of running projects occur before releasing a lock."
What is our primary use case?
I used HashiCorp Terraform primarily as infrastructure as code. It allows you to create, modify, and delete infrastructure resources. This includes tasks such as manually creating instances in the console or automating infrastructure deployment.
What is most valuable?
Variables are used to parameterize and customize configuration. We can use data to manage infrastructure.
Additionally, HashiCorp Terraform allows for controlling storage and infrastructure status. Terraform modules make it easier to manage complex infrastructure and code within an organization.
What needs improvement?
There are potential improvements in the backend stability of HashiCorp Terraform. There are instances where unexpected terminations and destruction of running projects occur before releasing a lock. A stable backend would be beneficial.
Additionally, there might be room for improvement in the user interface to make it more intuitive. The learning curve could be eased with better learning materials.
For how long have I used the solution?
I have used HashiCorp Terraform for only eight months.
What do I think about the stability of the solution?
Stability has been a concern, particularly around backside stability with unexpected terminations and the necessity for a more stable backend.
How are customer service and support?
My company employs seniors with extensive experience for complicated issues, but I have not escalated any questions or queries about HashiCorp Terraform directly. Therefore, I cannot comment directly on the customer service.
How would you rate customer service and support?
Neutral
How was the initial setup?
The initial setup of HashiCorp Terraform was easy. I was involved in setting it up in my personal usage, which included installation commands on Linux, updating the system, and ensuring the correct version of Terraform was installed.
What about the implementation team?
I was involved in the setup process of Terraform in my personal usage. In my organization, we follow standard operating procedures. Multiple users in the project used Terraform simultaneously.
What was our ROI?
In my organization, the integration of HashiCorp Terraform is recently being adopted, so I haven't observed any return on investment yet.
What other advice do I have?
I would recommend HashiCorp Terraform to others due to its utility in creating multiple instances quickly. In cloud environments, it saves time in instance creation compared to manual methods.
I rate Terraform a six out of ten.
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Dec 5, 2024
Flag as inappropriatePartner & principal technologist at SwanSpeed Consulting
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.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Google
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Network Team Lead at Atlas Security
High availability, effective server provisioning tool for both on-premise and cloud environment, and quick setup
Pros and Cons
- "HashiCorp Terraform is highly stable."
- "I initially found the initial HashiCorp Terraform difficult to comprehend. It's complex and not straightforward, requiring proper training to grasp it. Even someone with a background in networking or cybersecurity would need guidance from someone knowledgeable."
What is our primary use case?
We use HashiCorp Terraform orchestration tool for infra provisioning (mostly servers), both in the cloud and on-premise environments. This allows for VM provisioning, networking, and storage management, especially in a cloud environment where we have many servers that can't be provisioned one by one.
What is most valuable?
The most valuable feature is the ease of infrastructure provisioning in a very large environment in the shortest time.
What needs improvement?
I initially found the initial HashiCorp Terraform difficult to comprehend. It's not straightforward especially in complex cloud environments, requiring proper training to grasp it. Even someone with a background in networking or cybersecurity would need guidance from someone knowledgeable.
Inclusion of revert function or rollback action for any invalid or wrong changes to resources.
For how long have I used the solution?
I have been using HashiCorp Terraform for approximately one year.
What do I think about the stability of the solution?
HashiCorp Terraform is highly stable.
How are customer service and support?
I did not use the technical support from the vendor.
How would you rate customer service and support?
Neutral
How was the initial setup?
The initial setup of HashiCorp Terraform is easy to do. The implementation took a few hours to complete for a small cloud environment.
What's my experience with pricing, setup cost, and licensing?
Terraform Enterprise plan is quite expensive!
What other advice do I have?
HashiCorp Terraform is the best platform for creating and managing resources on cloud platforms and other services through their application programming interfaces (APIs) in a cloud environment.
I rate HashiCorp Terraform an eight 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.
Software Engineering Manager at a tech services company with 10,001+ employees
Easy to use solution that has made infrastructure provision fast and secure for our business
Pros and Cons
- "This solution is a fast and secure way to provision infrastructure."
- "This solution could be improved by adding features such as CDM to accelerate the access of data by the users."
What is our primary use case?
We use this solution for infrastructure and support for a mobile application for a bank.
What needs improvement?
This solution could be improved by adding features such as CDM to accelerate the access of data by the users.
It would be useful to be able to test functionality when building infrastructure. Currently we use other tools to do this.
For how long have I used the solution?
We have used this solution for one year.
What do I think about the stability of the solution?
This is a stable solution.
What do I think about the scalability of the solution?
This is a scalable solution.
How was the initial setup?
The initial setup is straightforward. It took a few weeks to implement with the help of three engineers.
What other advice do I have?
This solution is a fast and secure way to provision infrastructure.
I would rate it a ten out of ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
Senior Information Technology System Analyst at YAUSH Technologies
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.
Buyer's Guide
Download our free HashiCorp Terraform Report and get advice and tips from experienced pros
sharing their opinions.
Updated: December 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?