I've been a little unfair to the Windows crew the last few weeks. I've been going on and on about Unix administration and occasionally using Windows as an example of how not to do things. But as I reflect back on those posts, I must admit the Windows I've been bashing belongs mostly to the past.
The Windows Server of today has more in common with Unix than many people want to admit. The upside: more stable servers, greater scope of services, better adherence to standards, and Microsoft's newfound willingness to work with its competition. The downside is that Windows may have become more complex than Unix from a management and administration point of view.
The good stuff is really good. Newer tools like PowerShell show Microsoft understands it needs solid and complete scripting languages for serious admins to take it, well, seriously. PowerShell has been around for several years, but only recently has grown into what I'd think of as a truly useful tool.
Then there's Hyper-V, Microsoft's virtualization solution, which has matured over the years. During that time, Microsoft has shown great interest in ensuring that Linux virtual machines run smoothly, even writing kernel modules and drivers specifically to support a variety of Linux distributions. This is not the same Microsoft of the "Linux is a cancer" days -- not at all.
Those are but a few examples of what might be called a kinder, gentler Microsoft that sees the need to coexist -- not try to dominate -- the rest of the computing world. Heck, Microsoft Operations Manager will automatically SSH into an RHEL box and install Microsoft RPMs for management. If you can't beat 'em, join 'em.
Of course, the other side of that coin is the old truth that those who don't understand Unix are doomed to re-create it poorly. I see that happening to Windows these days, but perhaps not as you might expect, and maybe not so poorly.
Windows was built on a platform of relative simplicity: While the rest of the IT world was buried in Unix shells and mainframe prompts, Windows offered a relatively cheap and simple way to deploy business services to companies of any size. A few clicks here and there and off you go.
Meanwhile, the Unix camp was busy digging through Byzantine configuration files and file system labyrinths. Windows removed the opacity inherent in the command line and delivered something visually tangible that gave less skilled IT workers the ability to see what they were doing, reducing the learning curve. That strategy paid off handsomely, even though the main products at the time -- Windows NT 3.51 and then NT 4 -- were about as stable as drunk Weeble Wobbles. (Somehow, that didn't seem to matter so much then -- it sure does now.)
What I see now is that Windows is becoming more complex than Unix systems. Yes, Unix geeks are still digging through those configuration files and dealing with minutiae (like the fact that, no, a hash isn't a commenting character in a BIND zone file and yes, HylaFax logfiles are under /etc). But the Windows camp has its own problems as it desperately searches through context menu after context menu, right-clicking all over the place in search of that one buried configuration parameter that it could swear was in that menu just yesterday. Or maybe in another MMC snap-in. Or was it in a separate app? Those admins with some knowledge of Unix (and/or those who don't fear the command line) start jumping into a DOS window to run
somecommand /? to see if they can set a flag that way, and so on and so forth. These are the guys that know the switches to fileacl by heart.
As I see it, this all started with the advent of the registry, but with the release of Windows Server 2003 it really expanded -- and has grown steadily over the years as layer after layer of code has been superimposed on the frame to support new features. Now you may find Settings, Configuration, and Properties in the same context menu, and all three will contain completely different sets of parameters and information. And the object may also exist in another pane, with a completely different set of selections from a different context menu. To me, that's more frustrating than digging through a massive config file in /etc to figure out which parameter does which, because at least you can
grep the file or hit up a man page from the same shell. However, it does underscore the growing complexity in Windows server administration.
Like I said, it's long past time to cut the Windows folks a break. Good Windows admins aren't just pointing and clicking -- they're navigating a very complicated operating system and set of supporting services, eschewing GUIs in favor of command-line work, and writing PowerShell scripts to automate tasks and provide greater simplicity and functionality. They may be doing all this on a platform that doesn't have the lineage and heritage of Unix, but it would seem that they're getting closer every day.
This story, "Why the Windows Server crew deserves respect, too," was originally published at InfoWorld.com. Read more of Paul Venezia's The Deep End blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.