When Staying Locked In Is the Right Call
Sometimes staying locked into a platform is the right call. Here is when the migration math says leave but the smart move is to stay put anyway.
I self-host most of my stack and I argue for owning your infrastructure constantly, so this will sound strange coming from me: sometimes the right call is to stay locked in. Lock-in is a cost, not a sin. If leaving costs more than staying, and the risk of staying is bounded, you stay. The mistake is not being locked in. The mistake is being locked in without knowing it, or leaving out of principle when the math says do not. Ownership is a decision. Sometimes the decision is to keep renting.
When the migration never pays back
Every migration is an investment with a payback period, and some never pay back. If a platform is cheap, stable, off your critical path, and not growing, the savings from leaving are small and the cost of moving is not. The payback math on that migration might be five years, which is another way of saying never. Leaving a system like that to prove you are not locked in is vanity, not strategy. You spent real effort to save nothing.
The systems worth leaving are the ones where cost or risk compounds: your core database, your primary application, anything where usage-based pricing scales against you. A peripheral tool that costs forty dollars a month and never changes is not where your ownership energy belongs.
When you cannot run it to the bar
Self-hosting is only ownership if you run it well. If leaving a managed platform means running critical infrastructure below the standard your business needs, staying locked in is the responsible choice. A managed vendor with real security, audited backups, and uptime you cannot match is worth the lock-in when the alternative is you firefighting at 3am. I make this case fully in when managed hosting is the right call. The question is never "can I self-host this," it is "can I self-host this to the standard it demands." If the answer is no, rent it and stop feeling bad about it.
When the switching cost buys you focus
There is an opportunity cost people ignore. Every hour spent migrating is an hour not spent on the thing that actually grows the business. If you run lean, your scarcest resource is attention, and a migration is a large withdrawal from it. Staying on a good-enough platform so you can keep building is often the higher-return decision. Running twenty companies solo, my default answer to new infrastructure work is no unless the payoff clearly beats what I would otherwise ship.
How to stay locked in safely
Staying is fine. Staying blind is not. If you decide to remain on a platform, cap the risk deliberately.
Know your exit even if you never use it. Keep an exit plan for the vendor documented and current, so a sudden price hike or acquisition does not catch you flat. The plan being ready is what makes staying a choice instead of a trap.
Keep your data portable underneath. Even on a platform you plan to stay on, pull a real export on a schedule and confirm it works. If the vendor gets acquired, a working export is the difference between a calm response and a scramble.
Watch the trigger conditions. Write down what would change your mind: a price above X, an outage pattern, a growth threshold where the revenue crossover for self-hosting tips. Then you are not deciding to stay forever, you are deciding to stay until a specific line is crossed.
The real principle
Own your stack does not mean self-host everything today. It means control the decision. A person who has run the payback math, knows their exit, keeps their data portable, and chooses to stay on a platform is more in control than someone who self-hosted everything out of ideology and is now drowning in ops. I keep my core on infrastructure I own through HostSSH because for that layer the math and the risk both point to owning. For plenty of other things, I stay put, on purpose, with a plan. That is what ownership by decision actually looks like.