What is our primary use case?
I am an integrator and platform engineer who has been using HashiCorp Terraform extensively for infrastructure for more than nine years. In my role as a platform engineer, I develop, integrate, and create modules and infrastructure, using HashiCorp Terraform to create platforms, roll out upgrades, and constantly search the upstream. I recently encountered a HashiCorp Terraform registry issue that was down for over four hours, but we are aware of it and it has been fixed. While some clients I have worked with decided to use alternatives, I always strongly suggest HashiCorp Terraform due to its extensive registry options and vast providers.
HashiCorp Terraform defines the infrastructure for multi-region, multi-account environments, depending on specific use cases. We build custom modules for all resources, versioning them effectively. The templating capabilities allow for reusable templates across teams for various scenarios, ensuring optimization and easy adaptation. State locking is among the best features, enabling a queued approach to deployments, preventing changes during ongoing updates.
What is most valuable?
The advantages of HashiCorp Terraform include its declarative nature, allowing us to secure our entire infrastructure code in a way that everyone can read and understand. This means we can maintain least privilege access while ensuring ease of understanding in the code, making HashiCorp Terraform really helpful. Additionally, the design and structure can be customized according to our project strategy while maintaining a secure state that can always be updated in the cloud.
Modular architecture significantly facilitates consistency and efficiency in our infrastructure deployment processes. We custom build modules that allow us to roll out new functionalities without affecting the overall system, ensuring compatibility with HashiCorp Terraform versions and providers. This enables flexibility in deployment and the use of multiple environments without raising issues.
The open-source nature of HashiCorp Terraform and community contributions are indeed important. Over the years, I have seen benefits from using HashiCorp Cloud capabilities that enhance HashiCorp Terraform's features, including secure state management and the ability to set stringent policies. While the open-source version is secure, using HashiCorp Cloud provides better flexibility and support for larger enterprises, allowing for enhanced governance that smaller teams can also utilize.
What needs improvement?
The main disadvantage of HashiCorp Terraform is the challenge surrounding state file management. If the state file is corrupted, deleted, or modified unexpectedly, it can lead to deployment failures. The management of state files requires careful access controls, and if misconfigured, can present significant operational challenges.
For how long have I used the solution?
I do not remember exactly when I started using HashiCorp Terraform, but it has been more than nine years since I have been using it.
What do I think about the stability of the solution?
I rate stability as nine out of ten, as it is generally highly reliable due to its remote state locking and best practices in CI/CD processes.
What do I think about the scalability of the solution?
I give scalability a ten out of ten, as it scales incredibly well across teams, providers, and environments, without limitations.
How are customer service and support?
For tech support, I consider it a ten out of ten. The HashiCorp team is always ready to help whenever issues arise in the open-source community or when using HashiCorp cloud services.
Which solution did I use previously and why did I switch?
I have evaluated similar products in the market, such as AWS CloudFormation, and while it is a native AWS service with deep integration, it lacks the multi-cloud capabilities that HashiCorp Terraform offers. Products such as Pulumi are better suited for developers with programming language backgrounds, while HashiCorp Terraform's declarative model is simpler for infrastructure teams, supporting multiple cloud providers efficiently.
How was the initial setup?
For installation, I would rate it a ten out of ten. The installation process is straightforward and the documentation is very flexible and easy to follow, making it simple to upgrade configurations.
What about the implementation team?
I have not personally handled the purchasing of HashiCorp products through the AWS Marketplace, as that responsibility typically resides with procurement teams within organizations. My role is focused on design and implementation suggestions, recommending HashiCorp Terraform to clients for its flexibility and capabilities in their projects.
What's my experience with pricing, setup cost, and licensing?
HashiCorp Terraform is generally free to use as it is open source. The paid offerings, such as Terraform Enterprise, have costs mostly applicable to larger enterprises, and they help reduce operational overhead while providing important governance features.
Which other solutions did I evaluate?
Most clients I have worked with primarily adopt a cloud-first strategy, predominantly using AWS. However, I have experience with hybrid environments, where key components run in both AWS and on-premises setups. HashiCorp Terraform excels in provisioning across these environments, providing a unified platform for infrastructure management.
What other advice do I have?
I am still working with HashiCorp products such as HashiCorp Terraform, Vault, and Packer, which are wonderful and flexible, and I find them to be the most secure tools that we can define and declare. I am interested in using other tools, but I have not gotten a chance to try them yet.
In terms of effectiveness, I measure HashiCorp Terraform's plan and apply life cycle metrics by a deployment success rate exceeding ninety-eight percent. Failures occur only if the code is not defined correctly, and rollback capabilities are frequent and efficient. Infrastructure drift measures ensure we maintain control over the changes, and the meantime to deploy has improved significantly in our processes, effectively reducing time from thirty to ten minutes under ideal circumstances.
My overall rating for HashiCorp Terraform is nine out of ten because it meets industry standards as an Infrastructure as Code tool, with only minor operational changes needed, mainly regarding state management.
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)