102 comments

[ 3.5 ms ] story [ 165 ms ] thread
Seems very low for public cloud provider.
Who chooses to use Azure? Mostly MS shops. I see no compelling features for a FOSS shop.
Versus open source AWS? Google Cloud?
Why would you want to go with Azure over AWS or Google? Or Digital Ocean?

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"

well, i think "for a FOSS shop" is important context in that comment (simply asking "why use azure" is different). aws and gcp run plenty of bits that aren't "FOSS" in any respect, just like azure.
(comment deleted)
Does Azure have a killing feature that appeals to a non-Windows shop?
What makes one a "FOSS" shop? I use tons of FOSS in my products but I prefer SQL Server and ASP.NET for my backend. I also do most of my code editing from Windows and sometimes I use my Mac. I rarely use Linux to edit code or do anything desktop-related, but I still use it to run Redis instances.

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.

Why wouldn't you, other than hatred of MS.
As a .NET developer, I am provided with a MSDN sub by my employer and it comes with a monthly Azure allowance I can spend on whatever.

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.

So you are a professional, self-deceived (edit:that was an autocorrect from self-described!! I'd have downvoted me, too.) developer-on-microsoft the definition of an "MS shop", even if you later choose to diversify your platform.
(comment deleted)
I thought we were over the MS hate last decade?

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.

Some places don't have a choice but to be a Microsoft shop - if your customers use Microsoft, your product had better run in their ecosystem.
(comment deleted)
As someone who works at MSFT in the Azure space I can tell you that the statement of "Who chooses to use Azure? Mostly MS shops" is inaccurate in my experience. Of all of the customers I've worked with, most of their architecture is at least 50% linux/OSS, typically more like 75%. I've honestly yet to see a customer moving to Azure who has more than 50% Windows based systems. Almost everyone I've worked with only uses Windows Server for their SQL Server services, outside of that it's RHEL, CentOS or Ubuntu.

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.

It seems likely that most people who use SQL Server were at least Microsoft shops at some time in the past, though; otherwise why are they using SQL Server?

Very few people start a project using SQL Server if they're not otherwise using MS stuff.

Usually, again this is just in my experience, it's typically tied to a single service that makes up a larger system. So they might have some data in MySQL that has an API fronting it that is managed by one team. Then they have another service that uses SQL Server fronted by another API and managed by a different team. Both of those APIs are used by something larger.

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 :)

We'll see this change as SQL Server on Linux matures.
Why?

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.

Most people who have paid for Oracle would be perfectly well catered for by Postgres, it's true. Postgres gets you say the most-used 50% of Oracle for 0% of the cost. SQL Server gets you the most-used 90% of Oracle for 25% of the cost. The companies that need 100% of Oracle a very few and far between. Oracle's entire business model is based on people not realizing this...
SQL Server is way cheaper than Oracle and very fast. The features it has built-in now across all editions make it very compelling compared to Postgres, even if it's free.
Azure's UX is less of a tyre-fire of complexity than AWS, on the other hand it breaks more.
They allow you to have native RDMA[1] for your VMs, something neither amazon or google will give you. As an oldhat Linux/Unix guy, it is somewhat amusing to think of Microsoft's cloud offering as the high perf one, but the facts don't lie. If you have true HPC style workloads such as bioinformatics, oil/natgas exploration, finance, etc, the extra node to node communication bits are necessary. The QDR fabric they have has a native speed of 40 Gbps. It is a shame they don't have FDR (56G) or EDR (100G), but still is quite impressive depending on your app. This also could be a game changer for large MPI jobs.

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...

Also, many companies that are competitors to Amazon in some form or another. Those tend to be the larger customers in my experience.

Source: Am MSFT dev on the Azure side of things.

Not really, considering the main user base of Azure are the Windows/M$ people.

Goes to show Linux has truly become the swiss army knife of computing.

Joke I heard this week was that 2017 is finally the year of the Linux desktop... except its the Linux subsystem embedded in Windows 10 desktops.
The irony of this being is that it sucks bad enough still that I'm using Virtualbox + vagrant on my windows desktop.

Windows is a window manager for Chrome, vagrant/vbox, putty. I even use OWA for outlook on windows.

Why not Hyper-V instead of VBOX? Much better in every aspect other than maybe desktop. I wish Linux gained enhanced session support.
in my experience hyper-v doesn't handle graphical stuff very well, so a desktop linux experience much worse than vmware workstation or virtualbox.
Yeah I miss this as well. I have a Hyper-V Linux VM into which I have mounted a share from the Windows host, and it works great for everything I can do from SSH, but the graphical desktop performance is awful.
I've run Hyper-V in production with SCVMM. No thanks.

