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.