Why does a Windows Server OS exist?

2009 August 3
by Joe

Awhile back I had to fight again with the single Windows server at WeTheCitizens to get a Blackberry reset. The RIM server software only runs on Windows, else that final machine would be running Arch Linux like everything else.

It was a nightmare to get working – the RIM software has literally a half dozen separate flaky services all running at the same time and tripping on one another that have to align perfectly. The worst part though was having to work with a Window server.

That leads me to my question: why does anyone use Windows on servers any more? How is it manageable at all? For any Windows admins out there, would love to get some perspective on why people use it.

  • How do you manage updates? Especially with lots of machines, it seems borderline impossible to keep them all updated without downtime considering the mandatory restart needed for everything. Linux only needs a restart for some kernel modifications (i.e. barely ever). I have machines in production with 700 days of uptime.
  • What do you do for remote access? Does an admin really have to login with a GUI remote desktop to each server? Is there a VPN endpoint that has to be used or are all the servers left open? How are bulk operations configured and run in that kind of mess? With Linux I can whip up a bash script in minutes to do whatever I need done to as many machines as I wish.
  • Is there a fast approach to setting up new servers on a variety of hardware? I can install Arch Linux in less than 10 minutes and I am not even doing anything advanced like PXE boots or disk imaging.
  • Windows fails in large environments. The latest big example is The London Stock Exchange completely abandoning Windows after substantial investment of money and time to set it up on that platform. As an older example I know for awhile (maybe even still today) Hotmail ran on FreeBSD after Microsoft purchased it because they couldn’t make it stable on Windows.
  • Aside from the second rate Microsoft products that are decisively outperformed by Linux alternatives (IIS, MSSQL, Exchange) is there any decent server or DB software that doesn’t run better on Linux than on Windows? I am thinking things like Apache, PostgreSQL, Tomcat (and the Java VM in general), Mongrel, JBoss, and innumerable others.

This is really just my frustrated attempt at understanding why people put themselves through the utter pain of running Windows servers. Why would you not use Linux? As long as there are people using Windows it means crapware like Blackberry Server has no incentive to port to Linux and that means I have to suffer at work. We’re 4:1 ratio for iPhones to BBs so maybe the best option is to get those final BB users switched over to a better phone.

If you are starting a company don’t even bother with Windows on the server. Their new Bizspark program may seem like a good idea on the surface but I view it as a trap. You get to use an inferior product for a few years and then must pay through the nose at the end or rebuild everything with the better technology you should have used from the beginning.

