6 ms·
At my company, I do. As a backend engineer. Guided by the devops team. It is a nightmare of arcane copy pasting. Terraform is an overengineered mess, a comple
by Traubenfuchs 4y ago
At my company, I do. As a backend engineer. Guided by the devops team.
It is a nightmare of arcane copy pasting.
Terraform is an overengineered mess, a complex enemy I need to beat to deploy my simple changes.
- theideaofcoffee 4y agoTerraform really takes Conway's Law and manifests it in the real world, but I don't think terraform itself is an overengineered mess. It's quite simple when you boil it down. However, if your team structure and communication is bad, you're probably going to get bad terraform code. I've seen both, large teams writing extremely well-written terraform, and small teams writing a mess of spaghetti. Like anything in software, it mainly comes down to the people.
- encryptluks2 4y agoQuite simple for simple tasks. Automation is not always simple though. That is like asking someone to write a program that is static and only has inputs and outputs, but doesn't do loops well or anything else. Terraform is great if you are fine with duplicating things in 100 different places. Once you want to take values and plug them into various modules and run loops, then Terraform begins to suck and its weaknesses get exposed pretty quick.
- theideaofcoffee 4y agoYes, vanilla terraform can be a bit verbose at times but that doesn't bother me. If DRY and other software engineering-y concepts are important to you, I would recommend a wrapper that assists with that, something like terragrunt.
- marcinzm 4y agoSo duplication is not inherently bad if each team has slightly different requirements and is expected to own its infrastructure. Or in other words, the overhead of communication can easily be higher than the overhead of duplication.
- upupandup 4y agoCompared to CDK? its less verbose. The problem with Infrastructure as Code is that its not code at all. It's just describing the infrastructure that with typical web console manipulation is easy but becomes complicated when you try to describe every moving pieces.
- icedchai 4y agoExactly this. Terraform is not really code, it's configuration. Sure, you have variable substitution and some limited looping.