DEV Community

AWS vs Azure vs Google Cloud

Ben Halpern on May 26, 2020

In the second post of this compare/contrast/debate series, I present the biggest cloud platforms.

You're welcome to pick your favorite and debate it out, but comments comparing the major differences are very welcome. 🙏

Collapse
 
rrampage profile image
Raunak Ramakrishnan • Edited

I have used GCP and AWS so far... I favor AWS slightly over GCP.

GCP

Pros:

  • Cost
  • Browser SSH for quick debugging (cloud shell)
  • Instant resizing of disks, memory for the compute instances
  • Cloud Pub/Sub is great
  • Firebase is useful for prototyping

Cons:

  • Support. They need to improve this and be more customer focused.
  • Reliability - There have been a few incidents where their network was down. But they have been quite stable since.

AWS

Pros:

  • Reliability - The best among the major cloud provider
  • Support - They understand customer pain points very well. Even their free tier support is helpful.
  • Documentation - Comprehensive and generally up to date
  • They have never killed any existing service. Even deprecated ones are still around though customers are discouraged from using them.

Cons:

  • Cost - AWS is generally more expensive than GCP
  • Calculating costs - Sometimes I feel we need a PhD in Cloud Economics to calculate AWS bill especially with Lambda, API Gateway, Cloudwatch.
  • Too many services with weird names or acronyms. Keeping track of them can become cumbersome.
Collapse
 
vacom profile image
Vitor Amaral

This here "Sometimes I feel we need a PhD in Cloud Economics to calculate AWS bill " is so true. 😂

Collapse
 
madebygps profile image
Gwyneth Peña-Siguenza

If you're a Windows shop: Azure > AWS > GCP.
If you want to get started learning in order to get a job: AWS > Azure > GCP. There's just more jobs and documentation on AWS than the others, though Azure is catching up quickly.
My personal favorite is Azure, the UI and support has been way better to manage than AWS. GCP UI is overcomplicated.

Collapse
 
xowap profile image
Rémy 🤖

The AWS UI feels like a cold bath of austerity and hardships but in the Azure UI you replace water with liquid nitrogen... Every time I used it I got countless errors on literally everything I did.

Collapse
 
efrancis profile image
e-francis

I started with GCP,. Now Azure

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

AWS > Azure > GCP

Collapse
 
simonhaisz profile image
simonhaisz

This certainly aligns with marketshare

Collapse
 
jacoby profile image
Dave Jacoby

Accepting this as the Codd's honest truth, I would like to hear more explanation about why. Capability? Complexity? Cost?

Collapse
 
somedood profile image
Basti Ortiz

Well, that was straightforward... 😂

Collapse
 
decentgradient profile image
Joseph Friedman

Can you elaborate?

Collapse
 
filibit profile image
Filip Biterski

I've just published an app on AWS with cloudfront distribution. What I can say is, even though many claim it's very complicated, it's surprisingly well documented. I registered a domain, uploaded files for a static site on S3, and setup a cloudfront https distribution in a day.

Collapse
 
harveyhalwin profile image
Heinek Halwin

Also the caching capabilities of the cloudfront network at their edge locations. 👌🏻

Collapse
 
dtinth profile image
Thai Pangsakulyanont

I use both AWS and GCP.

On GCP I use:

  • Cloud Speech-To-Text. I don’t see any competitor that gets it more accurately than Google.
  • Firebase Realtime Database. I don’t see anything that’s more simple to use.
  • Cloud Run. I don’t see anything like this on AWS. Tried Fargate before but the last time I tried, for a large container, it times out booting up. I don’t see any real competitor for Cloud Run yet.

On AWS I use:

  • Cloud9. I like it that I can choose from a whole catalog of EC2 instance types and pay just for the EC2 price. Cloud9 auto-shutdowns the EC2 instance when unused, so an $80/mo machine ended up costing me just $20/mo. I also use Cloud9 to develop projects running on GCP. I tried Google Cloud Shell but for me it’s not a good substitute.
  • Lambda. The last time I benchmarked it (by invoking simultaneously thousands compute-intensive functions) I found Lambda to be the most stable.
Collapse
 
geshan profile image
Geshan Manandhar

Cloud Run is amazing.

Collapse
 
xowap profile image
Rémy 🤖

AWS — Does everything, super complex because super complete, state of the art

GCP — Slightly simpler, full of Google-specific quirks

Azure — Ow gawd will I ever manage to create an account? How many errors 500 can a mainstream cloud provider get per second? Does anything work in there?

Collapse
 
idoshamun profile image
Ido Shamun

