Vendor lock-in is a cost of doing business
You can spend a year designing around vendor lock-in. Or you can use the best tool, ship faster, and accept that switching costs are part of the trade.
Engineering teams obsess over avoiding vendor lock-in. They build abstraction layers, refuse first-party features, and stick to lowest-common-denominator interfaces. The cost of that effort is enormous, and the benefit usually never materializes.
Lock-in is real but usually overstated
Yes, switching cloud providers is hard. But you weren't going to switch anyway — the migration would cost more than the price difference for years. The abstraction layer you built "just in case" cost you real time, every day, for years, against a switch that won't happen.
Where to actually worry
- Pricing power once you're deeply embedded.
- Critical data formats that aren't portable.
- Authentication identities that are hard to migrate.
- Vendors who are likely to go away.
The abstraction layer you built to escape vendor lock-in is the new vendor you locked yourself into.