That's why you don't make your systems dependent on any of those tools. If Mongo goes crazy, you add an implementation to another document database, test to see if performance is good enough, and start to migrate to another database.
There's no problem in using proprietary shit. The problem is marrying stuff you can't rely on, building your house on land you don't own.
That's also one of the reasons why it isn't good to use very unique features from any service, because once you start relying on it, you get locked, AWS may have a billion services, i would normally only use those that other providers also have.
Yup, wrappers for everything you didn't build yourself. That way when you inevitably have to switch vendors, you can simply write a new wrapper using the same interface, minimal changes necessary
That's why you don't make your systems dependent on any of those tools. If Mongo goes crazy, you add an implementation to another document database, test to see if performance is good enough, and start to migrate to another database.
There's no problem in using proprietary shit. The problem is marrying stuff you can't rely on, building your house on land you don't own.
That's also one of the reasons why it isn't good to use very unique features from any service, because once you start relying on it, you get locked, AWS may have a billion services, i would normally only use those that other providers also have.
Yup, wrappers for everything you didn't build yourself. That way when you inevitably have to switch vendors, you can simply write a new wrapper using the same interface, minimal changes necessary