More seriously, it's not portable and not something I want to invest in any further brain-wise. Plus you can't drive half of it with vagrant. I burned about 4 days recently learning that.

I bought a Lenovo Miix 320 netbook with Windows 10 that cannot run Ubuntu (which would be my preference, but I pretty much only need Emacs). It's no doubt the worst computer I ever had, counting even ZX Spectrum+.

Part of the reason is very bad design of the case, but also the terrible UX of Windows 10 compared to Ubuntu. I think most Windows users would be amazed if they tried Ubuntu.

Windows 10 shows significant signs of software senility, which inevitably follows maturity.

Windows 8.1 + classic start was the last pinnacle of usability on windows. Ubuntu however isn't anywhere near what we need (yet). Gnome 3 is just vile crack smoking.
For anyone more into Vim and Tmux, then i3 fits like a glove. Got it running under Arch on an XPS-13. Best Linux machine I've ever set up, and it looks gorgeous. A lot of fun theming it, with lots of inspiration from : https://www.reddit.com/r/unixporn/
I tried that but I just can't get used to i3. I spend most of my time in tmux but there are some cases where I just can't make it work for me. I might be a dumbass or just lazy though :)
Same here. I simply cannot work with i3. I think my brain stops working when I try tiling systems. Wish my childhood was not so completely immersed in windows.
For quick installation of the usable system I usually use Fedora + KDE environment. It is always updated and KDE is easy to use. On the computers where I do need maximum working performance I do customize awesome (or Xmonad lately) plus many-many terminal applications. But if you don't want to waste your time on heavy customizations - imho, Fedora (27 will be released in a couple days) is a good choice.
I'll have a look at KDE. I haven't actually used it for 16 years :)
I don't think most windows users would be amazed - or, at least, not in a positive way. I think they'd find most of their applications would not work, or they'd have to jump through hoops to get them to work at 90%. I think they'd find support for their machines scattered, incomplete, or out of date. This is assuming they're able to get their hardware to work at all under linux - you seem to be placing the blame on the hardware to support the software, instead of on linux to have decent hardware drivers. I'd think they'd be surprised by the entire appearance of the UI changing drastically between updates. I think any users using assistive technologies would be woefully underserved.
For Linux to have decent hardware drivers, the hardware manufacturers have to make enough information available to create the drivers. Unfortunately, they often don't do that, and only publish a Windows driver as a binary blob.

Even if the manufacturer does make Linux drivers available, they frequently don't actually work with the hardware. For example, the wireless card in my laptop only has one of two antennas and the default Linux driver tries to use the wrong one. The Windows driver somehow works around that, but on Linux I'm dependent on the work of one amazing guy who makes the driver actually work: https://github.com/lwfinger/rtlwifi_new

I know this is the question you don't want to hear, but: why didn't you switch the antenna? The card has rp-sma pigtail connectors and usually you have two/three antennas connected to them. If you have only one, and the driver uses the other, just connect the antenna to the other connector.
I think you're just more used to Ubuntu. Last time I used the default GUI on it I wouldn't say I found it any more intuitive than Windows 10.
Just to clarify, I am talking about UX, not just UI. I use Windows 7 (classic style) at work and it's doable.

- Loads of things in the start menu that I don't need and cannot uninstall (like XBox games).

- Unwanted monitoring which needs to be explicitly turned off.

- Forcing Edge down my throat at every opportunity.

- Automatic updates still restart computer without warning.

- Unwanted wi-fi communication even in sleep causing huge battery drain.

- Ugly appearance.

I am sure there are other things that bothered me but I already forgot. They really lost their marbles.

Go load and execute the Reddit Tron script - https://www.reddit.com/r/TronScript/

It's not perfect but it fixes many of your complaints including disabling stupid MS Store Apps you'll never use, turning off tracking, disabling cortana and giving you better control over updates.

