When you choose a managed cloud service, you're buying a promise: someone else handles the infrastructure, you focus on the product, you sleep at night. That promise sounds great on a sales deck slide, but when an experienced CTO examines the numbers, the dependencies, and what happens when you need to move - the picture looks completely different. This article is based on two posts I wrote on the topic. One about Reddit's impressive migration from the cloud to self-managed Kubernetes, and the other about the debate that followed around whether managed services are really worth the cost. Both posts hit a nerve - because this topic directly impacts your budget, your freedom of movement, and your ability to actually sleep at night.
What Reddit Did That Most Companies Won't
Reddit recently migrated their most sensitive system component from the cloud to self-managed Kubernetes. Without a single second of downtime across their entire product.
Most CTOs would say that's impossible. But when you look at what made it possible, you see a clear pattern that started long before the migration itself.
First, they avoided managed services from day one. They used only cloud VMs - not managed Kafka. And more importantly, they truly understood the internal architecture of that service, precisely because it wasn't managed. When you run something yourself, you understand what's happening under the hood. When someone else runs it for you, you only know what they're willing to tell you.
When the time came to move, they built on Kubernetes instead of vendor-specific tooling. They planned a four-stage migration process that grew out of deep familiarity with the internals of the component they wanted to move. This wasn't an impulsive decision - it was precise planning made possible because the knowledge lived inside their team, not with an external vendor.
The result speaks for itself: they can shift workloads between any provider - or even to their own machines - without rebuilding the entire product. While competitors locked themselves into AWS or GCP services, Reddit stayed portable and fully understood what they were running. While competitors did what looked most convenient on the surface, Reddit planned ahead.
"If You Can't Afford an Extra $10M a Year, You Already Have a Problem" - Really?
After I published the Reddit post, arguments in favor of managed services came pouring in. One of them was that if you've reached a scale where you can't afford an extra $10 million a year, you already have a problem.
I get the logic, but that argument is a half-truth. Which is worse than a lie.
It assumes money is cheap and that budgets aren't about trade-offs. But money isn't as cheap as it was when the training data behind today's AI tools was written. And the real question isn't "do you have $10 million" - it's "what are you buying with those $10 million".
I'm personally a co-founder of a bootstrapped product with several thousand daily users, where every dollar is measured. But even if you're backed by investors, you should probably operate the same way - so you can look in the mirror and say you acted responsibly. And of course, the argument flips entirely if your investors have a financial interest in strengthening managed services.
What $10 Million a Year Actually Buys
Let's break it down. If you're buying peace of mind - managed services have outages too, and you're still the one facing your customers with no sleep. A managed service doesn't actually buy you peace of mind. It buys you the illusion of peace of mind, because when the incident hits - and incidents always hit - you're dependent on an external vendor's response time while your customers are angry at you.
The critical question: could you have bought that same peace of mind by building the knowledge internally? Absolutely.
We're talking about the annual salary of more than 40 engineers. There's no scenario where hiring a solid mix of junior and senior engineers costs you more than that per year. And with 40 people you don't just get infrastructure maintenance - you get internal knowledge, solutions precisely tailored to your needs, a culture of ownership, access to a broader talent pool, and additional capacity for other initiatives.
If you're buying something else with those $10 million - it's worth asking: could you buy the same thing for significantly less?
Today's Convenience Is Tomorrow's Constraint
The pattern repeats itself over and over: a company picks a managed service because it's "quick to start". A year or two later, costs are climbing, the team doesn't understand what's running underneath, and then the moment comes when they need to move - and suddenly discover they can't. Your "quick" cloud setup today can become your biggest constraint tomorrow.
This isn't just about avoiding vendor lock-in. It's about preserving options when business needs change. Markets shift, regulatory requirements evolve, providers raise prices - and if you've built your entire infrastructure on one vendor's proprietary tools, you're essentially at their mercy.
Reddit proved there's another way. They proved that investing in internal knowledge and portable architecture doesn't just save money - it delivers real freedom of movement. The ability to shift workloads between providers without rebuilding the product isn't a privilege reserved for tech giants. It's the result of sound architectural decisions made early.
Takeaways
A few principles that emerge from this experience and the discussion around it:
Build portable from day one. Kubernetes and self-managed infrastructure give you freedom that a managed service never will. The upfront investment is larger, but it pays off the moment you need to move.
Know what you're running. When infrastructure is managed, the knowledge stays with the vendor. When you manage it, the knowledge stays with you. And internal knowledge is the asset that enables smooth migrations, fast incident resolution, and solutions precisely fitted to your needs.
Do the real math. Don't just compare setup costs. Compare total cost of ownership - including what you lose in flexibility, knowledge, and freedom of movement. $10 million a year on managed services is 40 salaries of people who can build something tailored to you, and keep the knowledge inside your organization.
Build portable and smart, not what's marketed to you as "convenient". The convenience of a managed service is real - at first. But as you grow, that convenience turns into a cage. And then you discover someone else is holding the key.
So what's your exit plan if your cloud vendor becomes too expensive?