A GCP fanboy right here. Their Kubernetes as a service (GKE) is #1. I think GCP is super under rated if you look at the cost and the services that you get. Also their dashboard is pretty straightforward compared to AWS and Azure where I can never navigate properly.

Collapse
 
vacom profile image
Vitor Amaral

You're right the GCP dashboard is the most simple and organized, but Azure is not far away, AWS is a mess

Collapse
 
efrancis profile image
e-francis

Can't agree less

Collapse
 
sirseanofloxley profile image
Sean Allin Newell

👏 Let's 👏 go 👏 multi 👏 cloud 👏.

Collapse
 
tiannymonti profile image
Tatiana Barrios • Edited

Hi all!

I would say AWS > GCP

Favorite thing from AWS: Lambda, S3 + Cloudfront. There you can get a web app up and running in less than a day.
Favorite thing from GCP: Shell console and Kubernetes :)

I hate from AWS: Pricing... ugh
I hate from GCP: The UI is kind of complicated, it's like they are stashing a lot of stuff in little space.

I have never used Azure, even though I'm open to <3

Collapse
 
brianmcbride profile image
Brian McBride

I'm late to the conversation here.
The GCP FIrebase tools gives you a web app that offers WAY more features (like auto certs, HTTP2, etc...) and you can have a deployment going in about 15 minutes.

Seriously, check out the Firebase CLI tools. Just create a project with hosting and cloud functions and you have a simpler version of Lambda/S3/Cloudfront. HUGELY easier.

In the end, they both work. And Cloudfront has some better rules for things like IP filtering.

Last, I guess if you are used to AWS you might find it easier. I work with both daily, so I am used to both. GCP is sooooo much better in the UI. They also have APIs for everything and the GCLOUD command tool has full coverage. Someone new to the cloud providers, GCP is super easy.

Collapse
 
calvincty profile image
Calvin Chong

Agree with UI AWS > GCP, both navigation is mess but GCP make it worst. I use search which is much faster to locate what I want, AWS search result is straightforward

Collapse
 
sir_wernich profile image
Wernich ️

azure is by far the best one i've used so far*

*i've only used azure. :D

we use azure devops at work for source control with git and last week i decided to give the extra bits a whirl, so now i'm busy reading up on pipelines and deployment and so on (having tons of fun with their learning paths). also, i committed to doing a showcase this friday about using azure pipelines to build and deploy a docker container when a PR succeeds...

Collapse
 
vitale232 profile image
Andrew Vitale

Nice! Similar situation here. My company has a Visual Studio Pro account for each dev, which comes with $50 worth of monthly credit in addition to the DevOps pipelines/artifacts. Just started playing around with Blob Storage and their CDN. It's quite nice, but I do prefer AWS a little bit. First love, I guess 😍

Collapse
 
shaijut profile image
Shaiju T • Edited

I have used Azure to deploy web apps.

I have used AWS to create a VM.

  • Azure has user friendly UX, its easy to understand.

  • I heard that AWS is costly than Azure.

  • Recently in Microsoft Build 2020, they announced new AI supercomputer .

  • AWS to Azure services comparison is handy to compare as required.

Collapse
 
charlesdlandau profile image
Charles Landau

I can't stress this enough: the differences are not always dispositive!

I am often dealing with someone who has already chosen a cloud, has data in that cloud or an enterprise agreement. Data/cloud "gravity" has set in.

On the merits in isolation?

AWS: market share
Azure: Corp IT
GCP: Predefined workflows (e.g. Firebase family, BQ warehouse)

Collapse
 
fayaz profile image
Fayaz Ahmed

I use Digital Ocean for my small projects & I even recommend it to my clients.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

VM aka DO Droplet is not for everything. Kubernetes in DO should be similar to other providers.

GCP also have GCE, and AWS LightSail.

However, Google Cloud Run has the most simplified workflow. Has to use Docker, though.

Collapse
 
sirseanofloxley profile image
Sean Allin Newell

I'm swimmin' in the droplets.

Collapse
 
omar16100 profile image
omar shabab

Certified with both GCP and AWS

GCP UX > AWS UX

At least, I love cloud shell and cloud9 doesn't cut it.

That said, I have a slight preference for AWS because of the community

Collapse
 
gusgonnet profile image
Gustavo

I used AWS years ago and it was ok.
I've been using Azure for many years now and it's fantastic.
I've been using GCP and in particular Firebase for a couple of years now and it's incredible.

What I remember as a huge pain with Azure and wouldn't want to go through it again is their active directory and the integration with a web app. A REALLY BIG PAIN.

Firebase (on GCP) makes your users login very simple and this is what I use today if I have the chance.

Cheers!

Collapse
 
stegnerd profile image
Dalton Stegner

