- Matt's Memos
- Posts
- What new IaC tools need
What new IaC tools need
Would love to hear your thoughts
Hiya,
If we were to see a new Infrastructure as Code (IaC) tool pop up tomorrow, I would want to see the following improved (at a bare minimum):
State
When you run terraform, opentofu, or similar IaC projects at almost any scale, you quickly run into problems surrounding state files being too large (the dreaded terralith) or blast radius problems.
We shouldn't have to carve up our state into tiny, resource based chunks and then orchestrate those chunks to accomplish our goals.
The ideal tool should deal with this for us by keeping everything for a particular project in one state and allowing us to group various resources.
Testing
Terraform and OpenTofu both have test
commands. These are in early days and seem to provide part of the puzzle, but if we're ever going to truly solve testing of infrastructure as code then we need to reimagine testing against remote APIs.
Maybe this means providers are required to include their own mocking library? Or dry-run / validation endpoints?
Regardless, I want testing to be more of a first class citizen than something that gets bolted on as an afterthought.
What would make your short list of IaC tool improvements?
Happy brainstorming,
Matt
PS If you want to read more about a move from Terraform to OpenTofu, check out our recent post on our transition.