"Google cancels everything" is a meme, but AWS releasing broken pre-alpha products, letting old ones rot on the vine, and having crazy monetization schemes that are utterly inconsistent with marketing is not a meme, even though they do these things all the time. If GCP wants to win, they need to fix that, because "will I be blamed for the next shitshow" is the key question on every architect / purchasing manager's mind, and right now AWS is winning that battle to a degree that they do not remotely deserve because google is just MIA.
Hell, Google could coordinate with Walmart to hit AWS and Amazon at the same time because there is clearly, shall we say, a degree of cultural continuity between the Amazon and AWS business units.
"Let me get this straight, Google canceled a service and you didn't see it coming?"
^ this needs a comeback.
"Let me get this straight, you ran into another AWS scaling limit and you didn't see it coming?"
or something.
That was an instructive project - building the same service in three clouds tells you a lot both about:
- The quality and completeness of foundational services (identity, networking, compute, storage)
- The tooling ecosystem (the quality of the Packer builders and Terraform providers [1] in our case)
- How helpful (or existent) support is, which ranged from an account manager telling us up-front “here’s the way to avoid hitting limits for your design” to not being able to talk to a human at all throughout the entire project, and thus having to phase in beta customer onboarding for that cloud because of the arbitrary limits.
At some point that team should write a full retrospective on this.
[1]: Disclaimer - I have worked on both Packer and Terraform in the past at HashiCorp.
Technically:
- Google has the most reliable network, compute and storage (for a given size).
- AWS has the only comprehensible security model for identity, although it's still not complete (e.g. I can't grant a role assigned to an instance profile permission to `DescribeInstances` for itself only). I strongly believe IAM is the crown jewel of AWS, - but wish it would be completed to it's own potential.
- Google has the best "organisations" structure overall, though AWS Organisations is vastly improved over what it used to be.
- Azure's model for network peering between networks in different tenants is complete crazy town and will certainly result in outages when a customer disables the service account required to maintain it.
- Provisioning times in Azure are wildly variable - provisioning a VM with the same image in the same zone often had minutes of difference between fastest and slowest. The other two are much more consistent.
- The Terraform provider for Google is missing many data sources, and almost every type of resource we used needed patching in some important way.
- We had to build "surrogate" Packer builders for Google and Azure to make automation of scratch-build ZFS-on-root Ubuntu images with our platform customisations. I built the AWS version of that builder originally, so that was not much of a surprise.
From a support perspective:
- AWS and Azure were very willing to work with us in getting our service up and running even though we weren't spending a huge amount in the development phase, and it was easy to get in touch with someone to explain what we were doing and request advice.
- It was impossible to speak to a human at Google. Experiencing the kafkaesque automated account policies (e.g. "you can have enough cores to actually bring up a database cluster when you pay your invoice but we haven't issued an invoice yet because your account isn't a month old, and no despite being a company with a multi-year trading history you can't just put money on deposit to prove trustworthiness") actually prompted me to move my personal accounts off GSuite in case a problem ever arose.
Sadly the technical excellence of GCP in several important areas did not (for me) make up for the fact that they are impossible to work as a small business doing something that is not strictly happy path.
It's been a minute since I worked with AWS, but they have tons and tons of products. On the order of two, maybe three times as many.
The basic stuff like VMs, storage, networking, and managed postgres/mysql SQL databases are close, but the specialized services can be very different when you look at them closely.