Basically the cloud for everyone but the tech companies
And most companies are not tech companies. This is something that tends to be lost in HN discussions (not saying that applies to you, specifically).
I've spent a lot of time in the Microsoft world. I worked for AWS as well. In general, Microsoft executes on platform and ecosystem in a way that works very well for a lot of customers. In general, AWS executes on products better, which tends to appeal more to those who are focused on technology, specifically.
I'm even using some Azure Tables for backend services just because it was easier to deal with.
> Basically the cloud for everyone but the tech companies
is referring to the idea that tech companies are competent enough to run their own computers, not that Azure is missing something specific.
But OTOH AWS generally works and usually does what you think, whereas I'm never surprised when Azure breaks or some random Azure API works nothing like we expect.
Until you have to call Google. Google business services are awful.
The biggest difference IMO is in how they're handled by large organizations and how prod permissions are provisioned by them. In Azure you have one user account and one org, with subscriptions for your user account to activate to get permissions. You can have multiple subscriptions but they're under the same login/user account and you can have multiple active at the same time. In AWS, you get access to an account or accounts that have different logins, so you get to juggle those with login/logout, even if there's SSO. In GCP, there are multiple projects, under a single login, but you may have to juggle projects.
The other aspect is how regions are dealt with. AWS global resource index/search thing is useful, but it totally feels like I spend more time juggling regions with AWS. Azure's regions themselves are, let's just say, interesting. GCP is better at it than AWS, and less interesting than Azure (which is a good thing).
I must have very different needs. In my perception, AWS is the best of the three, Azure is second, and Google would be #3. Depending on your unique news, you might choose different CSP's, from Digital Ocean to Oracle or IBM (the only place you can get AIX, IBMi, and z/OS)
Do you do cross-region work in AWS? For me that is just bad. I usually want to work at a service level and see across all regions, where as AWS wants me to work at a region level and see everything I have running there.
BTW, I hate Terraform with a passion, but I don't have the energy to write something that can describe infrastructure in Lisp.
In any case, all three big ones are pretty good for almost anything, and I don't think there is anything that's doable on one that's impossible to do in the others (IBM is the exception here - if you need AIX, IBMi or Z, they are the only ones who can offer that).
Dated 2013, a year before Nadella became CEO:
https://www.change.org/p/the-microsoft-board-of-directors-as...
The project was in my team (CSA labs) but was cross-funded behind the scenes by Kevin Johnson, the president of Server & Tools. KJ & I did this because there was passive-aggressive resistance to a 'cloud first' design/architecture philosophy from within his org, where there was a deeply-rooted belief that enterprise servers and ops management tools would adequately scale-up.
KJ bought in and was all-in, as was the 'tools' part of his org (Soma & ScottGu). SteveB initially didn't quite know what to make of my desire and myriad efforts to fundamentally transform the company from packaged products toward services, and he had to cope with some of the wake I was leaving. It wasn't all smooth. But he believed in me and helped me to recruit internally, which was essential.
My explicit cross-funding agreement with KJ, my peer, was that when I decided it was the 'right time', I'd hand off my Azure org and it would be re-merged into S&T in more-or-less a 'reverse merger', with cloud leadership taking over server.
I launched Azure at PDC 2008 with what today we'd call lambda's (functions-as-a-service based on .net) & blobs & cloud database as the core services. Why no linux or windows VMs? They were absolutely part of day 1 plans, but a major political ploy from within KJ's team ('this will kill the server business') resulted in an active decision (mine) to defer until post-launch. It wasn't a technology issue, nor was it an OSS issue; the team believed in OSS & Linux. But shipping was top priority, and we shipped.
When I ultimately left the company in 2011, it was time to do the reverse merger that KJ and I had planned. A proven, super-talented manager from Bing that everyone loved, Satya, was chosen to lead the org as it was moved into S&T upon my departure. James Hamilton, the architect of Azure's relational DB, left for AWS. Ultimately, under Satya, ScottGU & co ended up re-plumbing much of the original code with a by-then-ready Windows hypervisor, VMs & Linux, and all that you see today. By then the org finally was aligned and 'believed', and SteveB was genuinely 'all in'.
Getting products from 0 to 1 is sometimes a challenging process involving incredible people and stamina from believers at every level. In this case I'd say it was worth the effort.