Hacker News new | past | comments | ask | show | jobs | submit login

I agree with everything you've said, but to add to that: there are these weird inflection points with both platforms.

A single "small business" server is easier to run on Windows and it'll do everything you need it to do with minimal fuss. Easy GUI admin consoles are available, etc...

For 2-3 servers it swings back to Linux because some things are just easier at that scale.

For 10-1000 servers that aren't all identical, I prefer Windows because of things like Active Directory, GPOs, DSC, etc...

Above 10K and especially above 100K scale the Windows licensing costs become absurd and you're likely deploying thousands of identical nodes (web farms, HPC clusters, etc...) and then Linux becomes very compelling. This is why all of the FAANGs run primarily Linux, because at the multi-million-node scale it's the best option by far.

Interestingly, container technology is maturing in Windows as well, especially with Server 2022 and Windows 11.

However, it still has a few rough edges, so I'm waiting to see how it all pans out...




> For 10-1000 servers that aren't all identical, I prefer Windows because of things like Active Directory, GPOs, DSC, etc...

I run over 1000 Windows boxes and AD/GPOs are terrible. GPOs are spaghetti by design. There are no concepts of infrastructure as code with these tools, and they're quickly becoming liabilities at any scale. There aren't any real ways of making repeatable and reversible changes so these infrastructures via code. Broaden your horizons a bit and you'll notice these are not the way.

Using Chef on top to manage DSC is the only thing that allows me to keep my sanity, and the more config I pull out of GPO and AD the happier everyone becomes, and the safer all of our systems are. Windows is terrible because it's too heavyweight and too opaque. It is the opposite of an agile choice of operating system.


> I prefer Windows because of things like Active Directory, GPOs, DSC

I felt the same until we had a bug which broke the network adapters under high throughput of packets per second (of course, we didn't know the cause, but the machine was bumped off the network until a reboot which wiped away debug info).

Going via the IPMI yielded a "Can't connect to AD" message, and the rotating local "Administrator" account password was unrealistically hard to acquire (ubisofts fault, not windows); which lead to me writing this: https://github.com/dijit/statham (but in Go, this is a rust reimplementation) so that we could all have local accounts. :|

> container technology is maturing in Windows as well, especially with Server 2022 and Windows 11.

I'm actually using Windows Kubernetes nodes today, it has two huge notable drawbacks.

1) The base container image needs to match the kernel version, meaning you need to build containers for Windows Server 2019-ltsc, Windows Server 2022, Windows 10 and Windows 11

2) The containers are enormous, one of mine is sitting at 6GiB and takes 4 minutes to pull on GKE.

and the minor drawback of; the instructions to make a bare metal kubernetes windows worker node are sporadic, outdated and otherwise largely missing.


> The base container image needs to match the kernel version

The kernel ABI has been stabilised in 2022 & 11, which means this is no longer an issue. I tested it and it seems to work as advertised. E.g.: both Windows 11 and 11 22H2 OS can both run a variety of 2022 and 2019 containers, and can run "RTM" and semi-annual 2022 containers in process isolation mode.

> the instructions to make a bare metal kubernetes windows worker node are sporadic, outdated and otherwise largely missing.

I wouldn't even try. Just use Azure Kubernetes Service (AKS), AWS EKS, or something similar.


> The kernel ABI has been stabilised in 2022 & 11

That sounds great. As this should be very useful for my workplace, it would be great to have an official source to cite on this. Unfortunately, my Google-fu hasn't returned much right now.

If you know of any Microsoft documentation pages, blog posts or something similar on this, can you point me in the right direction? Thanks! :)


> I agree with everything you've said, but to add to that: there are these weird inflection points with both platforms.

Spot on.. and I do like both platforms with a slight favour for Linux because licensing can be a hassle (unless MS still do those special Enterprise deals and you have one) and you can kind of get around the messy Linux things and it's generally easier to work with unknowns/new things in Linux (as the MS world abstracts too much).

It's good that we have the options and any adult Developer/Systems Admin would recognise that and take advantage of it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: