3 ms·
> what if it was trivially easy? Yes, in theory that would be awesome...I think in practice, the limitations would be: - Cross-provider latency for micro-serv
by stephen 11y ago
> what if it was trivially easy?
Yes, in theory that would be awesome...I think in practice, the limitations would be:
- Cross-provider latency for micro-services that are interdependent (e.g. right now we assume everything is in the same AWS region)
- API compatibility/codebase coupling, as our code is littered with "new AmazonXxxClient"
- Feature parity would have to be near-100%...e.g. we use the regular things like EC2, S3, Dynamo, RDS, but also IAM and Kinesis (...and, and...). Not to say "oh you just need IAM & Kinesis", but that for any feature, current or future, that doesn't have a direct comparison across all providers, makes cross-provider harder to do.
- Increased devops complexity; different ways to get into machines, different places to look for logs, different places to look for metrics (CW), different logins, different admin UIs...
If you're team is focusing on this, these are likely things you've thought of...
I would not be surprised if "cross-provider" becomes like "cross-platform", technically possible but rarely done.
E.g. in the 90s cross-platform Microsoft/Apple/Linux (or today cross-iOS/Android/web) applications existed, if the programmers were very diligent, smart, and worked behind API abstractions that hid any platform-specific, platform-differentiating features.
...but in reality, 95% of programmers didn't, and were coupled to one platform or the other. And that was basically fine/just the way things were.