Migration

What relying on a single small provider teaches about vendor risk

A single API dependency is easy to overlook precisely because it works quietly for a long time. A geocoding call that has returned correct results every day for two years does not feel like a risk; it feels like a solved problem. The risk only becomes visible the day something changes on the provider's side, a discontinued endpoint, a pricing restructure, a company acquisition, or simply a service outage, and by then the cost of having no alternative in place is already being paid in a scramble rather than a planned migration.

Smaller providers carry this risk more acutely than larger ones, not because they are less reliable day to day, but because they typically have less redundancy in their own operations and a business model more sensitive to any single large customer leaving or any funding change. That is not a criticism of any specific smaller provider; it is a structural fact about company size that applies to plenty of otherwise excellent services.

The practical lesson is not necessarily to avoid smaller providers. It is to build an architecture that does not assume any one provider is permanent, regardless of size. A few concrete habits help:

  • Keep provider-specific logic behind an internal interface in your own code, so a parsing function reads from your own normalized data structure rather than directly from a specific provider's field names scattered across the codebase
  • Periodically test that your integration could actually move, even if you have no plan to move soon, since an untested assumption of portability is not the same as real portability
  • Track what a full migration would cost in engineering time as a standing piece of institutional knowledge, not something calculated for the first time in a crisis

A compatibility-based approach changes this calculation somewhat, because it reduces how much of the migration cost lives in your own parsing code. My Geocode runs 17 compatibility hosts reproducing the exact request and response shape of major providers including Google Maps Platform, Mapbox, HERE, ipstack, and others, documented at /compatibility/, which means the riskiest part of a forced migration, rewriting parsing logic under time pressure, is often avoidable if the provider you are leaving happens to have a matching compatibility host already available.

That said, the deeper lesson about vendor risk holds regardless of which provider or platform you use, including this one: the healthiest position is one where switching is a real, tested option rather than a theoretical one. Running a small trial against an alternative provider before you need to, even for a fraction of your traffic, converts vendor risk from an abstract worry into a concrete, rehearsed capability. It costs relatively little to test, and the return only shows up on the day you actually need it.