Infrastructure management benefits from declared creation and consistent procedures
What is our primary use case?
At Remessa, we use HashiCorp Terraform for everything involving infrastructure. We use HashiCorp Terraform to manage our repository on GitHub, to manage permissions, invitations, and teams. We use HashiCorp Terraform to manage our AWS infrastructure, DNS, policies on Cloudflare. We use HashiCorp Terraform to manage our alerts on PagerDuty, and we set up some things on Grafana with other services.
We use GitOps, so when we need to make changes such as upgrading our databases when a new Postgres version is released, we can see the version of each database that worked, allowing us to manage the process effectively. We can see in the state that our main database will be upgraded immediately. We can prevent breaks or issues because of the states, which allows us to schedule a window time for upgrades when needed.
What is most valuable?
HashiCorp Terraform operates on a declarative rather than imperative approach. This enables us to repeat processes and creation, which is the greatest advantage because we can test. If something doesn't work, we can do a rollback or change everything, and using Git, we have the history of every change. We can pick a change in the history tree to discuss and see what changed.
Our infrastructure has a repository with HashiCorp Terraform, and we have modules for that. The benefit is the concept of not repeating yourself, so we have an instance that we can use to create a new instance or cluster as quickly and correctly as possible. Everything works the same way. We don't have servers running on different systems such as Ubuntu, Red Hat, or Debian. Everything is uniform, so we don't need to think about different ways to create, manage, or access. The benefit of this uniformity is significant.
We utilize HashiCorp Terraform's state management capabilities.
What needs improvement?
Two aspects of HashiCorp Terraform could be improved: it should have better included tests and a more precise validator. I have faced issues where I needed to create something in a particular way and wanted to validate if everything was working properly, but the validator is not a strong point of HashiCorp Terraform.
Using HashiCorp Terraform Cloud is straightforward, but using other backends such as AWS S3 or Oracle Object Store is not as straightforward. Working with modules can be complex. However, when using HashiCorp Terraform's modules, you're typically a more advanced user, so this complexity isn't problematic.
For how long have I used the solution?
I have been working with HashiCorp Terraform for five years.
What do I think about the stability of the solution?
HashiCorp Terraform is extremely stable. I faced an issue once in five years where the way I declared the resource was correct, but I had problems with the binary. When I investigated the problem, the community had created an issue, and they released patches the next day. It has been totally stable with only one minor issue in five years.
What do I think about the scalability of the solution?
Given it's in the cloud, HashiCorp Terraform is very much scalable.
Which other solutions did I evaluate?
When HashiCorp Terraform changed their license version, I considered migrating to another similar tool. However, after understanding the changes, I decided to continue using it since it remained open source, with restrictions only for HashiCorp competitors. This was crucial for me as I only work with open-source solutions.
All my colleagues in the company shared the same concern, and we studied migrating from HashiCorp Terraform because of the license change. I have experience with alternatives such as Crossplane, which I studied once and wanted to test. There is also OpenTofu, a fork of HashiCorp Terraform, which I tested a few times.
I continue using HashiCorp Terraform because the HashiCorp Language (HCL) is excellent to work with. The syntax is clear, and we have numerous resources and examples. Usually, I can find examples of what I want to create from other users' implementations. The benefits are the language, syntax, agility, and velocity. HashiCorp Terraform works effectively even with complex infrastructures.
What other advice do I have?
To others considering HashiCorp Terraform, planning the infrastructure is key, including drawing out the idea. Using HashiCorp Terraform is straightforward, but migrating everything to modules or reworking on HashiCorp Terraform can be complicated and overwhelming. Think thoroughly before implementation, but don't hesitate to try it. All necessary information is available online, and the community is excellent.
On a scale of one to ten, I would rate HashiCorp Terraform as a solution 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)
Terraform has revolutionized Infra as Code deployment in Cloud
What do you like best about the product?
What I like best about HashiCorp Terraform is its ability to automate and standardize infrastructure provisioning across cloud environments. As an administrator, the declarative syntax makes it easy to define infrastructure as code, while the plan and apply workflow gives full visibility and control before making any changes. Terraform’s modular structure helps maintain reusable and scalable configurations, and its cloud-agnostic support allows me to manage AWS, Azure, GCP, and more using a single tool. It simplifies my workflow, reduces manual errors, and makes infrastructure management efficient and predictable.
What do you dislike about the product?
While I truly value Terraform for its automation and flexibility, one area that I find can be challenging is state file management, especially in larger teams. It requires careful handling and secure backend configuration to avoid conflicts and ensure consistency — but it has taught me the importance of proper collaboration practices and the use of remote state backends with locking.
What problems is the product solving and how is that benefiting you?
Manual provisioning replaced with automation – Terraform helps me automate infrastructure deployment, saving time and reducing human error.
Standardized configurations across environments – I can manage multi-cloud infrastructure using consistent, version-controlled code.
Change visibility and control – With the plan/apply workflow, I get clear visibility into changes before they’re made, reducing risk.
Infrastructure management becomes seamless across multiple platforms through platform-agnostic capabilities
What is our primary use case?
We primarily use HashiCorp Terraform for our infrastructure deployments and cloud deployments. As a cloud architect and infra DevOps architect, we use HashiCorp Terraform to deploy our code, builds, and set up CI/CD pipelines. We create Terraform code and deploy it through Terraform Enterprise.
Regarding state management and orchestration capabilities of HashiCorp Terraform's impact on our workflows, we had two different environments. Initially, we used Jenkins for our CI/CD pipelines. Because we primarily work on Azure, we use remote state files for Azure deployments. Jenkins runs the HashiCorp Terraform code, and then the state file gets saved in our Azure storage as a remote location. Whenever we require that state file, we can retrieve it from there.
At a later stage, we enhanced the environment by setting up Terraform Enterprise in our environment. Currently, we have it within our environment. We set up Terraform Enterprise with HashiCorp's license. We create modules from HashiCorp Terraform using the Azure ARM provider, and then we set up those modules to apply Azure best practices. We provide this to the development team and other teams so they can reuse these modules and deploy secure codes. We also manage upgrades and the complete lifecycle of TFE, and we provide these services to our other teams.
What is most valuable?
One of the major benefits of HashiCorp Terraform is that it is platform-agnostic because it supports multiple cloud platforms. This is the biggest advantage.
The state file is one of the key features of HashiCorp Terraform that helps us because whenever there is a drift, it actually helps us identify those and reset the environment to the actual desired state.
From our environment, we have enabled the health monitoring and drift detection features in HashiCorp Terraform. These have been really useful for our environment. It helps us where we do not have HashiCorp Terraform code for the environments and get that created, and whenever there is a manual change, we get to know that.
What needs improvement?
One issue we have faced with HashiCorp Terraform is that sometimes the latest features that Microsoft suggests are added in their services take some time for HashiCorp Terraform to get enhanced. Sometimes there is that lag where we want some service or configuration which is not yet enabled in the HashiCorp Terraform module.
The initial setup process for HashiCorp Terraform was fine and possible without major challenges. However, currently, our organization helps set up governance and policies, including those related to the OS. There is a challenge where our organization is recommending a specific OS, which is currently not supported by HashiCorp Terraform.
For how long have I used the solution?
I have been working with HashiCorp Terraform for the last 10 years.
What was my experience with deployment of the solution?
Since it is based on Azure, HashiCorp Terraform is highly scalable.
From the maintenance point of view, it is not difficult to maintain HashiCorp Terraform because primarily all those resources or the infrastructure we set up in Azure, and we have the high availability setup. From that perspective, there haven't been major challenges.
What do I think about the stability of the solution?
In terms of the stability and reliability of HashiCorp Terraform, I have not had any performance issues with it. There was only one challenge when we installed one of the patches in HashiCorp Terraform, and we lost some database. That was one challenge, which was not a known issue. Later, they identified that there was one defect in that code. Apart from that, there have been no challenges.
What do I think about the scalability of the solution?
Since it is based on Azure, HashiCorp Terraform is highly scalable.
How are customer service and support?
Whenever we face any issues, we escalate it to HashiCorp technical support, and we get that support. We have regular interaction with them. I would rate the HashiCorp technical support an eight on a scale of one to ten, where ten is the best.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
From a configuration management perspective, we have used Jenkins and SCCM. My experience is limited to that, but some of my team members have used Ansible and others as well.
The major benefit of HashiCorp Terraform in comparison to Jenkins and SCCM is that these are only configuration management tools, but HashiCorp Terraform is a language where you can deploy those, and you provide those providers for different cloud environments. This gives it a tactical advantage. It deals with having a seat, or it always helps having a lesser technical landscape. We don't have to have additional tools or any other feature to develop that IaC code as well.
How was the initial setup?
When we did the POC and wanted to set up our production environment, it took us around three to four months. Now that we have set up that pipeline for the upgrades, it doesn't take us that long. For the production deployment, currently, it takes us around two weeks, excluding the testing, the stage deployment, development, and deployment.
What was our ROI?
We have not calculated the measurable benefits recently from using HashiCorp Terraform. On a high level, I would say it has improved our overall environment, speed, and excellence by approximately 20%.
What other advice do I have?
I can provide feedback regarding my experience working with HashiCorp Terraform. We haven't found any major challenges with the integration of HashiCorp Terraform. Frankly speaking, we haven't explored it completely, but for our requirements, it has been working fine.
I have not had any AI-driven projects or AI-driven tasks, nor have I utilized any AI within HashiCorp Terraform yet. I might not be the right person regarding the HashiCorp Terraform licensing part because I haven't been involved from the costing perspective.
Based on my experience, I would recommend HashiCorp Terraform to others, majorly because of the advantages of being platform-agnostic and all those other features. My overall rating for HashiCorp Terraform is eight out of ten.
Which deployment model are you using for this solution?
Microsoft Azure
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure
Ensures consistency and security in deployments while adapting to resource availability
What is our primary use case?
I use it to deploy our Kubernetes clusters and Boomi as well. I can run Boomi by itself and not worry about Terraform and Kubernetes, and that's okay.
However, my use case requires me to run it in a cluster environment to scale up and scale down accordingly and manage costs. This is why I chose Kubernetes. Although it's possible to manually roll it out, I have security requirements to consider for a secure environment. To make it repeatable, I use Bicep or Terraform, as I'm mostly running in Azure.
I decided on Terraform to manage deployments across multiple environments. This includes a dev environment, a QA environment, and now a production environment. I test and then run Terraform to deploy these environments. In AI, it's more about setting up your environment.
I develop AI-based products and use Terraform to create a consistent and secure environment in Azure. Once deployed, I get a security score from Azure and receive recommendations for improvements. If a resource is noncompliant under SOC 2, type one or two, ISO, or HIPAA, I make the changes in Terraform, redeploy, and observe score improvements. Terraform aids in ensuring my deployments are correctly configured across environments.
What is most valuable?
The most valuable feature is predictability. When I need to put something, it is repeatable. I can deploy it in one environment, change the parameter, and it will work in another. If changes are needed, I track who did what because my Terraform scripts are version-controlled. This reduces guesswork and trial and error from the UI, replacing it with code, which enhances maintainability. In cloud environments, manual configurations can be forgotten or misunderstood if the original person leaves, but Terraform ensures documentation and consistent configurations.
What needs improvement?
The area for improvement is the speed at which resources become available. When a new resource is introduced in AWS or Azure, especially since I work mostly in Azure, how quickly can it be integrated into my Terraform scripts ensuring rapid availability of resources is crucial.
For how long have I used the solution?
I have used the solution for two to three years now.
What do I think about the stability of the solution?
The solution is stable because I can define which version I want to use. I am not at the mercy of the latest version. I can choose a stable version and decide whether to upgrade based on its performance.
What do I think about the scalability of the solution?
The solution scales well. Terraform runs only when our pipelines run and parallelizes resource creation/updates whenever possible.
How was the initial setup?
The setup is straightforward, but mastering it may take a day or two. Maintenance requires significant expertise. The challenge lies in understanding the environments being created, not Terraform itself.
What other advice do I have?
I am using the free version. The paid version is necessary when you run it and manage it in the environment, however, I only use Terraform runtimes. The documentation is excellent, and understanding how to read it is crucial.
Once I understand the different concepts of Terraform, it becomes straightforward, allowing for further capabilities. A major challenge was applying Terraform to existing resources, yet now the new import method is much improved.
My product rating is 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
Efficiently manages multi-cloud environments with support for YAML and Bash scripts
What is our primary use case?
The primary use case for Terraform is the deployment of infrastructure as a code, creating pipelines, and deploying scripts for services like VPC, EC2, and other AWS services. I also use Terraform for managing multi-cloud environments, easily connecting with services like AWS, Azure, and GCP.
What is most valuable?
The most valuable feature of Terraform is its ability to easily connect and manage various cloud services, such as AWS, Azure and GCP. I appreciate that with just a few commands, Terraform can deploy tools into the server, which simplifies the process significantly.
Additionally, the support for YAML and Bash scripts allows for straightforward deployment. Terraform's infrastructure as a code tool facilitates deploying code on tools, and once configured with AWS and local Terraform systems, it can be reused multiple times without much issue.
What needs improvement?
When connecting to services on a hybrid cloud, I sometimes face issues with understanding usernames or passwords, leading to loss of connectivity. User education could improve this.
For how long have I used the solution?
I have been using Terraform for approximately three years.
What do I think about the stability of the solution?
Once the configuration is set, there are generally no significant stability issues. Terraform runs smoothly.
What do I think about the scalability of the solution?
Scalability is effective, and I would rate it a ten out of ten.
How are customer service and support?
I have not faced any significant issues that required me to contact support, however, they provide mail IDs, a portal, and contact numbers for assistance. I would rate it nine out of ten.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I used Ansible before using Terraform. Currently, I prefer Terraform for its ease of use, though Ansible is also very efficient with few commands.
How was the initial setup?
The initial setup is straightforward, using YAML and Bash scripts for creating infrastructure, which can then be easily deployed using tools like Visual Studio Code.
What's my experience with pricing, setup cost, and licensing?
I use the open-source version of Terraform, so there is no cost for me. There is a paid version available for clients who require premium features such as security and compliance.
Which other solutions did I evaluate?
I have worked with Ansible, which is also effective for connecting to servers and services with minimal commands.
What other advice do I have?
On a scale of one to ten, I rate Terraform a ten.
Ansible is also highly effective when minimal command usage is required.
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?
Amazon Web Services (AWS)
devops engineer
What do you like best about the product?
Terraform's best feature is its declarative syntax, allowing you to define infrastructure as code and manage it consistently across multiple providers.
What do you dislike about the product?
Terraform can struggle with state file management, especially in collaborative environments, leading to potential conflicts or complexity.
What problems is the product solving and how is that benefiting you?
Terraform solves infrastructure provisioning and management across multiple providers using a unified language. It benefits users by improving consistency, scalability, and automation, reducing manual effort and errors.
Infrastructure management is streamlined with customizable modules but backend stability needs improvement
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?
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
Terraform benefits
What do you like best about the product?
The easy way to set up and help to deploy several resources reducing the errors
What do you dislike about the product?
Lack of training access. Will like to have better support.
What problems is the product solving and how is that benefiting you?
Errors to create several server , vms on the cloud on premise. Pre set up with a terraform file helps to avoid this .
Useful to provision cloud resources on Azure, AWS, and GCP platforms
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?
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.
Cost-effective product with an efficient infrastructure code feature
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.