I’m an IT guy in what is still largely a Windows world. I’ve been managing Windows workstations and servers for a living since 1996 or so, and I’ve always been left shaking my head, wondering how, exactly, Windows is considered “enterprise ready”, especially when better alternatives — as development platforms, as workstations, and especially as servers — are widely available.
While the Information Technology industry hasn’t caught up just yet, I like to consider myself a bit more forward looking than that. The way I see it, Windows isn’t ready for the enterprise yet. Sure, it might be good for playing games, but for doing serious work? For securing customer data and transactions? For safeguarding your company’s future and productivity?
Not even close, not from what I’ve seen. Here are six things Microsoft will need to do before I’ll start recommending Windows as the “best tool for the job”.
1. Improve Stability
As I mentioned above, I manage Windows workstations and servers for a living. While desktop computer instability is more on the level of an annoyance and can lead to lost productivity in the workplace (especially when it’s widespread), when instability strikes server operating systems it can be catastrophic.
In my experience, if a Windows server is up for longer than a month, two things are true:
a. It isn’t taking its updates
b. It’s only a matter of time before it does something “funny”
While I’m going to address security later in this article, let me say one thing about Windows Updates: you need them. If you are not applying updates at least monthly, you will regret it, unless you’re one of those oddball system administrators who doesn’t MIND finding that your servers are part of a botnet, or have been turned into a porn server, or a spam server, or more on the stability side of things, are ridden with bugs that Microsoft has deemed worthy of fixing in a patch or a hotfix.
As for my second truth there, in my experience Windows servers act “funny” when they’ve been up and running (and providing some service, not just sitting idle) for longer than a month or so. Odd things will happen… you might see some out of control paging file usage, bizarre error messages, services that are in some sort of “starting” or “shutting down” limbo (which only a reboot can fix), you know the drill.
My point is, Windows servers need frequent reboots. If you’re a Windows IT person and you don’t think that only a month of uptime isn’t ridiculous, then you obviously haven’t done anything other than Windows in your data center, because I’m here to tell you: it’s nuts.
Microsoft needs to address stability first and foremost, and while they’re at it, and while we’re on the subject of uptime, they need to engineer things in a way that won’t require a reboot for seemingly EVERY SINGLE UPDATE.
My last maintenance evening I had to reboot one particular server four times in order for it to take all of its updates, and it had only been two weeks since its last round of them. That’s ridiculous. I can count on one hand the number of times I’ve actually HAD to reboot a Linux machine after applying pushed-out updates for it.
It’s very difficult to take a server OS seriously that behaves like this.
2. Provide support for other filesystems
Seriously, guys, NTFS and FAT32 are not the only filesystems on the planet. Ext2 has been around since 1992. Ext3 has been around since 2001. These are standard filesystems, out there on literally millions of computers, both workstations and servers. They’re both wide open as well. There is no excuse for acting like they don’t exist.
Oh I know why Microsoft chooses to ignore other filesystems. But at this point it’s just willful stupidity. Microsoft tries to claim that they work hard toward interoperability, but let’s be frank. They don’t care one bit about that. If they did, there would have been full support for ext3 at some point over the last decade and they’ve made absolutely no effort in that area whatsoever.
While they’re at it, they should consider a new default filesystem to replace the aging and decrepit and high maintenance NTFS, because it’s really not doing them any favors, especially when other, far superior filesystems are available out there for free no less. Get with the times, gentlemen.
3. Standards compliance
Lots has been said about Microsoft’s bizarre ideas about “standards”, but in the real world, they’ve become the defacto standard for a lot of things simply by shoving this stuff down everybody’s throats.
That needs to stop. Microsoft needs to make Internet Explorer W3C compliant, and Microsoft Office needs to at least be able to open documents that adhere to the ODF standard, instead of (again) just willfully ignoring anything that they themselves didn’t create. This stuff is everywhere, it’s wide open and available, and lots of other applications out there manage to handle this pretty well… but not MS Office. There’s no excuse, guys. Catch up to the rest of the world, please.
4. Centralize updates (for applications as well as the OS)
One of the things that drives me nuts when managing Windows workstations is the fact that I have to go through the Windows Update process for Windows, and then manually download and install hotfixes and service packs for Microsoft Office, and then let some dumb updater process run all the time for something like Quickbooks, and Java, and myriad other applications.
Microsoft needs to make an effort to centralize some of this. While working with tons of software vendors is largely like herding cats, folks in the open source universe manage to do this pretty well, and things are a lot more “wild west” where that’s concerned. You can’t tell me that Microsoft couldn’t put pressure on software vendors to work with them on this and create a single, streamlined update point to make things easier on everyone, sysadmins and end users alike.
5. Improve performance
Anyone who has tried using a netbook or an older workstation with Windows on it will know what I mean when I say that Windows is sluggish on limited hardware.
But even on newer, more substantial hardware, Windows is underwhelming in performance when one compares it to other operating systems. I recently configured several new Windows 7 workstations for a client, and these were good machines. Brand new, Intel Core 2 Duo processors, 2GB of RAM, good middle-of-the-road video cards.
And Windows 7 was a dog. Took over a minute to boot up, had to wait around a lot when navigating, opening files. I’ve been using heavier Linux based desktop OSes lately, like Ubuntu and Mint, and even with Compiz turned on in all its glory they’re a damn sight faster on comparable hardware than Windows 7 is.
And on something older? Forget it!
In the server side of things it’s even worse. Microsoft needs to figure out the simple truth: server operating systems don’t need an effects-heavy graphical environment up and running all the time. That eats up precious overhead that, 99% of the time, is just sitting idle, since most servers don’t have an admin sitting in front of them doing stuff all day every day.
While being able to configure a server graphically is important in this day and age there needs to be a way to shut all of that overhead eating garbage off when the server is just sitting in its rack, doing its job.
It’s difficult to take Windows seriously as a server OS when it eats up that much of a server’s resources just sitting idle.
6. Improve security
You knew I was going to get to this sooner or later. Security in the Windows world is, well, a joke.
There is not a week that goes by that I don’t end up cleaning spyware off of some end user’s workstation. And I’m not just talking about XP. I’m talking Vista and yes, even Microsoft’s darling Windows 7.
Basically put, in the hurricane of spyware, malware, adware, trojans, and viruses that is the World Wide Web, taking Windows out into that storm is like driving a convertible in the deluge with all the doors propped wide open and the top down.
While Linux based operating systems have their share of security issues, I simply don’t ever see this problem getting this incredibly bad even if something like Ubuntu were to have 50% market share. The weakest point is always going to be the end user, true, but if you put the end user on a platform that prone to security issues by default, you’re going to have far more problems than if they were in something that had all the holes sealed up (or at least fewer, smaller holes to worry about).
I always find it funny when I read articles that are mostly FUD that say things like “Linux is not ready for the desktop” and “not ready for the enterprise”, because as I just discussed, the reality of the situation is that well, neither is Windows. Whether you’re running XP or Windows 7, Server 2003 or Server 2008, you’ll find that compared to the alternatives, you’re running something that requires constant attention, constant hand holding, constant reboots, constant patching, constant reloading, troubleshooting, more hardware requirements, and more security-mindedness in your administrative approach, just to do its job.
I can’t, as a professional, in good conscience recommend this platform to anybody if I don’t want to feel dishonest. Maybe if Microsoft addresses these points even partway my opinion will change, but until then, I can’t take Windows seriously as an operating system, not on servers or workstations.
Keep working on it, guys! You’ll get there some day!