I've played with Azure and it's terrible. If a client wants me to use Azure instead of Google or Amazon, I literally charge a premium because it's so much more painful.
I don't see how anyone could possible claim GAE or similar offerings from Google compete anywhere close to what Microsoft or Amazon is providing.
My take on it between Amazon and Microsoft: Microsoft has less functionality but with an easier UI. Amazon is light years ahead of anyone but their UI scheme (from naming things to where they position features and options) is pretty lack luster.
These days, GCP completely blows away AWS in every area where they overlap, especially VMs, networking and cloud storage.
GCP is generally a lot more consistent and modern, having benefited from a clean-slate design and Google's expertise in designing huge continent-spanning infrastructure solutions. Some examples:
* AWS Glacier looks pretty nifty until you realize that Google's equivalent, the coldline storage class, still gives you millisecond latencies (Glacier's is usually measured in hours), at a much lower price point.
* GCP is designed to automatically migrate VMs between physical hosts, with zero application downtime. This in turn is possible thanks to their rather amazing network stack, a completely transparent, encrypted L4 SDN. AWS, meanwhile, suffers on the awkward mess that is AWS VPC (unless one is still stuck on "legacy EC2").
* Google gets things like consolidated billing correct from the start. Other minor things like IAM management and the command-line toolchain are a breath of fresh air.
Not to say that it's all rosy, of course. GCP has its own set of issues, like any product offering, though no major ones come to mind. But it's clear that some of their services (the StackDriver tools comes to mind) are not up to their usual quality standards.
Of course, Google doesn't have counterparts to all of Amazon's offerings, but then AWS has a lot of odd products (much of it targeting enterprises with legacy infrastructure). Google's focus on Kubernetes and containerization means that some of the deployment-oriented services (CloudFormation, Elastic Beanstalk and so on) are less relevant, and for now Google seems to rely on the community/third parties to come up with their own solutions, which I think is a good call at the moment.
Another cool thing I've experienced with Google Cloud: a while ago I had a VM running, with the default 7.5 GB RAM for a 2 CPU VM. Then when I came back some days later, I got a message saying that the VM had only been using ~3GB of RAM, and that I could save money by reducing the VM's RAM, by clicking "this button". Then I clicked the button, the VM's RAM was reduced and, if I recall correctly, it didn't even require a reboot.
That's not only technically impressive, it's also really good customer service.
You can't resize running VMs — Google is good, but not that good. You can stop, resize, and start again, which is still better than AWS (unless they support changing the instance type now). I suspect that the button you talk about did that.
It most likely is out of date, but I've continued to see the same sentiments echo'd from other people recently, so haven't bothered to fully revinvestigate. I got the impression from my time with Google's offerings that their culture of "we're consumer focused, not devop focused" (anything from API's to reporting) completely plastered their offerings in the cloud space.
>most also support GCP, but very few support Azure.
This might be a case of different tech stacks, but nearly everything I work with supports Azure. Sorry to ask this, because it might be easier for you to provide an example or two what you specifically know doesn't work with Azure versus me providing everything that does (and of course, these should be semi-popular tools in whatever "stack").
> I got the impression from my time with Google's offerings that their culture of "we're consumer focused, not devop focused" (anything from API's to reporting)
Huh? What does "consumer focused" even mean in the cloud space?
Google has made a substantial effort to buff up their cloud offerings in the past few years and it definitely shows. (AWS is still my first choice though.)
> This might be a case of different tech stacks,
That's true. If you're working with a Microsoft stack then of course Azure will come out ahead. I'm coming from a generic Linux background.
>What does "consumer focused" even mean in the cloud space?
Nothing. It's their general company culture. They don't tend to actually create good API's/tooling in my experience. It always seems like an after thought. From google maps to their cloud offerings.
>If you're working with a Microsoft stack then of course Azure will come out ahead. I'm coming from a generic Linux background.
I work with Linux and Microsoft stacks on a daily basis, but certainly that could just mean I've chosen tools that explicitly won't conflict with each other. However, I'm still interested to hear what tools don't work with Azure (with the assumption that there is some quality about Azure that prevents/disincentives that tool from doing so).
GCP has enough to handle a lot of cases. Just because it doesn't have some hacked-up version of Elasticsearch-as-a-Service doesn't hurt its value.
Azure has tons of stuff thrown all over it. The UI is absolutely terrible. It's some weird tablet-esque thing that flies out to the side and requires so much clicking around. It's slow. And it's overpriced. AWS's UI, while involved, at least isn't someone's let's-resurrect-Windows-8-UI project.
I know two companies that get tons of free Azure credits, yet still pay for GCP in production just to avoid dealing with Azure. If GCP slowly keeps adding features while keeping simplicity and speed, they're going to make huge strides against AWS and Azure.
What are the problems you have the most with it? I've been working with it for a couple years now and despite a clunky interface (and the bifurcation of the two portals) the infrastructure has seemed pretty solid and has saved us (small dev shop working for small/medium companies) a ton of time and money. For most things (spinning up a new env with databases, redis caches, storage accounts etc) it is remarkably easy once you get used to the process and occasional workarounds. Granted I haven't used the other cloud services and I want to do that on my own time just to have a point of comparison.
I find myself being really suspicious whenever something being used by thousands or millions of people is just waved off by other people as being terrible. To me being "terrible" usually translates as "I started with something else and it works differently than this and its what I'm used to has its own failings and workarounds but I'm at least used to them and more productive there and I don't really feel like taking the time to get used to how things work for this other system."
It's been a while since I last used Azure, but here are some of the bigger problems I remember:
1. No managed option for MySQL or Postgres hosting.
2. Hard to find resources in the panel and lots of confusion on security practices.
3. Instances randomly dying at an astonishing rate.
You're right that "terrible" is hyperbole. I'm sure there are people who are happy with Azure, especially if they're using a Microsoft stack.
Your translation of "terrible" is how I feel about GCP: it's fine, but it takes me longer to do things because I'm familiar with AWS. Compared to Azure, where I would spend hours on trying to do something and still couldn't find a way to do it.
Well, for #1, is that really surprising when they offer Azure SQL Server instead? And they offer a NoSQL option as well (two, if you include their DocumentDB service).
#2 probably more depends on what you are used to.
#3 I can see being a problem, although I haven't seen it myself. I've had 3 servers running for over 6 months now and they haven't died once.
Just because the suck isn't surprising doesn't mean it's not there.
Like I said, if you're interested in the Microsoft ecosystem then Azure is probably great. I'm not. For running an open source stack, Azure is not competitive with AWS and GCP.
My take on it between Amazon and Microsoft: Microsoft has less functionality but with an easier UI. Amazon is light years ahead of anyone but their UI scheme (from naming things to where they position features and options) is pretty lack luster.