In short, there are reasons, they likely aren't ones that matter to you, but they exist (as I type this from my RHEL7 work desktop!)
[1] https://docs.microsoft.com/en-us/azure/virtual-machines/wind...
With that being said, the typical appeal of Azure (and likely other cloud providers) are the PaaS services. Those typically do have Windows VMs sitting behind them, although we are starting to make Linux an option on most of those.
Very few people start a project using SQL Server if they're not otherwise using MS stuff.
Sometimes it's because a long time ago the service was done by a whole different set of people and now some other group has inherited it and just doesn't want to port it to something else even though everything else they use is open source. These are typically the groups who go to the Azure SQL PaaS service because they don't want to manage something that they don't really care for.
There is a ton of fragmentation out there :)
Postgres is free and usually good enough. If you are going to pay, Oracle is generally better. The ground that mssql wins for a non-microsoft shop is verrrrry small.
So somewhere down the road, even if I quit and decide to work with FOSS, for me the reason might be familiarity - which is not unlike the reason a lot of people insist on using other Microsoft products.
While I personally feel the performance of Azure is bad vs cost, and the management portal is a mess UI and performance wise, it's a decent product. Nothing like deploying your app from scratch from Git in a couple of clicks.
I also filed a support call the other day and got truly exemplary phone support within a few hours from someone who definitely knew their stuff.
Like GP said, I can see very few compelling features to adopt Microsoft's platform. Is there a killer feature I'm unaware of?
edit: clarify. And "burn, karma, burn"
I'm still a FOSS shop. The people developing all their FOSS on Macbooks using a proprietary OS are still FOSS shops too.
The world isn't black and white.
Anyway, the thing I like about Azure over AWS is that it's more organized and simpler to deal with. Azure is focused on high-quality while AWS pretty much throws spaghetti at the wall to see what sticks. That's why AWS has 3 of every type of service.
Source: Am MSFT dev on the Azure side of things.