3 Responses
  1. 2009 August 4
    Hamed permalink

    This post is very timely as I’ve been thinking about this recently as well. Honestly, I’ll be surprised if any Windows Server advocates can make any real technical advantage arguments in their choice of using it over Linux. From what I have seen in smaller companies, many times Windows Server is used because the people administrating it are more comfortable with it. In fact, in many cases they don’t even know how to admin or use Linux. For example, I’m always appalled why you would want to run Apache in production on Windows or MySQL or Tomcat or etc when the performance on Linux has proven over and over again to be so much better and more stable. I think it comes down to the company culture.

  2. 2009 August 4

    I was recently – as of a couple weeks ago, anyway – Windows server engineer for a Fortune 500 company so maybe I can provide some insights for you.

    1. There are numerous centralized management tools – WSUS for OS patching, GPO for global policy enforcement and software updates (rarely, but sometimes) , and large-scale server and desktop management solutions like SMS/SCCM. And, of course, there are numerous similar/identical tools from third parties like Intel’s LANDesk and Symantec’s Altiris line. Virtually none are perfect but most are capable of patching very high percentages of global servers and desktops on a globally distributed basis.

    2. RDP is commonly used to manage a server by an individual admin – just as SSH is commonly used to manage a Linux box – but of course is not required. RPC/HTTP/HTTPS/BITS/WBEM/WMI and agents from MOM and SMS/SCCM are all potentially used to distribute patches and files to remote servers, remotely restart services, remotely reboot, and remotely run scripts. Microsoft is, finally, getting far more UNIX-like with PowerShell which has vastly more power – power that UNIX admins have taken for granted for 30+ years – than most of the junk scripting languages like VBScript and it can be used to execute commands and operations remotely through various management instrumentation APIs like WMI. Microsoft is pushing and improving PowerShell hard and the admin community has responded by creating many, many PS “cmdlets.” And given that Windows 2008 effectively has no GUI whatsoever available – Server Core – the notion that Windows server anyway “has” to have a GUI is steadily going by the wayside.

    3. There is no really fast method to install the OS that I’ve found, whether it’s XP or Vista or 2003 or 2008. Of course it can all be automated but realistically a full GUI OS load will take 45 minutes or more, no matter how fast the LAN. I haven’t tried an automated Server Core OS load but perhaps that could be trimmed to the 20-30 minute range. With all the OS patching required, agent installs, driver installs, and all corporate standard software you’re usually looking at at least an hour for a desktop OS load fully automated. It doesn’t compare to a bare CentOS, RHEL, or Debian/Ubuntu kickstart / preseed with a sub-10 minute install time though. Not sure what full GUI OS loads cost in time in Linux – Ubuntu Desktop, CentOS GUI, etc. – but I’m sure it still smokes Windows.

    4. Windows fails in large environments? Well, we ran thousands of physical and virtual Windows servers quite successfully. Does Windows always work well as a highly available, high-performing platform? No, though I think one could easily say the same of an untuned, unoptimized Linux box as well. Their mission critical corporate ERP – SAP – was running on very high end, highly reliable HP-UX and Sun SPARC hardware. I doubt it would occur to them to migrate their core mission critical financial system to Windows so your point is well taken. To Microsoft’s credit however, Windows Server has progressively gotten much more stable over the years. 2003 is pretty much rock solid – as Windows goes, anyway. One interesting, slightly comical holdover from the NT days I found was the company still continued to reboot every Windows server about every 90-120 days whether it needed it or not – yes thousands of servers globally were scheduled via MOM to reboot regularly.

    And MS has long since migrated Hotmail to Windows, though its failures to make the successful transition to Windows in the early days is well known.

    5. The answer to this question is basically the heart of why people run Windows in the first place – to run certain off-the-shelf software, whether it runs better or faster or not. They may run Windows because they think it’s easier or because the apps they want and/or prefer to use – ERP, Accounting, email/groupware, communications/VoIP, etc – run on Windows. Few OSS zealots get that major corporations are buying supportability when they’re buying Windows. The vast majority of corporate desktops are running Windows and integrating with the desktop platform is what is important. Startups and small/medium businesses see Linux as a way to save substantially on the cost of OS licenses to run what they want to run and aren’t daunted by what might be perceived as the difficulties and complexities of running Linux. Yes there’s RHEL and SuSE – and the company I worked for was using RHEL as their Linux platform because it had corporate support – but there hasn’t yet been mass adoption of Linux as a desktop platform on the corporate side. Yes there’s plenty of examples – exceptions, really – but by and large it’s Windows out there whether we like it or not.

    None of this means Windows is superior – it isn’t – it just means Microsoft is better at marketing, better at packaging, and better at effectively delivering solutions to their customers. They are known for making inferior products but plugging away for years and years chipping away at their competition. I’m a Linux advocate myself and use it for most of my own small business needs and wouldn’t dream of using Windows for my own application development needs but in the corporate world the reality is just vastly different. They require accountability up the chain and Microsoft has vast armies of support and technical people to back up their products, whether they stink completely or not.

  3. 2009 August 4

    Thanks for the thoughtful comments Jim, was a very educational read. Not coming from the Windows world a couple of the tools you mention I was not aware of and it is encouraging to at least know there are options out there.

    The PowerShell bit is especially interesting as I honestly feel that a lot of my pain with Windows servers boils down to not having the incredible shell that the Linux world has.

    My mindset for this post was specific to thinking about clusters of servers for running SaaS type applications or high volume / high performance external products, though I certainly did not make that clear. My own experience with large corporate IT is far more limited than my experience with scaling the former so I can be more easily swayed when considering a workstation / server mix for large company IT infrastructure.

Comments are closed.