Comment by torginus

3 days ago

Personally, when asking others about their opinions on various cloud providers, AWS tends to emerge head and shoulders above the rest for one simple reason - AWS works.

And the reason AWS works is that AWS runs on AWS (in stark contrast to Azure and GCP which afaik is not what MS and Google use internally). And when AWS doesn't work, support is there to help you.

To add nuance to this statement, the other providers have their own strengths and standout features, but if you have to approach every single one of their features with suspicion that means you wont build stuff on top of them.

I've also noticed AWS tends to have less "magic" global services and tends to favor cell architecture with partitions and isolation.

These super duper magic global services seem to be the cause of most outages since the blast radius is so huge.

On the other hand, the proposition of a magic, infinitely scaleable service endpoint is nice from a developer perspective.

  • Even on AWS, if you go for the managed magic version of the thing, they'll make you pay more, lose some flexibilitym and the relinquished control will change things in a way that benefits AWS (slower scaling, limitations, unnecessary overprovisioning, overhead).

    An example - if you scale things manually by provisioning and starting EC2 instances via API - it will be more performant and cheaper than either Lambda or ECS Fargate (or Batch...). But those things at least work reliably.

    With the other two cloud providers, you'll likely run into a bug you cannot fix yourself, and you will have no support to help you.