The Cloud Repatriation Trend
· by Michael Doornbos · 854 words
The cloud was supposed to be cheaper. For a while, it was. Then the bill came.
Over the past couple of years, something interesting has been happening. Companies that went all-in on cloud are quietly bringing workloads back on-prem. Not all of them. Not for everything. But enough that it’s worth paying attention to.
This isn’t an anti-cloud screed. The cloud is great for lots of things. But “just use AWS” has become the default answer to infrastructure questions, and defaults deserve scrutiny.
The math that changed
Cloud pricing made sense when the alternative was building a data center. Hiring a full ops team. Buying hardware that might be wrong for your workload. Waiting months to scale.
For startups, the cloud is still a no-brainer. You don’t know your traffic patterns. You don’t know if your product will work. You need to move fast and not think about servers. Pay by the hour, scale on demand, focus on the product.
But something happens when you grow. Your workload stabilizes. Your traffic becomes predictable. And you start to notice that “pay for what you use” becomes “pay a lot for what you use constantly.”
The Basecamp numbers
DHH and the 37signals team have been the loudest voices here, and they’ve published actual numbers. They were spending $3.2 million per year on cloud. They bought Dell hardware, set up in a colocation facility (Deft), and migrated everything off AWS.
The results: almost $2 million saved in 2024 alone. Their original projection was $7 million over five years, but they’ve since revised that to over $10 million.
The final piece came in 2024 when they exited S3 entirely, moving to on-prem Pure Storage flash arrays. AWS waived a $250,000 egress bill to let them leave quietly. That alone saves $1.5 million per year in S3 hosting.
Now, 37signals is a specific case. Stable product. Predictable workload. Profitable company with cash to invest upfront. They’re not representative of everyone.
But they’re not unique either.
What’s actually driving this
Egress fees are brutal. Cloud providers make it cheap to get data in and expensive to get it out. Store a petabyte? Reasonable. Move that petabyte somewhere else? That’s where they get you. Companies with large datasets are doing the math and not liking the answers.
Reserved instances aren’t that reserved. Yes, you can commit for 1-3 years and get discounts. But you’re still paying cloud margins on predictable workloads. At some point, buying hardware outright is just cheaper.
Ops talent exists. The cloud pitch assumed ops expertise was rare and expensive. But there are plenty of experienced infrastructure people out there. And cloud doesn’t eliminate ops—it just changes what ops does. You still need people who understand networking, security, and capacity planning. Might as well have them manage hardware you own.
Hybrid got easier. You don’t have to choose anymore. Run your baseline on-prem, burst to cloud when needed. The tooling for this has matured. Kubernetes runs the same either place. Your deployment pipeline doesn’t care where the servers are.
Who should consider this
Not everyone. The cloud is still right for plenty of workloads.
Repatriation makes sense when:
- Your workload is stable and predictable
- You’re running 24/7 at high utilization
- Egress costs are a significant line item
- You have (or can build) ops capability
- You have capital for upfront hardware investment
Repatriation probably doesn’t make sense when:
- You’re a startup still finding product-market fit
- Your traffic is highly variable or spiky
- You need global distribution you can’t build yourself
- Your team has zero ops experience and no interest in learning
- You’re using managed services heavily (ML platforms, serverless, etc.)
The honest middle
Here’s what I actually think: the answer is usually hybrid, and the right mix depends on your specific situation.
Run your predictable baseline workloads on hardware you control. Use cloud for variable capacity, geographic distribution, and managed services that would be painful to run yourself.
The mistake is treating “cloud” as a religion rather than a tool. Same goes for “on-prem.” These are infrastructure choices, not identities.
What this means for the industry
The cloud providers know this is happening. AWS, Azure, and GCP are all pushing outposts, local zones, and hybrid offerings. They’d rather sell you hybrid than lose you entirely.
And honestly? Competition is good. For years, the assumption was that on-prem was dead, cloud was the future, and prices would stay reasonable because of competition between providers. But switching between clouds is hard, and the big three know it. Repatriation as an option keeps everyone honest.
The real question
The cloud conversation has been dominated by “should we migrate?” for fifteen years. The new question is “what should we run where?”
That’s a better question. It forces you to look at actual workloads, actual costs, actual capabilities. It treats infrastructure as an engineering problem rather than a foregone conclusion.
Some stuff belongs in the cloud. Some stuff doesn’t. The companies figuring out which is which are the ones saving money.
What’s your experience? Still all-in on cloud, or have you started bringing things back? I’m curious what workloads people are finding worth repatriating.