I use win10 mostly (90% of the time). The other 10% is Ubuntu. And it annoys me so much that the taskbar simply doesn't work for multiple monitors! Just giving a common usage scenario where win10 is way better than Ubuntu. I'm sure there are some opposite examples too. But I don't think most users will be amazed in a good way.
Yes it does. What are you talking about?
The icons are identical on both monitors. Regardless of where a window is open.
That is configurable - right-click taskbar > Taskbar Settings > Show taskbar buttons on > Taskbar where window is open
Welp! I distinctly remember hunting for such a setting and giving up after a few minutes. Will have to try this.
It is hard to take seriously anybody who uses M$ outside high school computer club.
?? Azure is used mainly by Microsoft customers who prefer Windows VMs, so the low number of Linux VMs is not surprising. It's actually surprisingly high.
Especially because as of a year ago, Hyper V still had terrible, terrible, time support. Kernel logs are filled with spam about the clock being jumped. Time sync constantly drifts seconds all over.

Compared to our Linux VMs on GCP, which get millisecond sync and stay that way because NTP actually works on whatever platform they use.

It's shocking that Windows still has no proper NTP support and people are OK with their clocks being so off. Makes logging and debugging certain issues a bigger pain.

I'm not so sure Azure is running Hyper-V, like the same that comes as part of Windows. So any Windows Hyper-V limitations might not apply to Azure and vice versa.
Selection bias; most people who want Windows will use Azure (it at least used to be quite a bit cheaper than the rest for Windows, and it doesn't treat it as a second-class citizen).

On the other hand, there's arguably little reason to use Azure if you just want Linux; it's less mature than AWS and not generally cheaper. I suspect most Linux users have some sort of hybrid system and are using _both_.

Lots of emotional comments with the usual I-hate-MS bent, without a single reference to data showing Azure [Linux VM] users or non-users. Always shocking to see individuals who claim to be rational and open-minded in one domain become irrational, closed and judgemental in another.
Azure is great. It's the secret weapon of those who took the time to evaluate the clouds instead of just following the crowds.
Why is it better than AWS or others?
More and better layered services (e.g. MLStudio), more regions/locations, option of going hybrid (Azure Stack), better container support with per-second billing, the list goes on and on.
Is their hybrid cloud a real thing now? I remember them touting it around 5 years ago, but for years it just never arrived, till I gave up waiting. Just seemed like a bait and switch actually.
I wouldn't go so far as to say it's a secret weapon, but they have added a HUGE amount of services in a very short amount of time relative to the other player.

I still don't like though.

> Lots of emotional comments with the usual I-hate-MS bent

How do you even get that from these comments? Is 3 comments 'lots' now?

> Always shocking to see individuals who claim to be rational and open-minded in one domain become irrational, closed and judgemental in another

Is this your first time on Hacker News?

It's their first time on the internet.
Is it really irrational to distrust Microsoft? I mean, they seem to be much more palatable lately, but does that mean we should completely forget their history? I'm all for using the best technology for the job, but when you're in a close call situation I think it's okay to rely on an organizations history to make a decision.
Yes, when you don't apply the same logic to the other large tech companies.
Is there another large tech company with the history of wrongdoing that Microsoft has? They're a convicted monopolist that personally affected a large subset of the developer community with repercussions that took decades to solve (if they're solved at all).
Especially so when culture changes slowly.
I'm sure Azure has great stats on paper, it's not the simple, easy-to-measure data that concerns us. I'm also sure that Azure is currently treating their clients really well, in the spirit of "the first hit is free". What is concerning, is not the effects of their current actions, but rather what their current actions say about their future plans, given MS' history of "embrace, extend, extinguish".

With MS, the EEE process should be your null hypothesis when you are trying to predict their behavior.

Having said that, I am not against the idea of taking advantage of an opponent who prostrates themselves, just make sure that you can safely extricate yourself from the trap. If you want to deploy on Azure, make sure it's a multi cloud deployment with some insulation above the infrastructure, like Mesos or Kube. Which precludes using the more specialized services, but seriously, who pipes unencrypted data through 3rd party message queues? That's just crazy.

It's never going to change. Just like it hasn't changed for the Church. Sure, _now_ the Church takes care of little old ladies but don't forget the bad old days when they had the Inquisition!

It's only been 200 years. ;-)

That seems like a huge strawman. All the criticism I've ever seen of the Catholic Church has nothing to do with the Inquisition or anything that far back. There's enough to discuss over the last few decades or even just the present day to fill any serious attempt at the topic.
I'd be interested to see how this breaks down as a function of cost instead of raw numbers.

This would for example control for development environments and pet projects as compared to production projects running on the platform.