Yes! I just did a spike on switching from Auth0 to AAD B2C for our tokens and it was hell

Collapse
 
gusgonnet profile image
Gustavo

darn, I was hoping that it would improve over time but apparently no...
thanks

Collapse
 
eff917 profile image
eff917

Aws vs Azure:

AWS:
It's fast, has everything, but it's like a box of Legos. You are the one who has to figure out what connects where, and build your skyscraper from tiny blocks.

Azure:
Has almost everything, but there are some missing pieces. Also it can be really slow ( vm deployment 5 minutes, but if you ask for 50 in one go, it could take 20 minutes as you only get them when ALL resources are allocated...).
On the other hand, there are nice examples and baseline scenarios, and the gui can be helpful.
Another negative would be the multitude of admin options for each service, just like in o365. Try generic admin. Not there? Try service related admin page. Not there? you'll probably need to go to azure cli.

Collapse
 
thewebsitenursery profile image
The Website Nursery

AWS is an absolute mess! Calculating your monthly cost is close to Alchemy or possible witchcraft. Also whats with all the random names for simple services. On the plus side its reliable and solid once you have learned that EC2, RDS, Route53, S3 = Instance, Database, Domain Management, Storage.

The azure portal is much cleaner than AWS and the quickstart templates are awesome. github.com/Azure/azure-quickstart-...

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

Two of my emails are killed on AWS now. (via deleting the account.)

Collapse
 
greenreaper profile image
Laurence 'GreenReaper' Parry

I just finished my first month's trial with Azure, having used AWS for a year before and also using GCP's free instance for Munin monitoring. All three have value, but you have to pursue a multi-cloud strategy and marry it with non-cloud assets for the best results.

If you're looking to be cheap, GCP's free offer excels if you are smart and know how to make the best of what you are given (e.g. you only get 1GB/continent free transfer out per month from your GCP VM, but route that through an app service and it becomes 1GB/day). But you have to work at it.

Azure gives you double the VMs but with the cost that one is running Windows. You can also set up one app service per region, which means 5GB/month per region - some of which are quite pricy for transfer or VMs normally.

All three are too expensive for media serving, which is best handed to dedicated hosting providers such as OVH and LeaseWeb - or if your needs are smaller, various VPS hosts (Vultr, Host1Plus, Civo, Atlantic.net, LayerStack - be wary of SSDNodes, they aggressively trim using the memory bubble to the point of causing increased latency).

Not previously mentioned in this comparison are Oracle Cloud (which has a very generous free offer, if you can actually get the services they are offering and want them in a specific home area); IBM Cloud, which is in various locations that may be useful to you and has DB2 linked to its own app services, as well as object storage; or Alibaba Cloud (which I have not yet tried out myself).

Collapse
 
akashkava profile image
Akash Kava • Edited

Azure is super simple, but love for Aws and Gcp is biased, most lovers are Microsoft haters irrespective of actual feature comparison.

I stay away from Gcp as Google is known to sneak and steal your information. A company which is built upon such privacy invasion foundation. I can never trust Google solutions.

I use Aws for SES, it’s only cheapest mail sending solution compared to none in Azure, for everything else Azure is better. Azure is primary cloud and Aws is storage backup.

Azure is real simple for Windows users, Aws is little complex, but familiar to Linux users.

Collapse
 
quinceleaf profile image
Brian Ibbotson • Edited

My last employer had no direct need for serverless plus a strong reluctance to spend, so I haven't used them to date.

Now that I'm unemployed, have found that ~90% of the job postings (frontend, backend, full-stack, data science, ML, you name it) require or heavily screen for serverless skills/experience.

So will be picking up serverless soon, have been looking quickly at all 3 trying to decide where to invest my time.

At least as far as the job postings go, it seems pretty clear, about 7:3:1 AWS:Azure:GCP ratio.

Collapse
 
startdowndev profile image
startdowndev

I would have loved to say something more surprising than "Google has the best cloud" but here we go 😭 I find it easier to use. When GCP apis are not so good it still match my logic when I code not so good apis so I always get back on my feet 😓 . It's the fastest to get to work for me. AWS comes second it's more difficult but it has its own version of every great opensource project. DynamoDB is great. My worst experience is Azure I dislike its UX, each time it required too much work to get something running. It lacks magic and I end up typing / copy-pasting commands in a terminal way to soon for my tastes. It has a lot of data-centers located in interesting places. Those three have a really big service offering so I'm far from having tested everything 😣 .

Collapse
 
alanmbarr profile image
Alan Barr

For enterprises I have seen Azure and AWS playing very nicely with all the governance and control required. I've heard that GCP, once you get to a certain size can become unwieldy. There are some differentiators some others have listed in the comments that might be more of a draw for your use case.

