This doesn't match my experience at all, from the inconsistent and weird horizontally-expanding OG-Xbox blades user interface to thrown-over-the-wall API libraries[0] to Azure AD being a complete waste of time and effort if you don't want them owning your entire directory (I'm sorry, I have to pay for Office or separate API access to manage users through Okta?) to real fun stuff like servers not recording restart or shutdown events in their audit logs if they were under load.
In fairness, I will say one nice thing about Azure: their CLI tools, under Powershell, are pretty good. I was impressed. Powershell Core is not, however, a good experience on a Linux machine, and while WSL2 is a lot better it's still not replacing my normal day-job workflow.
But it's been over a year since I had to use the comprehensively bad clusterfuck that is Azure, and honestly I'm still pretty mad about the experience. Azure is the one cloud provider that a company can't pay me enough money to work with. Well, one of two; there's also IBM Cloud, which, whoa-nope.
[0] - https://github.com/AzureAD/azure-activedirectory-library-for...
God do I hate this. I've given up hope that I'll get used to it at this point. I have yet to even figure out how it's supposed to help me, let alone find a way that it actually does. It's so very weird to seemingly no purpose. And someone had to put in a ton of effort to make it that way!
... but then I kinda hate all of the big 3 cloud web UIs.
I have been told, too, that the team that made it is very pleased with it. "Why" comes to mind.
I'm going to have to pull you up on consistency here - I find the blade UI very consistent (with a few exceptions, such as Function Apps). I always know where the toolbar will be, where header info will be, where the details will be etc.
The same cannot be said for AWS, where I sometimes wonder if the UI for each service has been created by separate teams in complete isolation.
Aside from consistency, I really like Azure's blade UI, but I recognise that it seems to be quite polarising. Also, if it was a few years ago you used it, you'd have a different experience now (I recall when the blade UI was first introduced, it had a lot of performance issues and weird UI glitches; it's performant and stable now).
> thrown-over-the-wall API libraries
I somewhat agree here, and I've fallen victim to this myself on occasion.
> Powershell Core is not, however, a good experience on a Linux machine
As much as I like the Windows and Azure ecosystems, I'm not a fan of Powershell's verbose syntax at all. I much prefer bash for scripting tasks, which works in the "Git Bash" tool you get with Git for Windows, as well as WSL. WSL is pretty amazing actually, but WSL2 can't come quick enough!
> the comprehensively bad clusterfuck that is Azure
I've been using numerous Azure services pretty solidly for ~3-4 years now, and I haven't encountered issues like those you mentioned. Their support is excellent too, although I've only used it a few times.
I work with AWS and GCP from time to time too (depends on what clients want), but Azure would be my first choice every time.
I fear for Red Hat.
Or on a Mac.
There is the Azure CLI, but it is pretty limited on what it can do. Both GCP and AWS have good command line tools (AWS can be awkward sometimes). GCP will even give you a CLI right there on the web console so you can run CLI commands even if you don't have them locally installed in whatever system you are coming from.
Assuming the provider won't break in mysterious ways, or that Azure won't return a 400 error for no discernible reason, you are better off doing whatever you can do from Terraform. And then you have a repeatable environment and won't have to remember Azure quirks every single day.
API responses are inconsistent, it has the slowest VM spin up time of the big three(also inconsistent). It has lots of confusing names for instances (and a shit ton of them), weird limitations on SKUs.
Anecdote: I almost threw my keyboard away once I figured out why the instances I had deployed suddenty lost network connectivity. I had added a load balancer pointing to them. Really. That's all it was. Once I did so, all traffic started flowing through the load balancer. What kind of design is that? And AFAIK you can only add one. That may differ between Basic or Standard load balancer SKUs, I don't remember, don't care.
On either GCP or AWS, one can attach as many load balancers they want, nothing else is affected, only traffic flowing through them.
That's just one example. Next time you try attaching some premium disk SKU to some non premium VM SKU (or is it vice-versa?) and a Premium/Standard Storage Account and the Azure API yells at you, you'll understand. The storage account has SKUs too. Premium cannot have blob storage. Or is it the standard that can't? Meh, I don't care. You have to keep track of all of this. Which may or may not be clear in the documentation.
Simple things like health checks terminating scale set instances automatically are not there. Heck, until some point in time you couldn't even terminate specific instances in a scale set. They have improved that.
You have to do a bunch of work to "generalize" instances for use in Azure. In true Azure fashion, the disk has to be a VHD (not VHDX). Image can only be up to 1023GB in size. Sizes must be aligned to 1MB. And probably more stuff.
At the end of the day, things will eventually work. Just budget between 3x to 5x extra development time versus AWS or GCP.
Do you have something to back that up? From almost everything I've heard, and most of the quantitative measures I've seen, they are strictly worse than AWS and GCP. As mentioned above, they are 2nd only due to their strong existing connections to enterprise.
> they are 2nd only due to their strong existing connections to enterprise
Those connections sure help, but only really for Microsoft-shops. As I mentioned, if you're already using AD, SMB file servers etc, then it makes a lot of sense since they have 1st-class support for these in the cloud.
Especially in networking, Azure is orders of magnitude worse.
- On CPU performance, Azure absolutely smashed it! - For storage read and write, Azure came second behind AWS - For TPC-C perf/$ all 4 providers had similar pricing for similar tiers. Note that Cockroach labs say this only takes into account on-demand pricing, so reserved instance pricing may differ
Yes, but this is just the same with Azure as it is with AWS.
> I don't see a lot of efficiencies between Azure, VSTS and O365
Efficiencies are certainly there for Microsoft at least, since all these services are hosted on Azure behind the scenes.
From the user side, yes, Azure, Azure DevOps, O365, Exchange etc each has its own admin portal/web app. But TBH I think this makes a lot of sense, and results in a better user experience, since each web app can be specialised, instead of having to fit everything into a single UI.
Azure DevOps has good integrations with Azure though, such as AAD for users and permissions, service connections, Azure-specific CI/CD tasks etc.
> AWS is still the best
Citation needed, and by what measure?
It's not just about licensing fees - it's also practicality. That, and Azure is actually really good (relative to the other major players, GCP and AWS).
If you're a Microsoft-shop, you use Active Directory. Naturally, Azure Active Directory (AAD) works well with your existing on-prem AD deployment, so with very little effort, your employees get SSO for your shiny new cloud services.