Yes, and account for Microsoft giving serious usage giant credits too.
ehhh...maybe our definitions of serious usage are different, but even then their EA based discount model is dumb. At our peak on azure we we're doing about $120k/month, but didn't bother committing to more than $200k/yr because the discounts just weren't awesome. last time I looked the discounts on more modern VM types were WAY worse than what we used to get on older generations. Also, once you are on EA billing all the decent billing/usage tools in the azure portal stop working (they aren't that great anyway) and you basically have to buy or roll your own.
This doesn't surprise me overmuch. The foot in the door is Office 365 Enterprise, which comes with AD in Azure for free. From there, it's natural to setup a VPN to your Azure environment. With that in place, competitive pricing, and better compliance tools (such as host-external session-based flow monitoring) it becomes an attractive solution.

Tie that to experience with Hyper-V. Companies like mine who have unused Hyper-V capacity due to Microsoft's ridiculous VM licensing scheme for Windows, tend to run Linux instances on that extra capacity. The high performance of Linux on Hyper-V was an eye-opener for us. I could see us using Azure for Linux.

That said, we are 99% AWS, and I don't see our online platform ever moving from them.

> Microsoft's ridiculous VM licensing scheme for Windows

Microsoft offers at least three different ways to license Windows to run on a VM in-house. Core count, instance count, or site. Are all three "ridiculous?"

None of Microsoft's license types require a certain Hyper-V capacity. In fact the whole "we were required to over-allocate Hyper-V so run Linux on the spare capacity" claim makes no sense.

Yes, they're all ridiculous. Also their licensing model is so hideously complex even different license advisors from Microsoft will give you different answers as to what you need. The only way you feel comfortable being fully in compliance with licensing is by massively overbuying. Its a ridiculous burden to place on a business.
There is no such thing as instance or site pricing for Windows Server. Where are you getting that from?

There is only core licensing, and you have to license all cores in a hypervisor, 16 minimum, and then you can only run two Windows Server instances unless you re-licensing all cores on the host a second time. The exception to that rule is Datacenter edition, which is only cost effective for large businesses running high-density servers. (7.5x the price for the same number of cores vs. Standard.)

http://download.microsoft.com/download/7/2/9/7290EA05-DC56-4...

Yeah, I came here to mention Linux on Hyper-V - the performance is great, the free version, while painful to setup, its extremely low friction to keep running.
I had nothing but pain with Hyper-V hosting Linux, to the point we joked it came with Chaos Monkey built in.

Volumes would become read-only for no good reason, VMs would reboot...

At least, when we moved to AWS, our software was exquisitely resilient, with multiple levels of degraded functionality everywhere.

I've never really had any issues with it, and I'm doing stuff I consider to be a little esoteric, like volume passthru.
That's not so much esoteric as old-school. When VHD was the only other option, it was the standard way of getting decent performance out of iSCSI or large direct-attached volums. But with VHDX, passthrough gains you so little that it's not worth losing the ability to checkpoint volumes and do agentless backups.
My use case had to do with migrating a physical machine to a virtualized one, in this case migrating the whole array over (with its controller) was less risk fraught (and notably faster) than creating a new drive, and copying. It also creates an isolation layer between windows and my files.

Sometime in the next couple years I'll likely migrate it to a vhdx, but this was quick and easy to setup.

Physical to VHDX migration is a PITA. I've done it in an emergency, but it's not ideal. You can convert a raw drive image to VHD using the now-obsolete VHDTool, and from there convert to VHDX. But the resulting volume is not dynamic. It appears to have no way to know which sectors are in use when the conversion is done this way, so it assumes all of them are, and the image cannot be shrunk. The better option is to copy all contents to a new VHDX image using a utility instance. A lot more work, of course.
Too much abstraction there - in this case, I wouldn't convert, I'd copy, create a new VHDX mount it somewhere in the VM, copy the data over, then remount it in the VM at the mountpoint of the now unmounted RAID Array.

We ended up here, because as I mentioned, I just moved the RAID into the new box, and mounted at the place the VM needed to have it, that made the setup process much faster.

We currently have eight Linux instances up on Hyper-V, and have never seen any of these problems. The only thing we have to do is install the hyper-v tools for the corresponding Distro, and change the disk scheduler to noop. The kernel modules are ready out-of-the-box on Centos 7 and Ubuntu 16 LTS. Dynamic memory, snapshots, etc., all just work.

Hyper-V Server 2016 has improved things even further when running your images on ReFS. Near-instant checkpoint creation and merging.

