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
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.
A configuration management solution to use CI/CD tools and has high customizations
What is our primary use case?
It is a useful configuration management solution. DevOps practices are a main tool for infrastructure as a code.
What is most valuable?
Cross-platform and many third-party providers could work with another product to manage via Terraform. It's easy to create a deployment solution. You can use various CI/CD tools, such as GitHub Actions or GitLab CI. Configuring these tools is straightforward and highly customizable.
What needs improvement?
They perform better with their commercial product, Terraform Cloud. Everything in the free product is already available in a comparable solution.
For how long have I used the solution?
I have been using HashiCorp Terraform for over five years.
What do I think about the stability of the solution?
The solution is stable.
I rate the solution’s stability a nine out of ten.
What do I think about the scalability of the solution?
I rate the solution’s scalability a seven out of ten.
How are customer service and support?
Some responses are very long, and some needed features take a lot of time.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
How was the initial setup?
It takes around 30 minutes to deploy completely.
I rate the initial setup an eight out of ten, where one is difficult, and ten is easy.
What was our ROI?
It is less time-consuming.
What's my experience with pricing, setup cost, and licensing?
We use the free tier of the solution.
What other advice do I have?
I recommend the solution because it's easier to write the code and manage.
Overall, I rate the solution an eight to nine out of ten.
Which deployment model are you using for this solution?
Public Cloud
Has extensive integrations across various platforms
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
Offers flexibility, clear documentation, and the ability to handle diverse use cases
What is our primary use case?
What is most valuable?
The most valuable features of Terraform are leveraging public modules for EKS, KMS, and ECR. This allows us to set up infrastructure efficiently by utilizing pre-built configurations. We can manage EKS either through the EKS Manager group or directly with specific variables. This flexibility is crucial as it doesn't require building privileges.
What needs improvement?
Some areas where Terraform could improve would be challenges in managing sensitive information, especially when dealing with secret files or credentials. There have been issues related to storage and maintenance of these files, particularly when using AWS. Simplifying the process of handling secrets and improving the overall management of sensitive data could enhance Terraform's usability. One suggestion for Terraform improvement could be enhanced remote functionality. It would be beneficial if, for example, I could remotely check the status and perform tasks directly on AWS without needing a full analysis of all tasks locally.
For how long have I used the solution?
I have been working with Terraform for two years.
What do I think about the stability of the solution?
I would rate the stability of Terraform as a seven out of ten. While generally stable, there is room for improvement to minimize challenges and provide a smoother experience for users.
What do I think about the scalability of the solution?
Terraform is highly scalable. I would rate the scalability as a nine out of ten. Ten people use it at our company.
How was the initial setup?
The initial setup was very simple and quick. It takes about two minutes to install everything.
Which other solutions did I evaluate?
When comparing Terraform with other infrastructure automation tools, I often consider AWS CloudFormation. However, I prefer Terraform for its versatility and ease of use. The abundance of modules, well-documented features, and direct integration with AWS makes it my go-to choice. Its flexibility, clear documentation, and ability to handle diverse use cases, from managing directories on GitHub to updating Linux machines, contribute to its efficiency and simplicity.
What other advice do I have?
Overall, I would rate Terraform as an eight out of ten.
Which deployment model are you using for this solution?
Public Cloud
Very helpfull for creating the complete environment
What do you like best about the product?
Easily writeable and suitable for multiple environments
What do you dislike about the product?
At a time only one person can work in the same environment.
What problems is the product solving and how is that benefiting you?
it is very useful for creating the complete environment in single click.
An easy-to-deploy solution that can be used for Infrastructure as Code (IaC)
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
Infrastructure as code
What do you like best about the product?
terraform have addapted for all the major cloud providers, able to bring the infrastructure as code, which helps us to keep the infra as it is, and it can be easily re-deployed and will help us to create more environments with same set of Terraform modules.
What do you dislike about the product?
I see there is always a lag between Hashicorp terraform and cloud providers, for example, if a new feature is released in any existing cloud services will take time for Terraform to support it, which is not the case with the native automation tools like ARM and BICEP
What problems is the product solving and how is that benefiting you?
This helps us to keep the state of the infrastructure, which can be updated or corrected at any point of time with the help of state file. It can be integrated with DevOps to get it fully automated.
A Strong Infrastructure as Code
What do you like best about the product?
-The installation process is simple and quick.
- It's free and open source
-HCL is really simple and easy to learn.
- RBAC and encryption are only two of the security solutions offered by Terraform.
-Because it is declarative, it is easy to manage resources.
- Terraform supports a wide range of cloud service providers, including AWS, Azure, GCP, and Kubernetes.
What do you dislike about the product?
-Configuration management may be tough if the infrastructure is large.
-If code is not handled appropriately, it might become a mess.
-Team cooperation is not by default enabled, however there are possible solutions.
- Terraform may be slow for large deployments, especially if you make a lot of changes.
What problems is the product solving and how is that benefiting you?
Overall, HashiCorp's Terraform is a solid infrastructure as code solution that is easy to comprehend and use. It allows for the creation of repeatable and auditable deployments and supports a wide range of providers and infrastructure types. It is, however, less adaptable than certain other tools and may be slow for large deployments.