If you don't constantly switch the underlying provider for a service in your system then you'll get stuck in it.

· Bits and Bobs 7/1/24

You'll build up more and more functionality in the overall system that subtly assumes that it works in the one way, which will be load bearing and get increasingly heavy and hard to swap.

If you allow swapping out providers at that layer and support all of them it forces you to keep it flexible.

Allows you to keep swapping a live option.

However, staying flexible at that layer can be very expensive.

You have to constantly test the various options, and design an API to be the lowest common denominator across all providers.

Do you want to join yourself with that one provider, deeply commit to them, so you can go fast at that layer?

Or do you want to retain the option value, which will have ongoing cost throughout your system?

If it's an established service that is battle tested and has no competitors that are likely better options, committing to it is fine.

If it's a fast moving thing, even if there's one option that is head and shoulders ahead now, it's scary... what if alternatives catch up or surpass them?

More on this topic

From other episodes