Pragmatic Interview on Unix vs Microsoft on the Desktop

scrottie on 2005-09-17T05:59:30

Stating a bias or showing ignorance in a public forum is a damn near sure way to be corrected and, by extension, educated. Some joked (via image) that Unix users get laid as often as they reboot in response to my stating I avoiding Microsoft Windows and therefore am not qualified to answer a Perl question touching on it. In response to that barb, I cited The 9 Types of System Administrators, which was written way before the verb "administrate" would be applied to Windows. Unix desktop administration/IT has changed a lot, but a few of the stereotypes hold some truth, such as Unix admins automating their jobs away so they can go rock climbing. I found these stereotypes to be more fun and more flatterning than the I showed the bais that Microsoft Windows administrators spend their time locking down the desktop and thought the barb needed a counterpoint. A flamewar ensued. I was told:

Frankly, you are talking from your nether regions. You don't have a clue about Windows enterprise adminisitration, the capabilities of Windows servers or the requirements for Windows desktop support. You should stop talking.

This is partially true, but I wanted to change that -- I wanted to know what the landscape looks like now, as I've been out of the Windows-admin game for a long time. Though I've sat next to people doing Windows admin in large companies, I may have only heard the worst parts of it, and the companies approaches may have been far from optimal. But most of my experience in the area of desktop admin/IT comes from the Unix side, and the rareness of people with this experience is what prompted me to write (again -- I did an article for Advogato.org a while back).

Q.In fact, I'd like to hear that the world is a better place than what I've seen. And you have to admit, how Windows is used in small and medium sized offices is wreteched.

A.If unqualified people try to deploy Unix, the reults are equally crap.

Comments: I'm not sure whether to conclude that Linux admins are all-in-all more qualified, and if so, whether it's easier to become qualified, but it sure does seem like there is a shortage of qualified admins, according the definition of qualified admins being people who are able to make a non-hellish desktop fly.

Q.Has the ability to network install applications improved since Novell and Windows 3.11, where few applications would work from a network install?

Q. Windows servers can easily and automtically roll out applications on demand or by policy. It is the DEFAULT behavior, easily managed by knowledgable admins, and regularly done at mid-sized companies. It requires knowledge and if people who are not qualified are deploying Windows, don't blame the OS.
br> Comment: I saw one large health-care provider attempt to use that feature. About 20% of machines would be completely hosed every time they tried that. Sat next to those poor schmucks. It proved to be more work to fix the broken machines than to do what they were doing, which was loading up all of the machines on carts, re-imaging their harddrives, and then replacing them with a nuked machine -- for thousands of workstations in the company. In attempt to minimize relativism's vagueries, I asked a pointed question:

Q.Does it[rolling out applications] require more knowledge than giving someone shell on a server, doing a pkgadd, and showing people how to run X apps remotely?

A. Holy crap man, you are so full of it the channel is overflowing. You have clearly NEVER been a sysadmin.

Comment: I didn't mean to imply anything, just decide whether Windows was on par, superior, or at a disadvantage in this one area. Apparently this wasn't a fair comparison to make as evidant by the offense taken. Regardless, no answer, even a vague one, was given by any of the two people who claimed knowledge of the subject. Let me try to patch things up so that I can continue asking questions:

Q.I'm sure everything done on Unix is possible on Windows, but the expense, difficulty, and speciality of the knowledge genereally prevents it form being done -- especially in samller outfits.

A.I need to stop before I am tempted to say or do something inappropriate.

Comment: Holy cow! So much for patching things up. I say, "many Unix admins are strongly baised and/or ignorant of Windows matters. Don't be so suprised. Enlighten me some more", but to no avail. I say, "I asked you if one method of doing something on Unix was easier than what you described. You haven't answered me. Say 'yes' if you think it is" -- for naught. We're down to one Windows admin to help us.

Q.Netbooting is coming back into fashion in the Linux world, where thinclients netboot and run many applications remotely with the most common applications, such as office software and Web browsers running locally. Has netbooting on Windows changed significantly over the years?

