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.
Partner & 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?
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.
Buyer's Guide
HashiCorp Terraform
January 2025
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: January 2025.
831,265 professionals have used our research since 2012.
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.
Cloud Automation Engineer at Shell
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.
Buyer's Guide
HashiCorp Terraform
January 2025
Learn what your peers think about HashiCorp Terraform. Get advice and tips from experienced pros sharing their opinions. Updated: January 2025.
831,265 professionals have used our research since 2012.
Senior DevOps Engineer at a tech vendor with 10,001+ employees
Has a very simple API and can be used across multiple platforms
Pros and Cons
- "Can be used across multiple cloud providers and multiple platforms."
- "Lacks flexibility in common programming languages."
What is our primary use case?
I use this solution for infrastructure for my projects that are deployed in Google Cloud. I work in EPA systems.
How has it helped my organization?
The solution allows you to have infrastructure-like code which is basically what Terraform has been about. Terraform makes it easier to figure out the kind of problem that has occurred, why, and who was responsible.
What is most valuable?
Although using an older version, I've found the biggest advantage of Terraform is that it can be used across multiple cloud providers and multiple platforms and it has a simple API.
What needs improvement?
The biggest disadvantage of Terraform is its lack of flexibility in common programming languages. It also lacks flexibility in creating some functions like complex expressions to declare random variables, and features that require any programming language. Those issues are because HashiCorp is trying to keep the API as simple as possible. I would like to see some idea of functional programming in Terraform. It would be great if you could process your data and push it back to the model. It would mean a huge improvement in flexibility.
For how long have I used the solution?
I've been using this solution for three years.
What do I think about the stability of the solution?
The solution is stable and we haven't had any problems in that regard.
What do I think about the scalability of the solution?
The solution is scalable and we are constantly working on increasing of size of our infrastructure.
How was the initial setup?
The initial setup is a little complex but not very difficult. Implementation time depends on the size of the deployment. Our deployment was carried out in-house. We need at least one person per 50 models of Terraform for implementation.
What was our ROI?
We've had a return on our investment because it's decreased the overall ops overhead via the front team.
What's my experience with pricing, setup cost, and licensing?
I am not using a payable Terraform although I'm quite familiar with the price and don't consider it to be expensive. Licensing costs are mid-range.
What other advice do I have?
I would suggest reading documentation and experimenting with the solution.
I rate the solution 10 out of 10.
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?
Google
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Senior DevOps/Build Engineer at Dataart
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.
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.
Senior FullStack Developer/Engineer/Architect at Capitbrok
Has good scalability and is easy to integrate
Pros and Cons
- "It is a stable solution."
- "They should include tutorials for understanding the use cases."
What is most valuable?
It is easy to architect cloud infrastructure using the solution. Also, its simple interface helps in developing specific scripts.
What needs improvement?
They should provide more tutorials to understand the solution's use cases. Also, they include more specific features into it.
For how long have I used the solution?
I have been using the solution for three years.
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?
It is a scalable solution.
How was the initial setup?
The solution's initial setup process is straightforward. It takes a couple of weeks to complete. Once you define everything, you can start working on it right away. The deployment happens almost immediately.
What other advice do I have?
I recommend the solution to others. I rate it ten out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
DevOps Engineer at IOTANS
Useful automation, advantageous managerial capabilities, and reliable
Pros and Cons
- "The most valuable features of HashiCorp Terraform are automation and management capabilities."
- "HashiCorp Terraform could improve the integration with the VCloud Director. When we manage the VCloud Director we end up wasting our time when creating virtual machines. HashiCorp Terraform knows about these issues and I think there might be a workaround but they should incorporate the fix in an upcoming release."
What is our primary use case?
HashiCorp Terraform is a binary executable file, that you can download to your PC and manage any cloud solution in the world, such as Google Cloud Platform, Amazon AWS, OpenStack, CloudStack, or VMware. When you use DevOps in your company, it's a useful tool for it.
What is most valuable?
The most valuable features of HashiCorp Terraform are automation and management capabilities.
What needs improvement?
HashiCorp Terraform could improve the integration with the VCloud Director. When we manage the VCloud Director we end up wasting our time when creating virtual machines. HashiCorp Terraform knows about these issues and I think there might be a workaround but they should incorporate the fix in an upcoming release.
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 a stable solution. We did not have any problems.
What do I think about the scalability of the solution?
The scalability of HashiCorp Terraform is good.
How are customer service and support?
I have not used the technical support from HashiCorp Terraform.
How was the initial setup?
HashiCorp Terraform tool is pre-installed on our DevOps engineer's laptops, and in our GitLab Servers. We assign it to a selection of virtual machines. We just run it, and then we perform some functions, such as creating systems or modifying CPUs or RAM.
What about the implementation team?
We did the implementation of HashiCorp Terraform in-house. We have a good team of three programmers and DevOps engineers with experience.
We used one engineer for the implementation of HashiCorp Terraform.
What's my experience with pricing, setup cost, and licensing?
HashiCorp Terraform is a free solution.
What other advice do I have?
I rate HashiCorp Terraform a nine out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Azure DevOps Engineer at a consultancy with 10,001+ employees
Useful to provision cloud resources on Azure, AWS, and GCP platforms
Pros and Cons
- "What I like best is how easy the tool is to use. The HashiCorp Terraform language syntax is simple to learn. The Terraform.io registry feature is very useful - we can refer to our code and use pre-created modules posted there."
- "One area for improvement is real-time syncing with the actual infrastructure. Currently, you have to run CLI commands to sync the state file."
What is our primary use case?
I use the solution to provision cloud resources on Azure, AWS, and GCP platforms.
What is most valuable?
What I like best is how easy the tool is to use. The HashiCorp Terraform language syntax is simple to learn. The Terraform.io registry feature is very useful - we can refer to our code and use pre-created modules posted there.
What needs improvement?
One area for improvement is real-time syncing with the actual infrastructure. Currently, you have to run CLI commands to sync the state file.
For how long have I used the solution?
I have been using the product for two years.
What do I think about the stability of the solution?
I rate the tool an eight out of ten. Sometimes, it can break down when handling too many resource creations at once due to dependency issues.
How are customer service and support?
I've contacted the support team a few times when getting errors.
How would you rate customer service and support?
Positive
How was the initial setup?
The initial setup and deployment are also easy, especially when using the tool's code to deploy to cloud platforms.
What was our ROI?
The tool is worth the money.
What other advice do I have?
While it's easy to learn, you need experience with the HashiCorp Terraform language syntax to use it. I rate the overall solution an eight out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Aug 30, 2024
Flag as inappropriateBuyer's Guide
Download our free HashiCorp Terraform Report and get advice and tips from experienced pros
sharing their opinions.
Updated: January 2025
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?