For example, Azure was a consideration for our "not AWS" cloud provider until we tried to use custom Linux images with at rest encryption on the root volume. It's simply not supported and there was no viable work around. There was also no ETA for adding in support for this non-negotiable customer requirement. This is why we moved onto evaluating GCP. So far it has been pretty great and it is checking a lot of our requirements that Azure either fell short with or flat out didn't support.
Microsoft's bread and butter was always the Fortune 500's and I have the impression that's where they're making most of their Azure sales.
I did a fair bit with AKS. It had a lot of shortcomings that would take a while to go into. They ended up suggesting I use ACS-engine.
There are some products that are neat, that I haven't really used at scale, but seem good. Most of the bigdata stuff is pretty legit based on my limited usage.
The customers of my employer are large enterprises. Azure definitely has penetration there. I only have a small sampling, but many of them end up leaving Azure for AWS.
None of them are really considering GCP.
- when scaling nodes, didn't get the desired count
- creating and deleting clusters takes a while (30 minutes)
- cluster operations get stuck in a loop
- disappearing node did not bring up a new node
- external management setup was difficult (GKE assigns publicly reachable IP by default)
- changing SSH user or key through azcli or GUI didn't work
- default storage class wasn't set
- admission control disallows deploying a registry in kube-system
- nodes randomly go into notready state
- no ability to add new node pools or modify pool without destroying cluster
This was all prior to GA.Azure VMs are way behind compared to EC2 IMO. Burstable VMs (the cheap ones) aren’t available in all data centers or for all images (which they call SKUs), storage accounts are weird, provisioning times are slower, their cheapest instance types (Standard_A) are REALLY slow, documentation is confusing, extremely spread out and contradictory at times, account management via Azure AD is way more confusing than IAM at least at first, their auto scaling service (scale sets) is less flexible than AWS autoscaling, etc.
Also, Microsoft and HashiCorp are pretty much the only maintainer of the Packer and Terraform providers. The difference in commit history between the ARM provider and the AWS provider are stark. This means that when you encounter bugs or cryptic errors from the Azure API (which will happen), you’ll be waiting a bit for a fix, even if you cut the PR.
The other thing with Azure is that every large company uses it for Windows workloads because they get massive discounts and tons of credits
Microsoft is repeating what they did with NT — owning identity. They reel you in with Office 365 and when you need controls convert you to Azure AD. Once that happens, Azure is a no-brainer.
Also, every company with an EA has a contract vehicle for Azure... just add water!