Comment: Asking if something has changed since 3.11 was probably a bad idea, even thought I wouldn't be offended if I was asked if something had changed since Linux 1 -- a lot has and a lot hasn't. But in the interest of keeping the answers flowing, I'll be gentle. Still, a catty game of Q&A went on for a while, and as it turns out, PXE basically is not used these days for boot Windows over the network, thought it remains unclear whether or not it could be. Windows 3.11 would commonly be netbooted, allowing sysadmins to maintain one working image, making changes and updates there, and having everyone updated to the same image. Of course, if everyone showed up at 9am sharp and turned their machines on, no one would be doing any work before 10am.

Q. I know Windows users started using PCanywhere at one point, and kind of picked up on the idea of network transparent windowing, but did this ever go multiuser, where one Windows system would serve a few people at once, such as with Terminal Services or Citrix? Do end Windows users, such as office workers, Windows programmers, and random IT people, run that so they can have other people do things on their machine whlie they work? Or, alternatively, do PCAnywhere or similar applications yet offer similar functionality? My question is whether Microsoft *users* use it to give accounts to friends and coworkers. Okay, let me rephrease. When you give someone an account on your Windows machine, do you have to log off for them to log on remotely?

A. Are you talking about terminal servers? one terminal server can serve dozens, if not hundreds of users depending on the hardware? Citrix is used at the hospital, and it also serves multuple users on one server. [....] We use 3rd party remote control software. it's common practice in both the hospitals I work for and the university. A-ha. On a non-terminal server, yes [the other person must log off before you can log on]. It's not a multiuser OS in the same sense as Linux. Remote desktop with Windows XP works fine, but it's limited to one user at a time. But you can always start a shell on their box while they're logged on, I do that all the time.

Comment: I kind of knew the answer to this already, but I'm seeing more and more examples of people running pirated copies of Microsoft Windows Terminal Server Edition on development machines under their desks. MWTSE is expensive, so I hope for their users sake, Microsoft will lower the price and take this technology mainstream, as it's clearly a nice feature and people want it. Getting this question answer entailed rephreasing repeatedly -- the requests for clarification and irralavent answers were ommitted. Unix users routinely invite their friends to "come hang out" on their system by giving them accounts. For many years, this was the foundation of departmental servers, where everyone would log onto one machine, and share files (relating to business, of course), programs, and all benefit from automation written by the sysadmins. Q. I'd also like to see what we call "rootless" windows, so you could VNC/RDP/ICA/PCAnywhere just one application's windows from a machine, rather than pulling down it's entire desktop.

A. I suppose those are features Windows currently lacks?

Comments: On Windows, it's easy enough to attach to a particular server and run software on it, but it quickly becomes confusing and tedious to work on several remote servers at once. The user must constantly sort out which application is on which server, and flip to that connection, and then flip to that application there. With "rootless" Windows, which is the default on Unix when running X11 applications on remote machines for display on the local machine, all of the applications, their windows, their icons, etc are all intermixed, just as if they were all running on your machine, except the file system is from the perspective of the server they're running on. This feature makes it fantastically easy to deploy applications and services, and makes implementing thin clients trivially easy, as any number of applications server, each serving different applications or databases, can be used rather than one machine that provides the entire desktop. I seem to recall some VNC hack attempts to bolt this feature on, and I also noted publically that if users screamed for these features, Microsoft would surely deliver them, so the only real tragedy is that people aren't aware of them.

Q.Do Windows organizations do ad-hoc programming for desktop users? Does any fascility or department exist for this in lage companies, or are general office workers expected to do their own automation using Word/Excel/Access and shared files?

A. 3rd party software is available to do various things.

Comments: Unix on the desktop or Unix powering the desktop was so nearly for so long, that little memory remains of what was done in days of yore. Now that it's making a comeback, this knowledge is being lost, and Unix is being re-invited in the image of Microsoft. The problem is networking. Each of the questions outlined above, including this one, highlights a way in which Unix systems used to be used as tools of collaboration across the network -- running applications remotely, support for concurrent multiuser sessions, handing out accounts to friends, and so on, where peices in what had been assembled of this puzzle. But more was needed, even then.



