I'm interested to know what the majority of the Windows machines are used for.
I can't think it'd be anything other than 'big enterprise' applications, where there seems to be a lot of bespoke stuff built specifically for Windows Server (e.g. finance software, healthcare systems, marriage registration, taxi licensing, nursing home management, etc).
Unfortunately this sort of stuff is fairly rare to be available in the open-source world, because there is such little demand for it by individuals.
The wackiest one I've come across is a CMS (Crematorium Management System). If anyone wants to create an open-source one with me, please get in touch...!
You don't see it on HN much but the Windows world is still massive, and there are still plenty of ASP.NET folk around. I'd suppose you only have to take half a footstep outside the "pure Internet services" sphere to start bumping into lots of Windows, in pretty much any direction you happen to step.
There are also whole industries where Windows has a particularly strong influence, e.g. (from experience) some parts of finance, petroleum, television, and I imagine things like render farms or other specialist graphics work that might have grown out of a once Windows-only desktop software cottage industry.
I guess it's also important to say, much as you might find a zealous love for UNIX inside many (computer) engineering-led organizations, similar loyalty to Windows exists in many more (locally under-represented) industries for reasons that are less likely to be understood around here.
> I'm interested to know what the majority of the Windows machines are used for.
I have IT experience in the "mom and pop" small-medium business world but am pretty Linux illiterate.
I can buy a copy of Windows Server 2019, install the ActiveDirectory role, create a domain, and domain-join every computer that business has, and start doing all kinds of simple-but-effective policies like folder redirection+shadow copies, define password policies, start checking various compliance boxes, formalize a file share permission structure, enable Bitlocker, etc etc etc. Also, apps for nearly any business exist on Windows.
Do Linux equivalents for any of this even exist? If they do, is there a large pool of competent admins you can hire for cheap in every non-megacity?
The shift currently is from physical servers being owned by SMB to _the same architecture_ in the cloud. As the cloud admin market saturates, you'll see the % of Linux machines in the cloud drop and drop as SMB migrates their familiar setup to the commoditized cloud market.
The bottom line is your average non-Silicon Valley user can't smoothly change between Outlook 2010 and Outlook 2013. If you think a switch to Linux is possible in any timeframe less than decades, you are out of touch with the common computer user and their business needs.
There's absolutely _millions_ of .NET web apps that target 'old' .NET framework out there. Migrating from .NET to .NET Core isn't trivial for most projects and can be very very challenging for others, to the point where it's probably not worth even attempting it. These apps will still be running for years or decades and Azure has by far the best Windows cloud experience.
>>The wackiest one I've come across is a CMS (Crematorium Management System).
If anyone is looking for something to open source: Meet manager. Since the 90s it has been the go-to software for running competative swimming meets (timing, heats organization etc). It's a niche market but is alway a very broad and steady user base. (Similar software is also used for track and field meets.)
I don't have actual numbers obviously, but I'd imagine that a lot of Xbox multiplayer game backends and probably all of Xbox Live is running on Azure Windows servers, and Xbox is a pretty big platform by number of users.
I was on the Windows platform for 15 years and moved over to Linux about 6 years ago. One thing I miss from Windows Server is that it was very stable, updates never broke anything. If you got any updates that is.
I think most people use Windows server because they are locked into Microsoft technology.
I switched to Linux, and most importantly open source technology - in order to get out of the Windows ecosystem. I switched from an ASP stack to Node.JS, but it feels Microsoft is still stalking me, buying NPM, Github, releasing their own JavaScript flavor, releasing their own "open source" software bundled with proprietary add-ons, meanwhile suing Linux users for patent breach.
I worked on a derivatives system for a bank where we had a few thousand servers globally running distributed calculations. We chose C# over Java as it was more powerful at the time. Windows server was rock solid throughout, it also had the benefit of being integrated with Windows security. Now Linux you can run dotnet applications OK we'd probably choose that because its cheaper not because its better. Most server applications you just need a bare OS and run a process, it doesn't need much.
The real skill I try to teach my pupils, when joining top down ICT skills to bottom up CS / hacker skills, is to be able to re use existing tools in new and creative ways.
This is especially applicable if you learn a bunch of generic “everything is a text file” hacker skills, maybe with a little code on top.
Could you manage the crematorium using YAML files edited in GitHub? Maybe. Any collaborative tool with tagging can usually be beaten hard enough with a hammer to turn it into something useful in a specific domain.
We make pens and paper and do all sorts of specific business with these generic tools. Encouraging the generic use of computers might seem like dragging us back to the 1980s, but it’s how these tools were meant to be used!
Identity management with Active Directory is probably the biggest plus of a Windows environment; there's a saying that goes something like "in the end, every identity system ends up trying to be AD". Sure, you can run OpenLDAP on Linux and effectively get a domain controller, but the ready-to-go nature of AD on Windows Server is very compelling, especially for larger businesses.
As a sysadmin, I support way more Windows servers than I'd like, mostly because they run some .NET CMS (Content Management System in this case): Umbraco, Kentico, SiteCore etc.
Most mind-blowing use case of a Windows server I've encountered was a server running nothing but nginx.
Our old office was across the street from a crematorium and we had a public wi-fi named "xxxxxx Family Funeral Home" with a landing page with a link to a (fake) crematorium web control panel, complete with a fake live view of the cremation (it was actually just looped gif) You could adjust the temperature, the speed of the exhaust fans, etc.
Anyway, we have Windows servers running in Azure because we do a lot of GPGPU work, and the NVIDIA/CUDA drivers work best in Windows.
- Microsoft often bundles discounts for their their desktop and server licenses (used for AD and such) with Azure credits. Managers are under pressure to use the free service to deliver value, so teams are told to spin up things in azure as they see fit. reject the credits and reject the discount for the stuff you do use.
- Office 365, Outlook, Xbox Live, Xbox Music and Video, the Microsoft website, MSN, Search, and Visual Studio Online all run in Azure either in whole or in part. If you think Microsoft doesnt dog-food their cloud to pump its numbers, you probably werent around when they bought out shared hosting providers "park website" clusters and converted them to IIS instances to inflate their Netcraft numbers against Apache.
SQL? There are literally millions of production SQL databases out there and custom apps built on top of them - and while MS may have created a Linux port, there's no planet on which the average enterprise is moving to SQL on Linux without VERY good reason (and there currently isn't one that I can see outweighing the risk).
I’d recommend checking out .NET Core and F# or C# 8. Honestly .NET is becoming my go-to for anything beyond what a bash script can offer because it’s typed, functional or OO, has great frameworks for basic MVC sites or desktop apps, and the IDE on Windows is amazing while being able to compile cross-platform.
The vast majority of Windows servers I’ve deployed in Azure are either domain controllers or legacy workloads that a customer wanted to just shift to Azure. Azure Domain Services and Azure AD still have some deployment complexities when compared to a scaled out domain.
There is so much software written in Microsoft Access in my country that is basically irreplaceable. They have created interfaces to all the common industry software, vendors and devices and have all the common business processes built in.
Big chains probably have these things integrated in their ERP and CRM or use a custom software solution. But for smaller chains in their respective industries I don't see how you move these programs in the cloud right now without a complete rewrite.
Not to crap on MS, but I do think Linux has traditionally just been a better operating system for servers, probably due to the fact that that's where most of the funding for Linux ends up going, with the desktop versions of Linux being sort of secondary.
It doesn't help that a lot of serverey software is kind of designed with POSIX-ey stuff in mind. Node.js took awhile to get Windows support and ZeroMQ's Windows support doesn't support IPC sockets. Hell, in the little bit of testing that I've done with this, .NET Core is faster on Linux than Windows.
This isn't to say Windows is "bad". I'm personally not a fan but plenty of smart people I know like Windows better than Linux. It's just to say that, for the domain that Azure fills, Linux is often a better fit, and if MS wants to compete with AWS, it would be borderline-idiotic not to support Linux.
Windows came from the single-user domain. Unix came from server space. It is literally two different evolutionary paths. From day-1, Unix was built for shared file systems, multi-user accounts, and distributed computing.
Networking on Microsoft was an afterthought until the mid-90's. Sure there were token ring and banyan vines drivers in the late 80's early 90's, but that was to share a drive letter. The entire idea of multiple users didn't appear until Win3.1 for workgroups, decades after multiuser OSes. WinNT started to take protected mode seriously, but they re-invented networking from an MS perspective (e.g., POP/SNMP? nope: MSExchange).
It's not a surprise that Windows is such a mess under the hood compared to Linux/BSD/Unix/SystemV when you look at the history of Windows. I dunno, maybe that's not fair, but switching between *nux and Windows from a networking / distributed computing perspective is jarring. And that's just for simple things (interface config, tracing, configuration of multiple adapters and bridges...)
I've always got the feeling that MS specific developers are highly visual studio oriented. They have their connection string built into the IDE. In fact, if you asked them to make something that builds from the command line, and runs, they would probably be scratching their head for a while.
It wouldn't surprise me at all to find some windows based companies that have classic windows VMs in the cloud, running Visual Studio, and production deployments are: RDP in, stopping with the little red button, updating the codebase (with a copy over a network share), and then re-running the code on the production server with the little green play button. Database changes are done by hand in SQL Server Manager.
I know this isn't at all related to the post here - but it's just an interesting phenomenon - the fact that Azure is about 50 percent windows means it's mostly running things like Office backend products, crazy running copies of Visual Studio. It is probably a total mess if half of Azure goes down for 5 minutes. Linux servers would come back up and continue running whatever. All the Windows companies get a call, have to RDP in and do shit.
> in the little bit of testing that I've done with this, .NET Core is faster on Linux than Windows.
My experience as well. In fact it was extremely much faster.
- Hello world took something like 5 seconds to run on Windows
- on Linux (a VM on the exact same laptop, with the same Windows running underneath in fact) it was so fast I had to use the time command to figure out how many milliseconds it took :-)
FTR: while it was hardly scientific I actually put some effort into trying to make sure it was equal.
I bought books such as Linux Programming Interface to learn linux so that I can apply for jobs. Later I discovered that when the companies say Linux, they don't mean writing native applications on Linux, but that they are actually talking about java applications on app servers such as JBoss. Does anyone write native applications like thick client native applications on Windows which is also rare these days.
I found it funny when in Azure you create a resource and you can pick between Windows and Linux for the host and Windows is the default option... like bro, I’m not gonna run my shit on Windows walled and heavily licensed garden. What if tomorrow I have to migrate my stuff somewhere else. Are you crazy?
P.S: I know there are legitimate reasons for running something on Windows but for any generic project that shouldn’t be the default at all. Linux is the de facto cloud OS.
Is this surprising to anyone? Microsoft has been competing head-to-head with AWS as a VM/ cloud provider for quite a while now and Linux is by far the largest platform people deploy to.
I know there is some demand for Windows VMs in the enterprise, but even that seems to be shrinking.
I think Microsoft figured one thing out; you can’t fire a man who get things done especially if there is little documentation.
And you can’t avoid writing things down if you can’t remember it.
And you can’t remember it if it isn’t visual.
I am way more productive on Linux, but I can see that this also put you in a position to easily be replaced.
This might be short sighted of me, I dont have a ton of cloud experience but I imagine its as obvious as Linux scales orders of magnitude better than Windows, the projects that need massive scale go cloud. Conversely sql server can demand massive scaling, I wonder what percent of Win Server are for sql server workloads.
Worked on XenServer for Citrix (XenSource) for a couple of years (fun ride), I was told / also discovered that most XenServer pools were used to run Windows infra to support XenDesktop / ICA based remote access;-)
Now Linux has won over 50% of server market share in MicroSoft Azure, where I believe Hyper-V running on Windows is the hypervisor (Hyper-V is closely related to Xen).
- Linux has won (in the cloud).
- No one has ever thought one can use Linux desktop on windows via WSL one day.
- The best tool (distro, etc.)is the one that does what you need at the best cost ;-)
As a long term Linux desktop user (since Fedora Core 1 Yarrow), MicroSoft used to be the public enemy of open source, used to disgust me, now (after vs code, WSL, GitHub, showed genuine love to Linux and the community, etc.) I turn neutral (AFAIR - unless that was a daydream, Linus said similar thing).
I find it really funny that it used to be peole would point to Linux usage in Microsoft as a "Hah! Look how crap Windows is!". In reality, this is just reflective of the fact that Microsoft is succeeding even without Windows, which in my opinion is quite an extraordinarily impressive manouvre. People think seem to cheer on the death of windows as if Microsoft were the same company as it was when people were booing Steve Jobs at the Macworld announcement.
I had to move from Digital Ocean to Azure recently because my customers didn't know DO and thought they can't trust them. I was super happy with DO though. Azure is the ridiculously expensive without bringing any benefit. Sure, there are client tools but I don't need them. It seems to me every click I do on the Azure portal makes the costs increase by a few euros. I wish Digital Ocean would be accepted by more corporate clients.
I'm not surprised by this... I'm not sure what the actual raw numbers are, but would be surprised if it weren't. A lot of what I've worked on the past 5+ years targeted Linux and/or Linux Docker containers. Currently restructuring and migrating apps to .Net Core so that they can be containerized.
At a startup back in 2017, we received a substantial amount of free Azure credit through the their innovation program. At the time, there was no way to run postgres with guaranteed iops. You had to run SQL server to get guaranteed iops.
This is great; a significant portion of potential growth to Microsoft's revenue tied to Linux is good for Linux and continued investment in Linux from Microsoft.
I suspect Linux is the majority across all hosting services. No OS license nonsense to worry about and easy to remotely administer with a simple ssh connection.
[+] [-] jamieweb|5 years ago|reply
I can't think it'd be anything other than 'big enterprise' applications, where there seems to be a lot of bespoke stuff built specifically for Windows Server (e.g. finance software, healthcare systems, marriage registration, taxi licensing, nursing home management, etc).
Unfortunately this sort of stuff is fairly rare to be available in the open-source world, because there is such little demand for it by individuals.
The wackiest one I've come across is a CMS (Crematorium Management System). If anyone wants to create an open-source one with me, please get in touch...!
[+] [-] dmw_ng|5 years ago|reply
There are also whole industries where Windows has a particularly strong influence, e.g. (from experience) some parts of finance, petroleum, television, and I imagine things like render farms or other specialist graphics work that might have grown out of a once Windows-only desktop software cottage industry.
I guess it's also important to say, much as you might find a zealous love for UNIX inside many (computer) engineering-led organizations, similar loyalty to Windows exists in many more (locally under-represented) industries for reasons that are less likely to be understood around here.
[+] [-] kryogen1c|5 years ago|reply
I have IT experience in the "mom and pop" small-medium business world but am pretty Linux illiterate.
I can buy a copy of Windows Server 2019, install the ActiveDirectory role, create a domain, and domain-join every computer that business has, and start doing all kinds of simple-but-effective policies like folder redirection+shadow copies, define password policies, start checking various compliance boxes, formalize a file share permission structure, enable Bitlocker, etc etc etc. Also, apps for nearly any business exist on Windows.
Do Linux equivalents for any of this even exist? If they do, is there a large pool of competent admins you can hire for cheap in every non-megacity?
The shift currently is from physical servers being owned by SMB to _the same architecture_ in the cloud. As the cloud admin market saturates, you'll see the % of Linux machines in the cloud drop and drop as SMB migrates their familiar setup to the commoditized cloud market.
The bottom line is your average non-Silicon Valley user can't smoothly change between Outlook 2010 and Outlook 2013. If you think a switch to Linux is possible in any timeframe less than decades, you are out of touch with the common computer user and their business needs.
EDIT: i use SMB as an abbreviation for small-medium business https://en.wikipedia.org/wiki/Small_and_medium-sized_enterpr...
[+] [-] martinald|5 years ago|reply
[+] [-] sandworm101|5 years ago|reply
If anyone is looking for something to open source: Meet manager. Since the 90s it has been the go-to software for running competative swimming meets (timing, heats organization etc). It's a niche market but is alway a very broad and steady user base. (Similar software is also used for track and field meets.)
http://activesupport.force.com/hytekswimming/articles/en_US/...
[+] [-] flohofwoe|5 years ago|reply
https://arstechnica.com/gadgets/2018/11/microsoft-wants-azur...
https://azure.microsoft.com/en-us/solutions/gaming/
[+] [-] z3t4|5 years ago|reply
I switched to Linux, and most importantly open source technology - in order to get out of the Windows ecosystem. I switched from an ASP stack to Node.JS, but it feels Microsoft is still stalking me, buying NPM, Github, releasing their own JavaScript flavor, releasing their own "open source" software bundled with proprietary add-ons, meanwhile suing Linux users for patent breach.
[+] [-] rb808|5 years ago|reply
[+] [-] gorgoiler|5 years ago|reply
This is especially applicable if you learn a bunch of generic “everything is a text file” hacker skills, maybe with a little code on top.
Could you manage the crematorium using YAML files edited in GitHub? Maybe. Any collaborative tool with tagging can usually be beaten hard enough with a hammer to turn it into something useful in a specific domain.
We make pens and paper and do all sorts of specific business with these generic tools. Encouraging the generic use of computers might seem like dragging us back to the 1980s, but it’s how these tools were meant to be used!
[+] [-] alexchantavy|5 years ago|reply
[+] [-] input_sh|5 years ago|reply
Most mind-blowing use case of a Windows server I've encountered was a server running nothing but nginx.
[+] [-] fortran77|5 years ago|reply
Anyway, we have Windows servers running in Azure because we do a lot of GPGPU work, and the NVIDIA/CUDA drivers work best in Windows.
[+] [-] nimbius|5 years ago|reply
- Microsoft often bundles discounts for their their desktop and server licenses (used for AD and such) with Azure credits. Managers are under pressure to use the free service to deliver value, so teams are told to spin up things in azure as they see fit. reject the credits and reject the discount for the stuff you do use.
- Office 365, Outlook, Xbox Live, Xbox Music and Video, the Microsoft website, MSN, Search, and Visual Studio Online all run in Azure either in whole or in part. If you think Microsoft doesnt dog-food their cloud to pump its numbers, you probably werent around when they bought out shared hosting providers "park website" clusters and converted them to IIS instances to inflate their Netcraft numbers against Apache.
[+] [-] tw04|5 years ago|reply
[+] [-] exdsq|5 years ago|reply
It’s not just for enterprises!
[+] [-] pmiller2|5 years ago|reply
[+] [-] darrmit|5 years ago|reply
[+] [-] thom|5 years ago|reply
[+] [-] def8cefe|5 years ago|reply
https://www.mortware.com/
[+] [-] lwkl|5 years ago|reply
Big chains probably have these things integrated in their ERP and CRM or use a custom software solution. But for smaller chains in their respective industries I don't see how you move these programs in the cloud right now without a complete rewrite.
[+] [-] tombert|5 years ago|reply
Not to crap on MS, but I do think Linux has traditionally just been a better operating system for servers, probably due to the fact that that's where most of the funding for Linux ends up going, with the desktop versions of Linux being sort of secondary.
It doesn't help that a lot of serverey software is kind of designed with POSIX-ey stuff in mind. Node.js took awhile to get Windows support and ZeroMQ's Windows support doesn't support IPC sockets. Hell, in the little bit of testing that I've done with this, .NET Core is faster on Linux than Windows.
This isn't to say Windows is "bad". I'm personally not a fan but plenty of smart people I know like Windows better than Linux. It's just to say that, for the domain that Azure fills, Linux is often a better fit, and if MS wants to compete with AWS, it would be borderline-idiotic not to support Linux.
[+] [-] freefriedrice|5 years ago|reply
Networking on Microsoft was an afterthought until the mid-90's. Sure there were token ring and banyan vines drivers in the late 80's early 90's, but that was to share a drive letter. The entire idea of multiple users didn't appear until Win3.1 for workgroups, decades after multiuser OSes. WinNT started to take protected mode seriously, but they re-invented networking from an MS perspective (e.g., POP/SNMP? nope: MSExchange).
It's not a surprise that Windows is such a mess under the hood compared to Linux/BSD/Unix/SystemV when you look at the history of Windows. I dunno, maybe that's not fair, but switching between *nux and Windows from a networking / distributed computing perspective is jarring. And that's just for simple things (interface config, tracing, configuration of multiple adapters and bridges...)
[+] [-] GordonS|5 years ago|reply
But for servers, I much prefer Linux. It uses less resources, and it's so much easier to get it into a known and consistent state that Windows.
Also, something about having a GUI for servers has always felt... wrong somehow!
[+] [-] rhacker|5 years ago|reply
It wouldn't surprise me at all to find some windows based companies that have classic windows VMs in the cloud, running Visual Studio, and production deployments are: RDP in, stopping with the little red button, updating the codebase (with a copy over a network share), and then re-running the code on the production server with the little green play button. Database changes are done by hand in SQL Server Manager.
I know this isn't at all related to the post here - but it's just an interesting phenomenon - the fact that Azure is about 50 percent windows means it's mostly running things like Office backend products, crazy running copies of Visual Studio. It is probably a total mess if half of Azure goes down for 5 minutes. Linux servers would come back up and continue running whatever. All the Windows companies get a call, have to RDP in and do shit.
[+] [-] eitland|5 years ago|reply
My experience as well. In fact it was extremely much faster.
- Hello world took something like 5 seconds to run on Windows
- on Linux (a VM on the exact same laptop, with the same Windows running underneath in fact) it was so fast I had to use the time command to figure out how many milliseconds it took :-)
FTR: while it was hardly scientific I actually put some effort into trying to make sure it was equal.
[+] [-] code_duck|5 years ago|reply
[+] [-] hi41|5 years ago|reply
[+] [-] whoisjuan|5 years ago|reply
P.S: I know there are legitimate reasons for running something on Windows but for any generic project that shouldn’t be the default at all. Linux is the de facto cloud OS.
[+] [-] rbanffy|5 years ago|reply
[+] [-] ogre_codes|5 years ago|reply
I know there is some demand for Windows VMs in the enterprise, but even that seems to be shrinking.
[+] [-] punnerud|5 years ago|reply
I am way more productive on Linux, but I can see that this also put you in a position to easily be replaced.
[+] [-] Mr_Sweater|5 years ago|reply
[+] [-] babarock|5 years ago|reply
As someone who discovered Unix in the early 00s, this makes me chuckle. What a world!
[+] [-] ch_123|5 years ago|reply
https://en.wikipedia.org/wiki/Xenix
[+] [-] enitihas|5 years ago|reply
[+] [-] close04|5 years ago|reply
[+] [-] Random_ernest|5 years ago|reply
[+] [-] terrywang|5 years ago|reply
Now Linux has won over 50% of server market share in MicroSoft Azure, where I believe Hyper-V running on Windows is the hypervisor (Hyper-V is closely related to Xen).
- Linux has won (in the cloud).
- No one has ever thought one can use Linux desktop on windows via WSL one day.
- The best tool (distro, etc.)is the one that does what you need at the best cost ;-)
As a long term Linux desktop user (since Fedora Core 1 Yarrow), MicroSoft used to be the public enemy of open source, used to disgust me, now (after vs code, WSL, GitHub, showed genuine love to Linux and the community, etc.) I turn neutral (AFAIR - unless that was a daydream, Linus said similar thing).
[+] [-] Traster|5 years ago|reply
[+] [-] I_am_tiberius|5 years ago|reply
[+] [-] tracker1|5 years ago|reply
[+] [-] gardnr|5 years ago|reply
We ended up deploying to AWS instead.
[+] [-] VWWHFSfQ|5 years ago|reply
[+] [-] ndesaulniers|5 years ago|reply
[+] [-] tonyedgecombe|5 years ago|reply
[+] [-] jandrese|5 years ago|reply
[+] [-] vmchale|5 years ago|reply
[+] [-] aidenn0|5 years ago|reply
[+] [-] intellectronica|5 years ago|reply
[+] [-] aea12|5 years ago|reply
[deleted]