One Cloud // Multi Cloud // No Cloud
The ultimate debate that I don't think will ever be solved. Do companies go all in on one cloud, multiple clouds, or just take an on-premise approach?
One Cloud
So choosing one cloud is probably the most common solution that is seen today. This is purely just going with AWS // GCP // Azure and not looking back. Overall this can work out well. Let's be real a lot of startups choose their cloud based off of which one gives them an insane amount of credits.
This can always seem like a great thing at the start and it normally is. However it eventually starts to turn sour when that one unexpected bill pops up. Then all of a sudden there are concerns. But people have worked their way into that one cloud fully by leveraging very specific services offered by that cloud. Then it is hard to do different things or pivot around.
Multi-Cloud
Ok. So we have determined that One Cloud can be bad so let's do multiple. Well now we have to write code multiple ways or we have to be very platform agnostic with our code which could increase costs. Plus there are going to be more internet transfer costs because we either have to be constantly replicating data or reaching across the different clouds.
No Cloud
Ok. The cloud is bad we are just going with on-premise. Well now you have lost all of the elasticity that you have with the cloud and are completely dependent on how much compute resources you have in your rack. Not the end of the world but something to think about.
So what is the solution?
There isn't one is the short answer. Overall going with the cloud or going with on-premise have their downsides. Being comfortable working across multiple different options is the most ideal way, but can also be very taxing to keep up with everything.
Personally I prefer on-premise. The only reason being that I can have a little more control and it removes a lot of the variable cost that is not a fun thing to deal with. However I do a lot of cloud work because it is very convenient for startups that don't have a lot of capital to set up a datacenter. It can get them going and running and be a great option long term.