Conclusions

Conclusions were drawn largely by complete silence or outright evasion in response to questions, though I did get many answers. I learned a few things, but for the most part, the landscape has not changed significantly from the days of Windows 3.11, filesharing, Novell, and network application installs. A lot can be done with Microsoft Windows as a departmental or desktop workstation/server setup, but the cost, difficulty, and specialized experience required to make it happen is a significant barrier that mega-corporations struggle with a medium and small sized businesses wouldn't touch, even if they knew about the features. The only substantial development was the work done by Citrix (Citirix Metaframe) and later extorted by Microsoft as Microsoft Terminal Services Edition.

However, most differences are in attitude, not technical. Unix setups are server-centric, data-centric, while Windows deployements are user-desktop-centric. In Windows, business data is generally emailed to you (in ad-hoc cases where it isn't part of a the database), whereas on Unix, the user generally remote-logs-onto a server to access data. In Windows-land, the data moves; in Unix-land, the user moves. Specifically:

Important business data tends to be put in departmental-public places on Unix whereas on Windows it winds up on the C: drive, the Z: drive (user-private fileserver area), or in the Outlook inbox.

Unix applications that process data tend to exist on the same server as the data, allowing programs using many modules, libraries, and other products to be duct taped and glued together. By contrast, Windows data munging applications must be bundled for distribution to be run on the individual workstations, changing automation from a matter of scripting and levering a pile of software to a matter of developing a compiled, stand-alone application -- a level of difficulty that makes the whole idea of one-off applications unattrative in all but the most extreme circumstances.









My experience is Windows admins throw some applications out there, such as Microsoft Office, and Lexus Nexus for those who need that, and a few other things, then leave users to fend for themselves. Badly designed Access databases are created, and Excel spreadsheets are used as ad-hoc databases. Outlook/Exhcnage is used as a database of persistant documents, much like one would use a Wiki. And that's it. There's a stark contrast here, and the Windows side seems to take the DOS-centric approach of each user having a computer, and communication between computers happens entirely in the form of exchanging files. And, in the enterprise, this happens overwhelmingly by email. And the Unix guys wonder what kind of brain damage these crazy Windows must have suffered to consider emailing a copy of a database around, sending a multimegabyte file through email dozens of times a day, manually trying to track who has the latest copy. While Windows machines are capable of sharing files through a fileserver (though this is poorly supported by Microsoft Access, which only lets one user lock a file at a time), Unix users are used to both data and applications living on the server, where the admins have set up reporting, merging, editing, and query features as ad-hoc tools.

In a lot of ways, running Ultrix on a DEC 31000 was easier than running Linux these days. Companies are less willing to invest in hardware, administrations have more users to support, and users are less willing to learn powerful, cool, but somewhat techinical tools to get their job done. And even back then, in the early 1990s, we had intra-office text messaging, email, vacation autoresponders, corporate directorying, and all that juicy stuff Microsoft got sooner or later. But the spirit of the Unix desktop is badly damaged, and in its suffering is trying to recreate itself in the image of the model Microsoft office. Users aren't happy to use little text files as databases, and awk generated reports are rare to be found these days. Running RedHat Enterprise Edition, a desktop user isn't likely to ssh into a server and run text-based applications, and the graphical database tools leave little room for Unix admins to work their magic. No one runs fingerd any more, so figuring out where your coworkers are logged in from and walking over to them no longer works, and you can't even see what applications they're running. X-terms and dumb terminals are dead. While it's not uncommon to see a Windows desktop machine being used to ssh into a server, important files are likely to be on the C: drive, rather than in someones home directory where a quick flick of a permission bit makes it available to the department or company. It's strikingly evidant that Unix was a fantastic timeshare environment for one machine but didn't scale to providing the kind of sharing and communication for the network, and as a result, the Unix desktop is nearly as isolated on the network as the Microsoft Windows desktop. Unix admins have been struggling for the past ten years to figure out how to automate userful tasks, beyond just those related to maintain basic service.

The primary focus of the Windows sysadmin seems to be on locking down users desktops. The XP firewall allows a whitelist of applications allowed to talk to the network, and a common means of attempting to secure a Windows machine is to lock it down so only Outlook, IE, and perhaps a few other applications can talk to the network. This strikes me as a return to the days of dedicated office computer systems, such as those sold by Wang, where the tasks available to a user were clearly enumerated, and no other tasks could be performed using the computer. This is ironic considering Microsoft's pain at losing control of the desktop to the Flash and Java empowered Web -- rather than making their desktop more useful for users, they've catered to the sysadmins, and users no longer consider their desktops their own. Instead, they live through their Webmail and Flash games, and companies rolling out networked products use HTML, DHTML+Javascript, or Java to make it happen. With the industry moving away from actually writing software for the Microsoft desktop, it seems as though Microsoft desktops are ripe for replacement with thin clients.

Simply put, a call for support to a Windows helpdesk is likely a problem printing, or another problem involving a machine misbehaving or malfunctioning; a call to a Unix helpdesk is likely a request for automation of some task or advice on getting some business task done with the aid of the computers and network. While Unix admins are often moody, especially with ignorant or stuid users, they're also generally keen to automating tasks demanded of the computing machinery in the name of getting business done.

Microsoft Corporation has taken a softer attitude towards hard questions, and trying to answer them, putting themselves in the best light possible, rather than shutting down entirely. Shutting down entirely, or becoming irrate, beligerant, or insulting wasn't good PR and just made Microsoft look imbicile. The attitude shift apparently hasn't caught up with their users, who don't like to talk about absolute merits.

But I'm not the only one to draw conclusions: No. I don't like this sort of discourse. Go read on your own. What you described as the requirements to manage a Unix enterprise are so short of the reality there is no point in talking. Apparently enterprise Unix desktop administration is so simple that the procedure is implausible.



Afterword: This could have benefit from more editing -- especially from the use of the bin in the editing room. Insights and constructive feedback are encouraged in the comments, but please keep to yourself opinions and conclusions without evidence or at least a good argument. Everyone has an opinion, and most of us already know what the spectrum of them are. I'm trying to de-muddle things, so such grotesque simplifications are out of place ;)

-scott


still no revision control for windows config

TeeJay on 2005-09-18T09:46:16

I administer both windows and linux servers for both the internal business LAN and also large web applications for dozens of clients.

There are several things that I have noticed using win 2003 Server (the latest server offering)

* Still no revision control or templating of configuration for applications, or the ability to add comments.

* IIS still lacks the ability to add actions to parts of the the web transaction along the lines of Apache's handlers for each part of the request cycle

* Active Directory means that network problems or corrupted directorys can make data inaccessible even to local administrators.

There are other problems we face day to day as well such as poor menu layout, poor organisation, etc. Some of these problems can be found in Linux and UNIX but Windows proponents claim that windows has a great and consistent, easy to use interface, and that is rubbish.

Unix terminology

jmm on 2005-09-19T13:44:49

It's possible that a lot of the antagonism in the responses you received was due to expressing your questions using terms you understood (i.e. Unix terminology) rather than in terms the people you asked understood (i.e. Windows terminology). While you can't use the terminology you don't understand; they may be incapable of understanding the question when expressed in terminology they don't use.

I once tried to set up a Samba server. The documentation told me how to set up a huge number of things. An experienced SMB admin would know what those things were and how they'd choose an appropriate subset of the things for their particular needs, and how to configure the Windows boxes to make use of those things. But I was looking to set up Samba because I had no interest in becoming a Windows admin. What I needed was a Unix terminology description of Samba and how it can be used for administering an Windows network. That documentation was useless to me.

Re:Unix terminology

scrottie on 2005-09-20T03:38:30

Thank you for this very nice, insightful reply -- this completely didn't occur to me. I was aware that I was in no position to illustrate the ways in which Micorosoft Windows has an edge over Unix, of course, but that was pretty obvious at least =)



-scott