---
title: "Discussion on \"Terraform is terrible\" | Hashnode"
description: "Discussion on \"Terraform is terrible\". Remote state storage on AWS uses 2 resources?! Client design for CI jobs is an afterthought. Breaking change version every quarter. That's Terraform."
url: "https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c"
---

[Feed](https://hashnode.com/feed) /

Discussion

# [Terraform is terrible](https://adambrodziak.pl/terraform-is-terrible?utm_source=hashnode&utm_medium=feed)

Remote state storage on AWS uses 2 resources?! Client design for CI jobs is an afterthought. Breaking change version every quarter. That's Terraform.

May 27, 2021 · 11 min read · adambrodziak.pl  
Updated May 31, 2021  
Read the article

-   [#terraform](https://hashnode.com/tag/terraform)
-   [#infrastructure](https://hashnode.com/tag/infrastructure)
-   [#devops](https://hashnode.com/tag/devops)
-   [#aws](https://hashnode.com/tag/aws)

## Written by

[Adam Brodziak](https://hashnode.com/@adambro)

@adambro

  
[View profile](https://hashnode.com/@adambro)

SRE / DevOps exploring Kubernetes, Docker, Cloud, AWS.

SRE / DevOps exploring Kubernetes, Docker, Cloud, AWS. Working with software from (A)nalysis to (T)ermination.

## Responses 4

Markdown supported · ⌘↵ to post

[Igor Konforti](https://hashnode.com/@confiq)

[Nov 23, 2022](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/637e4a66b19e2ed6be0ad849)

I wrote very lengthy post only to discover that I can't post links because I'm new user in "hashnode".

I wrote why I didn't like the terraform with links of why but it seems that today is not my day with all "hash\*" companies :(

You have very good points there and as someone who was using pulumi for 2 years, my feelings are mixed.

Yet, pulumi don't screw it this hard.

[Igor Konforti](https://hashnode.com/@confiq)

[Nov 23, 2022](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/637e4a02361eabd5d57eb1e9)

I wrote very lengthy post only to discover that I can't post links because I'm new user in "hashnode".

I wrote why I didn't like the terraform and add links of example but it seems that today is not my day with all "hash\*" companies :(

[George Silva](https://hashnode.com/@george-silva)

[May 28, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60b11257fb51fd32a4dbef05)

Interesting take. However, I feel different. My terraform experience is really good.

At first, we use to manage deploys manually in the command line. With several services.

After a while, it got complicated, so we ended up using Atlantis to manage the locks and apply the plans (and creating the plans) - it allows you to do so via GitHub comments.

The main point is that if you start using Terraform, you have to use it for everything. If half of your stuff is on terraform and half is not, you're going to have some pains, indeed.

A good way to manage that is to add tags to identify resources that are managed by terraform.

About IDE support - VSCode has an extension that helps you, with syntax highlight and some auto-complete.

Cool article, always good to learn different points of view.

[Adam Brodziak](https://hashnode.com/@adambro)

[May 31, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60b11257fb51fd32a4dbef05#reply-60b48d22241c3d4add68b9ac)

[George Silva](https://hashnode.com/@george-silva) thanks for sharing your experience. It's not that Terraform is completely terrible, but my experience was not great. It could be that we've done something the wrong way or I don't understand some concepts. And this is a rant, obviously ;)

I plan to post some follow up with remedies that we've used (i.e. Makefile to run Terraform, full HCL for safe S3 state backend), because Terraform is here to stay. At least I can do that much to make a world a better place. Stay tuned!

> The main point is that if you start using Terraform, you have to use it for everything. If half of your stuff is on terraform and half is not, you're going to have some pains, indeed.

Good point about that. Some of the problems seems to be caused by manual changes in the admin panel. I'll think how to make it easier to do the right thing (use Terraform code), rather than the wrong one (manual change).

Also many thanks for the tips about tags and Atlantis - that might be just something that we need!

[Wei Lun](https://hashnode.com/@weilun)

[May 27, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60afb4319b1e2e1dccbcb44b)

Lack of IDE completion is what annoyed me the most. Too easy to cause errors and typos

[Adam Brodziak](https://hashnode.com/@adambro)

[May 27, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60afb4319b1e2e1dccbcb44b#reply-60afd1475c02001765cf49f6)

Very good point about lack of IDE support, I felt that too on VS Code with official Terraform plugin. However after decades of JS and PHP coding I've used to that ;)

[Wei Lun](https://hashnode.com/@weilun)

[Jun 4, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60afb4319b1e2e1dccbcb44b#reply-60b9d92be7631679eb8de59a)

[Adam Brodziak](https://hashnode.com/@adambro) have you tried [pulumi](https://pulumi.com/)?

[Adam Brodziak](https://hashnode.com/@adambro)

[Jun 14, 2021](https://hashnode.com/posts/terraform-is-terrible/60afb31e5c02001765cf472c/comment/60afb4319b1e2e1dccbcb44b#reply-60c7430fbbd8c506819adbf1)

[Yong Wei Lun](https://hashnode.com/@weilun) I haven't used or tried Pulumi yet. It looks like a direct competitor, but in this case we're after official Terraform provider developed by Atlas.
