But it would be very cool to have details abstracted in a way that it would be easier to build architectures for several cloud providers with one diagram.
But it would be very cool to have details abstracted in a way that it would be easier to build architectures for several cloud providers with one diagram.
In my experience the only way to do this is to limit your service to leveraging the lowest common features of services that are common to each privider.
From experiences it's easy enough to abstract NoSQL (i.e. AWS DynamoDB and GCP Firestore) and Serverless functions (AWS Lambda and GCP Cloud Functions), although you need to write abstractions for them in your code.
I have no experience with ML, but I'd imagine that's where it gets a lot harder to abstract these out.
Both Microsoft [1] and Google [2] provide tables with their equivalents to AWS services.
[1] https://docs.microsoft.com/en-us/azure/architecture/aws-prof...
[2] https://cloud.google.com/free/docs/map-aws-google-cloud-plat...
Look for severless benchmarks on your favorite search engine. The performance and trade-off for what seems to be the same service are not homogeneous across providers. This could completely change your costs, and then your architecture. To compare cloud providers or build multi-providers cloud, you have to be careful at comparing apples and apples, or build some kind of simulator first