My company uses HashiCorp Terraform for cloud infrastructure provisioning. HashiCorp Terraform is the only IaC tool we use in our company.
Site Reliability and DevOps Engineer at a tech services company with 51-200 employees
A reasonably stable tool that offers high compatibility with multiple cloud providers
Pros and Cons
- "The most valuable features of the solution are its simplicity of SQL language, its compatibility with multiple cloud providers, and its modules like the open source modules available, especially considering the fact that I work mainly on AWS."
- "From a user's perspective, it would be great if a UI tool is made available in the open source version as well, but I don't think it may be introduced because of the high costs for it announced by HashiCorp in its licensed version...HashiCorp Terraform can improve backward compatibility."
What is our primary use case?
What is most valuable?
The most valuable features of the solution are its simplicity of HCL language, its compatibility with multiple cloud providers, and its modules like the open source modules available, especially considering the fact that I work mainly on AWS. I believe that HashiCorp Terraform is one of the best products available in the market for my company's use cases. HashiCorp Terraform is also a feasible solution in terms of its availability of cloud resources.
What needs improvement?
I know a UI tool is available in the licensed version of HashiCorp Terraform. From a user's perspective, it would be great if a UI tool is made available in the open source version as well, but I don't think it may be introduced because of the high costs for it announced by HashiCorp in its licensed version.
HashiCorp Terraform can improve backward compatibility. From users' perspective, migration from one version to another is okay. The migration from an older version to a newer version is a big challenge in HashiCorp Terraform. We tried to fix the migration issues multiple times at our end and saw that some will not be compatible sometimes while, at times, certain aspects will be compatible with the new version.
For how long have I used the solution?
I have been using HashiCorp Terraform for four years. I use HashiCorp Terraform v0.12 or v0.13. I use the open-source version of the tool for my company's internal usage.
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?
Stability-wise, I rate the solution a nine out of ten.
What do I think about the scalability of the solution?
Scalability-wise, I rate the solution a nine out of ten.
My organization has around 30 to 40 users of the solution.
How was the initial setup?
The simplicity or complexity of the initial setup depends on the number of accounts involved in the setup phase on the cloud, along with the resources to be managed. Based on my experience, one won't find HashiCorp Terraform's setup difficult if the configuration and management are in place.
The solution is deployed on the public cloud. I know people who use the solution on private and hybrid clouds.
What other advice do I have?
For those users with their infrastructure on the cloud, I would say that Terraform is a tool they can use immediately, even though other tools like Ansible are in the market. At some point, one may feel that Ansible lacks efficiency in a cloud infrastructure, which is a difficulty one may face when using Terraform in a bigger infrastructure. I would say that the combination of Ansible and Terraform is the best.
When following complex methods, Ansible is the best option. If you do too much configuration on the standalone file, then if not today, then tomorrow you might be stranded in a situation where you might not be able to edit or modify the configuration, especially when some improvements related to certain features have to be included in the product or your product's existing portal. It will be very tough to deal with, especially when it will be a single file with thousands of clients, making it a tough job to search. So you need to make sure that code reusability is properly using in your terraform code base.
I rate HashiCorp Terraform a nine 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.
Manager- Automation Engineering at a computer software company with 11-50 employees
An easy-to-deploy solution that can be used for Infrastructure as Code (IaC)
Pros and Cons
- "The most valuable feature of HashiCorp Terraform is the custom modules."
- "HashiCorp Terraform state management could be improved to be used efficiently with multi-users."
What is our primary use case?
We use HashiCorp Terraform for Infrastructure as Code (IaC).
What is most valuable?
The most valuable feature of HashiCorp Terraform is the custom modules. The custom modules are built for each piece, like network and security, based on how the customers are. Then, we can tie them together, centralize them easily, and build them.
What needs improvement?
HashiCorp Terraform state management could be improved to be used efficiently with multi-users. Even though there are logs, there are always issues I've seen with people manipulating the TerraForm state. We cannot work efficiently with the solution if the state is incorrect. Due to certain reasons, if I have to change some piece of some resource, I cannot change it. I have to destroy the whole thing and then build a new one.
For how long have I used the solution?
I have been using HashiCorp Terraform for three years.
What do I think about the stability of the solution?
HashiCorp Terraform is a stable solution. I rate HashiCorp Terraform an eight or nine out of ten for stability.
What do I think about the scalability of the solution?
Around 20 users are using HashiCorp Terraform in our organization.
I rate HashiCorp Terraform an eight or nine out of ten for scalability.
How was the initial setup?
HashiCorp Terraform's initial setup is simple. Especially with TerraForm Cloud, you don't have to do anything since it's a SaaS platform. Also, TerraForm Enterprise is easy to install.
What about the implementation team?
HashiCorp Terraform's deployment is very easy and doesn't take much time.
What was our ROI?
We have seen a return on investment with HashiCorp Terraform.
What's my experience with pricing, setup cost, and licensing?
HashiCorp Terraform's pricing depends on the way people use it. Not everyone uses the solution the way HashiCorp recommends to use it. HashiCorp Terraform goes by workspaces, and workspaces are more expensive than nodes. The nodes are cheaper.
People implement the solution in different ways. So you can use the solution with less money and make it cheaper, but that's not the recommended way. If you use the solution according to the recommended way by HashiCorp, it is more expensive.
What other advice do I have?
I am using the latest version of HashiCorp Terraform.
I recommend users build the framework and the modules correctly right from the beginning. Then, build the workspace as recommended by HashiCorp. According to HashiCorp's recommendation, one workspace should exist per application or environment. That's how people need to build it.
Then, modularize everything and make custom modules for the organizations. Especially things that stay out of the application, like security, network, and compute, should be in separate modules. Later, they can be brought into the application.
Overall, I rate HashiCorp Terraform an eight out of ten.
Which deployment model are you using for this solution?
Hybrid Cloud
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
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.
CEO at Devopsgroup
An easy code writing solution that requires native provider service and better integration support
Pros and Cons
- "The most valuable feature is the great community support."
- "The integration with this solution needs to be improved."
What is our primary use case?
Our primary use for the solution is to create infrastructure on the cloud.
We are a cloud integrator. We write our codes in Terraform and reuse them for multiple customers by changing the values.
What is most valuable?
The most valuable feature is the great community support.
What needs improvement?
The product can be improved by implementing a native provider service. With Terraform, you need to switch the provider's version and get functionality from only that version.
The competitor tools have native providers. You don't have to wait and request the provider to gain functionality; it's provided directly from the cloud.
The integration with this solution needs to be improved. For example, if you want to deploy something from Terraform to Kubernetes and make changes very often, practically, it isn't easy to implement. If someone deletes something accidentally, the integration won't function well.
For how long have I used the solution?
I have been using this solution for more than five years.
What do I think about the stability of the solution?
I would rate stability a nine out of ten. I don't have any problems with the stability.
What do I think about the scalability of the solution?
I would rate scalability a seven out of ten. It is problematic when multiple people want to work on the same Terraform code.
This solution is best suited for enterprise-level companies, but medium and small businesses can also use it.
How was the initial setup?
The initial setup is straightforward. The deployment time for the solution is about thirty minutes.
We are using all the deployment models for this solution. But I prefer to use the CI/CD pipeline, which involves running the Terraform code as a final solution. I also prefer the CLI platform on my computer for development. When I develop the code, I prefer running it from my computer. After the code development, I prefer to have its own CI/CD pipeline.
What's my experience with pricing, setup cost, and licensing?
I would rate pricing a ten out of ten. You can do everything with the free license of this solution. The paid license is not required to use Terraform.
Which other solutions did I evaluate?
We used Pulumi for a project. We found that Terraform is easier to write code and works faster.
But it would be best if you learned Terraform HCL language. In the competitor solution Pulumi, languages like Go, Python, and other languages can be used. There is no need to learn a new language to use Pulumi.
For me, it's more complicated to write the same infrastructure. If you are a cloud administrator, you should use Terraform. But if you are a developer or want to deploy simple infrastructure with knowledge of the cloud, then you should use Pulumi.
What other advice do I have?
I will rate the solution a five out of ten. This is because multiple other solutions get used with Terraform. For servers, we use Ansible, whereas, for cloud infrastructure, we use Terraform. Developers need Pulumi for implementation. Terraform is facing a lot of competition.
I would recommend Terraform to others. If you have more than one environment, you will definitely need Terraform.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Managing Trustee and CTO at a financial services firm with 1-10 employees
Reliable, useful for automation, and helps provide for multiple hybrid cloud implementations
Pros and Cons
- "It allows for the abstraction of the work away from the developer into automated processes."
- "The user interface could be easier for non-technical people."
What is our primary use case?
It enables us to create our cloud implementations without a technician needing to sign on to the cloud.
What is most valuable?
We are able to do multiple hybrid cloud implementations for clients that need to support Azure and AWS.
It allows for the abstraction of the work away from the developer into automated processes.
The reuse simplification is very good.
It can enforce DevOps.
It is stable.
Technical support has been fine.
What needs improvement?
The workflow and automation could be better.
The user interface could be easier for non-technical people.
There's a learning curve involved with the setup; however, it is low to medium.
For how long have I used the solution?
I've used the solution for a long time. I've used it for 12 years at least.
What do I think about the stability of the solution?
The stability is excellent. There are no bugs or glitches. It doesn't crash or freeze.
What do I think about the scalability of the solution?
It's not a customer-facing solution. We've never had an issue with it. However, it is not a primary concern of ours in terms of the ability to expand.
Most business analysts and sometimes architects use the solution. We have 1700 people in our organization, and we are doing 100 projects at a time. Almost all of the projects require the use of the product. Half of the people are engaged in the solution in one way or another. We have about 750 people using it.
How are customer service and support?
Technical support is very good.
How was the initial setup?
The initial setup is very simple for the most part.
What's my experience with pricing, setup cost, and licensing?
The pricing is expensive. It's more for enterprise implementations. The cost is above average in general.
What other advice do I have?
We're a consulting company.
I'd advise other users to automate to the greatest extent possible to get the best ROI.
I'd rate the solution nine out of ten, even though the workflow is not the strongest on the market.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
CTO at Translucent Computing Inc
Suited for managing complex environments, useful shared collaboration, but has testing issues
Pros and Cons
- "The valuable features of HashiCorp Terraform are the infrastructure can be written, shared, and collaborated on using code, which speeds up deployment. Additionally, bugs and issues can be fixed in the code and redeployed, making it less risky. It is a more efficient method compared to the traditional approach of writing scripts to set up infrastructure."
- "HashiCorp Terraform is an open-source tool that relies on external developers to create plugins to expand its capabilities. However, this approach can be problematic as not all plugins are created by professionals and some may have security vulnerabilities. In the case of GKE, Google has created a solid plugin, but for other services, one must search for plugins on the HashiCorp Terraform registry, which can be hit or miss, as many plugins are created by students or hobbyists, who may not continue to maintain or update them. This model of open-sourced plugins may not be the most reliable or secure way of expanding the tool's capabilities."
What is our primary use case?
HashiCorp Terraform is a system solution that allows for infrastructure to be managed as code. allows for the efficient creation and management of infrastructure by packaging everything together in one package. This includes the networking, security, and encryption for Google Kubernetes Engine (GKE) deployment.
How has it helped my organization?
By using HashiCorp Terraform, the infrastructure is all in one place and can be easily tested and checked for security vulnerabilities before deployment.
What is most valuable?
The valuable features of HashiCorp Terraform are the infrastructure can be written, shared, and collaborated on using code, which speeds up deployment. Additionally, bugs and issues can be fixed in the code and redeployed, making it less risky. It is a more efficient method compared to the traditional approach of writing scripts to set up infrastructure.
The infrastructure is transparent, as it is stored in a source control system, such as Bitbucket, making it easy for all team members to access and review. Furthermore, Terraform enables the creation of a deployment pipeline using tools, such as Atlantis, which automates the process of scanning and deploying the code. This streamlines the deployment process and adds features, such as auditing, risk management, and security scanning to the deployment process. Terraform provides a more organized and secure way of managing infrastructure, compared to the traditional ad-hoc method.
What needs improvement?
HashiCorp Terraform is an open-source tool that relies on external developers to create plugins to expand its capabilities. However, this approach can be problematic as not all plugins are created by professionals and some may have security vulnerabilities. In the case of GKE, Google has created a solid plugin, but for other services, one must search for plugins on the HashiCorp Terraform registry, which can be hit or miss, as many plugins are created by students or hobbyists, who may not continue to maintain or update them. This model of open-sourced plugins may not be the most reliable or secure way of expanding the tool's capabilities.
It is possible that when using a plugin with HashiCorp Terraform, there may be security issues or the plugin may become outdated in the future. HashiCorp Terraform only takes responsibility for the infrastructure and code of the program itself, not the plugin. This is a point of concern as it is the responsibility of the user to police and manage the plugins, which can be a significant overhead. Additionally, the solution requires plugins for modules, so without them, Terraform cannot communicate with certain resources.
To improve this, it would be beneficial if HashiCorp Terraform had a system in place where they certify and test the plugins. This would take the burden off of users and reduce the cost of using the solution. The current system relies heavily on open-source plugins which may not be fully developed, lack features, or may not be secure. It is not uncommon for users to have to fork or manage these plugins themselves, which can be a significant undertaking.
The module system in the solution is not the best, as it forces users to rely on third-party developers who may not be qualified from a security or engineering standpoint. This can create a problem for users as they may not have access to all the features they need, and may have to fork or manage the plugins themselves. HashiCorp Terraform, as the creators of this system, should take more responsibility for the management and security of these third-party plugins.
The use of open-source code, such as that used in this solution, can present issues as it may not always be fully supported or maintained by its creators. This publicly traded, multi-billion dollar company, may not want to take full responsibility for the plugins and modules that are created by third parties. This can be problematic for users, as they may have to police the plugins themselves to ensure they are secure and functional. Furthermore, while some companies such as Google may have the resources to create their own Terraform plugin and take responsibility for it, many other companies and developers do not have the same resources and may not take responsibility for maintaining their own plugins. This can lead to a broken system where users may have to pay extra to have broken plugins fixed. Overall, this highlights the need for a better system of support and maintenance for open-source code and plugins.
For how long have I used the solution?
I have been using HashiCorp Terraform for approximately four years.
What do I think about the scalability of the solution?
The solution is scalable. It is well suited to managing complex cloud environments, such as Google Kubernetes Engine, that require various services and configurations.
What's my experience with pricing, setup cost, and licensing?
HashiCorp Terraform is a cost-effective solution.
What other advice do I have?
HashiCorp Terraform has issues with testing and the modules. Overall, the concept is great. What they did works well. However, the extension to it is not the greatest.
I rate HashiCorp Terraform a seven out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
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.
Kubernetes Consultant, Cloud Architect at a computer software company with 51-200 employees
It's easy to use and set up, but the error logging and documentation could be better
Pros and Cons
- "With Terraform, you don't need to understand the console of your cloud providers. You only need to understand how Terraform works, and you manage your infrastructure tools in Terraform."
- "The error logging could be better. Sometimes, when you try to set something on Terraform, it gives you an error, but you don't understand how the error has been logged."
What is our primary use case?
We have about 50 users.
What is most valuable?
With Terraform, you don't need to understand the console of your cloud providers. You only need to understand how Terraform works, and you manage your infrastructure tools in Terraform.
What needs improvement?
In Terraform, there's a file called main.tf, where everything starts. In the main.tf, you need to specify the provider you're using. For example, maybe you want to use GCP, but you don't want to work on GCP. That's where you will list everything you need. It's like a key for you to access GCP.
Sometimes, it can be challenging to undo. Let's say I'm using the provider here, and you want to use it on your site over there. You have to delete the provider you are using before switching providers. It doesn't sync well. The providers don't sync well. And also the documentation sometimes, they need to work on the documentation of Terraform. They're not concise.
The error logging could be better. Sometimes, when you try to set something on Terraform, it gives you an error, but you don't understand how the error has been logged.
For how long have I used the solution?
I started using Terraform two years ago.
What do I think about the stability of the solution?
Terraform is one of the most stable products HashiCorp provides
What do I think about the scalability of the solution?
Terraform is scalable.
How are customer service and support?
Terraform is an open-source product, so we rely on documentation. I rate the Terraform documentation five out of 10. It should provide more examples about the way you should write some resources or models.
How was the initial setup?
Setting up Terraform is straightforward. You only need to deploy the binary. I rate it 10 out of 10 for ease of setup.
What other advice do I have?
I rate Terraform seven out of 10. There aren't many products that do what Terraform does. It's easy to use and set up.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
IT Consultant at a tech vendor with 1-10 employees
Has extensive integrations across various platforms
Pros and Cons
- "Terraform has extensive integrations across various platforms. It includes modules that enhance functionality and support for secure practices, such as Terraform Sentinel, which offers code analysis capabilities."
- "Terraform should monitor the backend storage more closely. You can handle it within Azure, but HashiCorp should release a dedicated tool to protect those secrets and ensure they're fully encrypted."
What is our primary use case?
We use HashiCorp Terraform for Infrastructure as Code. It automates the deployment of infrastructure within the Azure platform. Terraform can manage almost all aspects of infrastructure provisioning. If there are tasks that Terraform cannot perform directly, you can use the Azure CLI or other tools and call them from within Terraform scripts.
How has it helped my organization?
Terraform has extensive integrations across various platforms. It includes modules that enhance functionality and support for secure practices, such as Terraform Sentinel, which offers code analysis capabilities. Security logging and backend security are crucial, particularly regarding protecting sensitive information stored in the backend. Ensuring private endpoint usage is pivotal to safeguarding against potential vulnerabilities.
What is most valuable?
Terraform's strength lies in its modularity and the ability to use variables. You can organize your code within local and remote repositories, making it highly modular. This modularity allows you to call specific components as needed. Additionally, Terraform can toggle certain functionalities on or off through feature flags, a unique and powerful feature.
What needs improvement?
Terraform should monitor the backend storage more closely. You can handle it within Azure, but HashiCorp should release a dedicated tool to protect those secrets and ensure they're fully encrypted but this functionality is on its way for Terraform. They do have functionality that encrypts secrets and rotates which is great just like what Microsoft have and should be used in the wider community to safeguard public cloud systems
For how long have I used the solution?
I have been using HashiCorp Terraform for five years.
What do I think about the stability of the solution?
The product is quite stable. You may not notice the updates, but you do see frequent changes in revisions because they've stabilized the platform. They've also introduced significant new versions and providers that work hand in hand with it. I don't encounter many errors that I can't fix straightforwardly. As an engineer, you receive error messages if you misconfigure things, and it informs you about that.
I rate the solution’s stability an eight out of ten.
What do I think about the scalability of the solution?
The solution can scale to any size. It is suitable for SMEs.
I rate the solution’s scalability an eight out of ten.
Which solution did I use previously and why did I switch?
Arm templates where difficult to managed initially and took a while to manage in nested calls and nested templates
How was the initial setup?
The integration is straightforward. Simply download the binary, test it accordingly, and authenticate via Azure CLI. I've used the standard binary because it's free and widely adopted for technical infrastructure as code.
The initial setup is very straightforward. I set up a Python environment, brought in Terraform, and utilized it with YAML. Everything has to be securely done. You have to set up some pieces on the backend. It's straightforward to deploy: get the binary, set it up on the build agent, and configure the settings the way you need.
What about the implementation team?
Inhouse Initially but I have learnt form other teams and vendors as all teams structure their code differently with best practices
What's my experience with pricing, setup cost, and licensing?
We are using the free version of the solution.
Which other solutions did I evaluate?
Arm Templates and PowerShell Azure initially Pulumi (early days)
What other advice do I have?
I've been working with HashiCorp Terraform recently and have deployed environments with it.OpenAI has released GPT Terraform, which Microsoft is heavily investing in. Generic modules are available for deployment. Azure AI Portal and AI Studio are useful tools for creating models. It's straightforward to perform service training and update models for input-output data.
HashiCorp Terraform has made handling modules and variables more secure. They've integrated key vaults to ensure secrets and backend storage are protected. Accessing the backend storage could potentially leak sensitive information if not properly encrypted.
I'm using GitHub Actions and Azure DevOps. Additionally, I'm exploring an older system within the team that will be set up to support.
If the setup is built on old infrastructure, the backend of Terraform works and stores. Vagrant works differently where it doesn't need to check with the infrastructure to see what's there or updated. You get an API call for deployment.
Overall, I rate the solution as 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?
Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Jun 28, 2024
Flag as inappropriateBuyer'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?