Collapse
 
twigman08 profile image
Chad Smith

I don't know enough about Azure, but did deploy a couple demo apps back when I was in school and it was simple. But that's been like 4 years now I think.

I mostly use AWS right now, but that's mostly because what we use at work. I find it a bit too complex really. While I understand their very small services that are meant to do one thing makes it so you can combine different services to make a powerful system, I find it very complex to get started with just to make something simple. Plus I really don't like how hard it seems to be too get good pricing information for a lot of their services.

I actually do have an application that uses a mixture of AWS and GCP. I have the application and it's database on AWS but do some OCR and storage on GCP as I found it just flat out nailed what I was trying to do. Other than though I mostly find the UI weird. Some things seem easy then some things seems very hard to navigate (then again I don't know if any cloud platform has it right).

I need to do more research on Azure though. I hope to learn more about it soon.

Collapse
 
brianmcbride profile image
Brian McBride

This is what I tell new people coming to the cloud:

AWS: First to the market, has the most offerings in the PAAS. Because it was first, it is also burdened by a funky UI and AIM. Like the Amazon store, you have access to just about everything you could want - but it's not always consistent quality. Documentation can also be hit or miss.

Azure: If you are a shop that uses Microsoft servers and you need to lift and shift - there isn't anything better. Microsoft also has some cool unique PAAS offerings. CosmosDB is very cool for example. The UI experience for someone new is good with Microsoft and their documentation is also solid. Azure, like all Microsoft products, is usually a good thing to use. Also, Azure is trying hard to unseat AWS, so there is effort in innovation and pricing.

GCP: Easiest UI by far. Less PAAS offerings overall, but nothing missing where it counts. Lots of 3rd party integrations to fill the gaps too. GCP has made it easy for vendors to add to their marketspace. When you do find a feature you like, Firebase, Cloud Run, Kuberneties, etc... they are usually pretty damn awesome. For instance, the Firestore database with realtime queries is very unique. Firebase Auth is the best auth system out of the box (and it's nearly free!). But, like AWS has their version of Kafka - GCP only offers a more simple Pub/Sub. If you want Kafka, you have to use the Confluent service from the marketplace.

Of course, everyone's experience will be a little different. Because I work for a service company and have to use all these cloud providers in many ways - I tend to find the areas of poor documentation where others on a more predictable "happy path" might find AWS docs fantastic. Honestly all of them will be gret.

Since I believe in having an opinion, I will say that anytime I start a new project to work on some tech, it is always in GCP unless there is a specific feature I need from another provider. Cloud Run is awesome - love it. Firebase Auth is super awesome. And I like Firestore more than DynamoDB. I do wish that GCP had a version of MongoDB (AWS has DocumentDB and Azure has Cosmos), but if I really need that NoSQL I can use that 3rd party thing again and turn on Mongo's Atlas.

And, if you are building a mobile app, I strongly feel that the Firebase line of tools still beats AWS and Azure's tools hands down. (at least today)

Collapse
 
v6 profile image
🦄N B🛡 • Edited

Bah! Fie!

They all suck. The only reason devs migrate over to them, often enough, is poor internal organization (no one wants to wait 6 weeks for the VMWare guys to "provision" the 2 VMs needed for a load test) and new, sillier ways to manipulate markets & product management.

The blockchain bros are already hacking away at the clay feet of these 3 edifices.

And the sooner they become obsolete the happier I'll be.

Collapse
 
bawa_geek profile image
Lakh Bawa • Edited

I use digital ocean for simpler pricing structure 😄

Collapse
 
aswathm78 profile image
Aswath KNM

@ben If possible start a thread for Dokku vs Heroku !!!!

Collapse
 
rasensio profile image
Rodrigo Asensio

Maybe as a customer you ended up using a few services and never notice that there is a service by the minute to control satellite comms. And that is OK. Was built for other customers who needed it.

Collapse
 
ilyasit83 profile image
Ilyas F

Great to see interesting and healthy debate on cloud seevices... check out the cloud service comparison website to learn more...
PRs are welcome.
httpp://comparecloud.in/

Collapse
 
esilver profile image
Eli Silver

Just to add to the discussion: BigQuery is amazing! switched from Redshift and it feels like switching from driving a Subaru to a Bentley :) Huge win to GCP in my book

Collapse
 
tfutada profile image
Takashi Futada

I use GCP now but moving to AWS for ML, SageMaker blazingText.

Collapse
 
amsmart profile image
Emmanuel Oluwagbemiga Adebiyi (Smart)

I've used BOTH Azure and GCP and Azure is the clear winner for me