- IaC Insights
- Posts
- Too Many Tools = Zero Expertise
Too Many Tools = Zero Expertise
A story of a client who had Terraform here, CDK there, and manual management for their prod db.
Hey folks,
One of the first causes of platform chaos is teams using too many tools.
My suggestion is pick a tool. What we've seen is that if you don't standardize, you end up drowning.
I'll give you a quick example. We did an audit for a client recently and they were using many infrastructure as code (IaC) tools.
They had a readme document that outlined: hey, we use Terraform in this case, we use CDK in this case. We don't manage these resources using IaC at all because we're afraid we might delete them. (I call that fear of resource deletion, and I'll talk about it more below.)
They had this list of "when do we use which tool." It was confusing. Their organization lacked IaC focus. They didn't have consistency. They didn't have strong expertise in one tool. All of this caused them to really flounder, and they were not able to execute well with any of the tools.
It was not good.
A lot of what I write about can translate to any infrastructure as code tool. I would suggest you pick one. We always suggest OpenTofu. It has the best ecosystem. But pick one.
Let's go back to this fear of resource deletion, which can cause you to avoid picking a single tool because you're managing a set of resources manually.
If you're afraid that your IaC is going to delete a database or cluster and you have an engineering leader who's saying, "No, we cannot use infrastructure as code to manage our databases or our clusters," that's a totally understandable concern. Deleting prod databases would be bad!
But there are ways to solve that, folks. Put the proper controls in place to avoid those issues. Role-based access control (RBAC) helps. You can say, "This database is never allowed to be deleted by the role the infrastructure as code executes as."
There are also deletion protection mechanisms offered by a lot of the cloud providers. This lets you say, "Hey, this resource has to have a confirmation step before it's deleted." So, you can't actually delete it with IaC.
Using these means you can manage that important resource with your IaC tool, which lets you have a global view of all your infra, improves consistency, and accelerates momentum.
May you pick one tool and prosper,
Matt @ Masterpoint
PS Did you know we have a referral program where you can make some extra cash? Know someone who needs some IaC expertise? Intro us and help out Masterpoint, one of your colleagues, and yourself at the same time.