Every few months, a new wave of engineers proudly announces their exit from the cloud. “We’re going bare metal. Look at our savings!”.
The thread goes viral. Everyone nods wisely.
But here’s the truth: if you’re making infra decisions without thinking about your growth model, you’re optimizing the wrong thing.
The cloud is not a cost problem. It’s a scaling solution.
Startups don’t pay AWS bills because it’s cheap. They pay because it gives them instant access to global infrastructure they couldn’t build or operate themselves, and arguable, they should not spend time building a team to operate it.
If your business is growing 100% year over year, optimizing gross margin is not your first battle. Surviving growth is.
Datadog has been in the cloud since day one. They’ve scaled revenue 150× over 10 years. The cloud didn’t kill them. It enabled them. They did that while controlling and optimizing their gross margin, but also without spinning up a giant project to double them by leaving the cloud (yet). Why? Because they’re still (a little bit more slowly) growing.
Bare metal works — if you’re not growing much.
Basecamp left AWS. They made noise. But they also “only” grew 6× in 12 years — not 150×. When growth is slow and predictable, you can (and should) optimize for margin. You have time. You have predictability. Maybe you even have ops engineers with spare cycles. And if you don’t, as you’re not struggling to grow your team, you can expand into infrastructure and internalize it.
When you run out of stamina for growth, you optimize your gross margin; therefore, your cost is what you want to shrink. It’s a different phase.
The same goes for any small or internal project; there might be no need to deal with a cloud provider if you know your infrastructure will not double every year. Just rent or buy a bunch of bare metal servers and deal with them.
Most engineers don’t see the whole picture.
If you follow engineers, they always want to optimize. The problem is that most of them can’t optimize your market, your growth. The only thing they know how to optimize is resource consumption and cost by working more.
Therefore, they’ll look at a line item on the AWS invoice and say, “We could get this cheaper with low-cost bare metal and our team spending time spinning things up.”
Maybe.
Who’s factoring in the cost of talent to manage infra? The time you won’t spend shipping product? The opportunity cost of slowing down?
So… bare metal or cloud?
It depends.
If you’re building a startup and aiming for fast growth: cloud, 100%.
If you’re a slow-growth company with predictable traffic: maybe bare metal.
If you’re a big org running an intranet or legacy app: buy servers, no big deal.
But let’s stop pretending this is just a technical decision.
It’s not.
It’s a strategic one.