TrustRadius: an HG Insights company

IBM Terraform

Score8.8 out of 10

168 Reviews and Ratings

What is IBM Terraform?

IBM Terraform (formerly Hashicorp Terraform) is a cloud infrastructure automation tool used to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It is available Open Source, and via Cloud and Self-Hosted editions.

Read more details.

Media

Screenshot of Terraform State
Screenshot of Terraform Runs
Screenshot of Terraform Variables
Screenshot of Terraform Workspaces
Screenshot of Terraform Cost Estimation

1 / 5

Screenshot of Terraform State

Who Buys & Uses IBM Terraform

Best devops tool for cloud provisioning

Use Cases and Deployment Scope

As an IBM/Hashicorp partner, I use Terraform to consistently deploy highly opinionated enterprise cloud landing zone for my enterprise customers. It is also helpful to reduce drift and enforce compliance through Intrastructure as code. Through automation workflows, the time to deploy is reduced from days to hours and fits into the internal approval processes.

Pros

  • Curated providers for Cloud infrastructure
  • Good documentation and community articles are abundant
  • Integration with external tools

Cons

  • Better clarity of how IBM Terraform now stands versus community version
  • Documentation can be better with more examples
  • Sentinel needs better examples to get started

Return on Investment

  • Significant reduction in time to deploy
  • Very quick and non destructive drift analysis
  • No need to reinvent the weel. Simpy use curated providers

Usability

Alternatives Considered

Red Hat Ansible Automation Platform

Other Software Used

Red Hat Ansible Automation Platform, Red Hat OpenShift, Azure DevOps

Terraform - The Default IaC Choice.

Use Cases and Deployment Scope

Terraform is like the 1st thing that comes to your mind when talking about infra-as-code. It's not the first IaC technology, but it's definitely the 1st cloud-agnostic one. You choose Terraform because you are familiar with it, your engineers are familiar with it, and there is a large pool of DevOps candidates who are familiar with it. Needless to say, at our startup, we aim to have as much of our infrastructure as possible managed from a Terraform repo.

Pros

  • One familiar language with structured syntax to work with different cloud providers.
  • The code itself can be modularized for reusability & keeping things DRY.
  • The ability to import existing resources to start being managed by Terraform is just brilliant.

Cons

  • The language itself is cloud-agnostic, but you will likely have to rewrite a lot when switching cloud providers.
  • A good plan doesn't always mean a smooth apply.
  • There are instances where things could be DRYed up further, especially coming from a software engineering pov.

Return on Investment

  • The entire mission-critical infrastructure is managed as code, with access control & version control.
  • Very trivial to setup daily job to compare actual infra vs code to detect & alert drifts.
  • Familiar to build & maintain means lower cost of ownership.

Usability

Alternatives Considered

CDK and Red Hat Ansible Automation Platform

Other Software Used

GitHub, Anthropic Claude, Microsoft Visual Studio Code

Hashicorp Terraform Review

Use Cases and Deployment Scope

We are using HashiCorp Terraform CLI extensively in our platform for creating and managing AWS and Kubernetes resources. HashiCorp Terraform helps us to create multiple resources quickly within minutes. We are using it to differentiate configurations for different environments thereby helping us to manage our resources easily. Modules have also helped us in creating dynamic reusable templates for resource creations. We are also provisioning ai resources like Agentcore, databricks using terraform which helps in code mantainability.

Pros

  • AWS and GCP resource provisioning like VM, IAM roles and users, EKS clisters
  • State management for maintaining existing resources and have a single source of truth.
  • Reusable codebase for different configurations using HashiCorp Terraform modules

Cons

  • Infrastructure Testing using native framework or mock tests
  • Importing multiple resources at a time
  • Documentation for providers and corresponding APIs can be improved

Return on Investment

  • Greatly reduced the time to create networking resources from 3 days to 10 mins.
  • Cost optimization of around 40% by cleaning up unused resources automatically.
  • Automatic provision of AI resources and kubernetes cluster resources

Usability

Alternatives Considered

AWS CloudFormation, Red Hat Ansible Automation Platform and Google Cloud Deployment Manager

Other Software Used

Amazon Elastic Kubernetes Service (EKS), IBM Vault

Great for automating repetitive and similar tasks

Use Cases and Deployment Scope

There are two main problems the product solves for us. The first one is that it maintained our old EC2 image and the Matillion ETL instance it held; including backups, scheduled spin up times, snapshots etc. The second is to ingest raw data from our S3 data lake into Snowflake as raw data, and also to flatten it to tabular data.

Pros

  • Standardised templating - Great for repetitive tasks or processes. For example flattening JSON files into tables. We can make a Terraform template which can be duplicated and used for many different file schemas.
  • Dynamic/static variables - Getting information about the stage/instance Terraform is running in can help dynamically generate assets. E.g. making prod vs dev vs non-live assets based on the instance to Git branch.
  • Vast array of connectors - Terraform seems to connect with lots of different technologies, and are often maintained by the tech provider so you know it's going to be designed in the best way possible for that tech.

Cons

  • Steep learning curve - As with most IaaC tools, it can take time to learn the architecture of Terraform, nomenclatures, process of implementation etc.
  • Hanging state lock files - Potentially an implementation issue rather than an terraform issue, but if a state lock file isn't properly closed/unlocked then that instance of terraform can't be tested or ran again until the file becomes unlocked. E.g. stopping a Terraform PLAN pipeline half way through means the state lock file will hang/remain locked until it's explicitly told to be unlocked again.
  • Unhelpful errors - Potentially an issue with the connector provider, but some errors can be generic, or too much information is given meaning finding the root cause can be tricky.

Return on Investment

  • More developer time freed up - Not having to worry about our old EC2 machine means we can free up developer time. It takes care of the spin up schedules, the EC2 snapshots, and even certain requirements for the METL instance that resides in the machine
  • Reduced time to data ingestion - Now we have a template for data ingestion (JSON > SQL-ready tables) it means we can stage, copy, and flatten data from S3 to Snowflake very quickly. Depending on the complexity of the ingest request, it might only take a few days to implement.
  • Long PLAN times - The larger your estate, the longer it can take for Terraform to PLAN it's changes. In some cases developers would have to wait a few hours for Terraform to complete it's PLAN stage only to be told there's an error somewhere in the code. This might be more of an implementation issue, but just something to be aware of.

Usability

Alternatives Considered

dbt

Other Software Used

Postman, dbt, Snowflake, Matillion, AWS IAM Identity Center, Apache Airflow, Amazon QuickSight, Amazon S3 (Simple Storage Service), Looker, Google BigQuery

HashiCorp Terraform, the simple and versatile IAC

Use Cases and Deployment Scope

We integrated HashiCorp Terraform for AWS configuration, such as VPC setup, subnets, routing, security groups, endpoints, etc.

Pros

  • Automation
  • easy to deploy
  • simplicity in the coding language

Cons

  • Importing resources into the code could be more automated.

Return on Investment

  • The benefits are very positive as there is no cost to the company.
  • Start using HashiCorp Terraform you only need the executable, which is easy to download and configure the basics.

Usability

Alternatives Considered

AWS CloudFormation

Other Software Used

GitHub, 11:11 Solutions for AWS