Using Terraform to Automate Your Future
August 08, 2019

Using Terraform to Automate Your Future

Anonymous | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Terraform

Terraform is currently being used to provision our resources in the cloud. This is by far the best way to achieve full automation when migrating to the cloud and is great a working with AWS.
  • AWS Resource Provisioning: Terraform is great at provisioning resources within AWS. Sometimes, there are some tricky bits when it interacts with the AWS API, but those are typically API limitations with AWS and not reflective of Terraform's abilities.
  • State: Since using Terraform, I have not had any issue managing resource state using Terraform. It's a little tricky to set up remote state, but once implemented it's smooth sailing from then on in my experience.
  • Extensibility: Terraform has really been written as a gateway to bigger and better things. It's so easy to extend terraform with your own modules, to submit PRs with new functionality, and it integrates well with other tooling.
  • Upgrades: It's really hard to do major upgrades of terraform without breaking something. The upgrade from 11 to 12 has been pretty brutal.
  • Setting up remote state: Despite pretty good documentation, setting up remote state initially is pretty tricky and in my experience required a little of the "you have to run it this way once, then create this thing, then run it again" kind of workflows which are always a little painful
I love Terraform and I think it has done some great things for people that are working to automate their provisioning processes and also for those that are in the process of moving to the cloud or managing cloud resources. There are some quirks to HCL that take a little bit of getting used to and give picking up Terraform a little bit of a learning curve, thus the rating.
While I have not had any interaction with actual Hashicorp support, their documentation in great which in itself is a testament to their abilities with regard to supporting their products.
Terraform is well suited for provisioning any kind of system in my opinion. You can use it for cloud resources, but you can also use it for on-prem stuff as well (though the latter may be a little more difficult).