It has worked so well that we abandoned ESX (except for one appliance maintained by an unenlightened vendor who refuses to support anything else), and KVM, and now manage all (but two) of our VMs in Hyper-V Manager. Plus, it makes backups a breeze, because (like most modern backup solutions) Arcserve UDP supports agentless backups of Hyper-V VMs.

What did you find painful about setting up Hyper-V Server?
I was using Hyper-V Core, and in an environment without a domain controller, so there is a bunch of manual setup so you can get a remote admin console working.
Yeah that can be a PITA. Samba is always an option if you want to make it a bit easier for yourself. You can run a domain for Windows (and other platform) machines without the increased overhead and licensing cost of a Windows DC (although you can get away with running a server core DC on as little as 512MB of RAM, I generally use 2GB).
In my case, I'm looking at purchasing a newer version of server, and just migrating the whole thing over, so I can RDP directly into the host, and maintain things - this was a good move however when I was operating on a tight budget - it should be pretty trivial to migrate my VM's later to another box.
It’s great to have alternatives to AWS.
It WOULD BE great to have alternatives to AWS.

Here, fixed that for you.

what do gcp and azure need to be considered alternatives?
Nothing against GCP. It's considering Azure as an alternative that I object to.

Here's a couple of ideas:

1. Linux support. If you look in Azure documentation they never say they support any Linux distro - they "endorse" a couple. Amazon provides their own for of Centos with all the conveniences like having the AWS CLI pre-installed. Incidentally Azure is the only cloud platform where I've had machines kernel panic randomly.

2. A consistent interface. The Azure portal has been under development for over 2 years now but you still need to use the "classic" interface for some settings.

3. Database support. Other then MS SQL Server. MySQL is supposed to be in beta. It's been in AWS since 2009. Also Amazon is developing AuroraDB which is, supposedly, optimised to work in AWS.

4. Availability zones. Again in preview in Azure but have been in AWS since 2008. What's also interesting is, up until now MS marketed "Availabilty sets" as the Azure version of AZ. One is a guarantee that a box will be spun up on a different rack within the same datacenter, the other guarantees the box in a separate DC.

5. A consistent API. And I don't mean the definitions being immutable - that's actually handled with schema versioning. I mean getting the correct responses. Although unchanging API would be nice as well.

Here's an example: https://drive.google.com/open?id=0Bz59vPCFY-fham1qN1E1MnZBcl... (3mb video). What basically happened was, I would deploy my environment, run Ansible against it and get errors/unconfigured nodes. So what happens in the video is: I run 'for i in 1 2 3; do azure vm list; done' and get three different responses: a list of VMs, an error message saying I have insufficient access rights to list the VMs and an empty list. All are incorrect. The first one is the closest to the truth but it's still missing one box. I get eventual consistency is a thing, but this was >30min after the boxes had been provisioned.

So to answer your question as to what is needed for Azure to become a viable alternative to AWS: I would say about 10 years.

This is the "Return of the Jedi" Episode where the Young Jedi finally able to bring Darth Vader back to the Light Side of the Force.

George Lucas predicted this in 1983.

I currently have a client moving from an on prem environment to Azure, which was chosen because they are 100% a Microsoft shop.

After using AWS since about the time it launched, and then GCP for the past couple years, Azure is a constant headache. As I type this I’m waiting for resources in the region to stop throwing allocation errors. I also have another terraform config running that’s been trying to delete only 6 VMs for the past 20 minutes. Spinning up a single VM takes way too long as well.

I had random conversations with shops that are doing very large Azure deployments before I started this project and they all basically said “yeah Azure sucks, but with all the credits Microsoft gave us it’s basically free.”

I would never recommend a client use Azure when the two alternatives are so much better. The only reason seems to be free credits or they’re blindly committed to a Microsoft ecosystem.

They can make money off of Linux, so it’s good now.
Time for MS to rollout MS-Linux
I have long yearned for a libmicrosoft.a that runs on top of Linux and provides the MS ABI. Best of both worlds.
We're running our Debian farm on Azure thanks to startup perks. It's been up 100% for us the last 2.5 years. Azure service is no less or better than AWS.
Remove Windows servers not being used as web servers (active directory, sharepoint, domain controllers, exchange, etc.) and the Linux number is probably near or above 50%. This share will only grow with Microsoft embracing Linux in .NET Core, and many of the next wave of cloud consumers being small to mid-sized orgs looking to move to managed cloud applications vs. simply putting their machines in the cloud.