This article compares the Microsoft client-server architecture to the Unix approach in terms of systems decisions facing a University faculty. To put this in context, imagine that you are being interviewed for a job as systems manager at the faculty and the chairman of the selection committee has asked you to come in prepared to discuss whether the faculty would be better served if it went all Linux instead of staying all Microsoft.
Notice that you're not being asked the traditional "which is cheaper?" question - most people have little trouble figuring out that free is cheaper than not-free. What they're looking for is something to help them reach their judgment about you -and maybe some validation of what they were thinking to short list you. They won't be evaluating your grasp of the facts, what they'll be looking for are indicators of your behavior and attitudes. Are you a leader or a follower? do you understand what drives the people and structures in their organization? do you care? does your strategic vision of computing align with their needs? what kind of risks would they be taking if they voted to offer you the job?
First off, you might as well tell them up front that you're a Unix evangelist; it isn't likely to be a secret and there is always someone who'll chalk up a point or two for honesty. That said, you have to get past the initial ritual bowing to the reality of transitions and the risks of asking people to change behaviors. Getting the transition done is the hardest challenge you'll face if they offer you the job, but talk about it now and you won't be getting the job. So mention its importance and move on to the good stuff - talking about the clash of computing philosophies and your view that systems should be invisible: just magically there when needed.
To make sure everyone's on the same page you should begin by defining your terms and your understanding of their requirements. For the faculty that's operational access to systems managed by the University, email, document management and preparation including all the OpenOffice.org stuff, student access, educational programming (mainly web baseed course development and delivery) and internet services.
Be aware, and show them that you're aware, that some faculty will have personal favorite packages that can't be ported and which they won't give up. Mention that there are many ways, down to plugging in a Microsoft Windows machine, of acommodating these under Linux either on the desktop or at the server level.
Point out that you're not going to compare Linux to Windows/XP Professional; You're going to be comparing systems built around the Microsoft client-server model to systems built around the Unix shared access model.
The Microsoft client-server architecture requires that the user interact with a Microsoft operating system running Microsoft applications on the latest Intel powered PC. That machine, that client operating system, those client applications, then interact with other Microsoft applications running on other Microsoft operating systems installed on PC "servers."
The Unix business architecture, in contrast, relies on smart displays to provide desktop access to
centralized Unix servers. These, like the NCD shown here, typically offer large screens, high
resolution, fast graphics, and extreme reliability. They have no moving parts, and no user
accessible operating system. People just turn them on, login to the machine of their choice,
and start using applications.
The most fundamental difference between these two architectures isn't direct cost; it's user behavior and the relationship between users and the systems group. The chairman mentioned Linux, but everyone needs to remember that Linux is Unix - that it implements the standard set of Unix ideas about user control and how computing should be done using a Linux kernel and the same GNU utiities found in nearly every other Unix product.
| And another thing.. |
|---|
The basic principle behind open source
and the "release early, release often" strategy was described in 1965 by Multics designers
Corbat and Vyssotsky, when they wrote
It is expected that the Multics system will be published when it is operating substantially. ... Such publication is desirable for two reasons: First, the system should withstand public scrutiny and criticism volunteered by interested readers; second, in an age of increasing complexity, it is an obligation to present and future system designers to make the inner operating system as lucid as possible so as to reveal the basic system issues. The internet allows more people to communicate more quickly over larger distances, but the principles haven't changed and the evolution of Linux as a Unix implementation wasn't structurally different from the evolution of BSD or Mach. |
When Dennis Ritchie described part of the motivation behind his original work on Unix he didn't say "the network is the computer," mention Linus Torvalds, or talk about open source - largely because it was 1979 and a lot of stuff hadn't happened yet. What he did say in The Evolution of the Unix Time-sharing System set out the philosophy behind all of those:
What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form. We knew from experience that the essence of communal computing, as supplied by remote-access, time-shared machines, is not just to type programs into a terminal instead of a keypunch, but to encourage close communication.
That Unix orientation to sharing and communication is the exact philosophical opposite of Microsoft's proprietary stance. The PC community's "one man, one computer" mantra started out as a rallying cry against centralized control but became a lie as organizational needs for collaboration, control, and security were re-asserted in PC environments.
Organizationally PC use started out to be the equivelent of putting a brain in each leg of a centipede and expecting it to jog. To make that work the organism had to evolve a central brain with the ability to ruthlessly surpress all the others. That's what's happened to corporate PC use, desktop lockdowns and centralized servers mean that a lot of business users are now discovering they've traded the reliability of IBM's 327X terminals for an unreliable GUI owned by an unresponsive help desk.
In a Unix baseed architecture lockdown makes no sense, and very little users can do will affect overall systems operations. As a result they get real freedom to use a much larger resource - and help where needed.
In the case of a teaching faculty, a systems decision affects both its own costs and those incurred by, or on behalf of, its students. If the faculty stays all Microsoft, individual students will have little choice but to go the same way; otherwise they could find themselves at a disadvantage relative to those who do.
If you looked at this issue from a purely technological perspective, you would say that students using products like Konqueror and OpenOffice.org on Linux at home would have little trouble working with the Microsoft systems at the faculty- and this is true, they can access most IE sites and convert Word or Excel documents back and forth quite easily. Look a bit more closely, however, and you'll see that the student's role at the faculty isn't like that of an employee at a business or other organization. The work/home separation characteristic of the employment relationship doesn't exist here; instead the needs of the faculty impose themselves as a kind of distributed working environment on off-campus life.
In an employment situation the power relationship between employer and employee ends when the employee goes home. Employees using home computers, even if they are doing office work, are usually free to bypass bypass web sites that limit themselves to Windows clients and to use office time and equipment to adapt documents prepared at home to Word's rather odd ideas about font usage when converting them to the office PC environment. Students don't have those options. They can't "just say no" to on-line exams that assume a Microsoft client or argue that Excel's solver is incorrect when some prof uses it to get the "right" answer on a small linear programming problem assigned as homework.
There's an old saying about a chain being only as strong as its weakest link - the variation of this applicable here is that the student's freedom of choice is constrained by the most proprietory piece of software the student has to accomodate. If the faculty picks Unix, the students will be able to pick almost anything for home use - since there aren't any significant proprietary elements to worry about. Continue with the Microsoft PC, however, and the students will be restricted to that too.
As a result, student PC costs must be counted as consequences of the decision the faculty makes.
Looked at over five years, the direct costs for both architectures play out in terms of the initial outlay for hardware, software, and set-up plus the operating costs that go with user support and the kind of "evergreen maintenance" required to keep pace with internal and external change.
Given fifty or so faculty members, five non systems support staff, and the need to maintain about 450 workstations for student use, mid February 2003 costs for the Microsoft PC Client-Server architecture look about like this:
| Hardware | Software | Unit Cost | Total Cost) |
|---|---|---|---|
At the School: Dell GX260, 17" flat screen, 256 MB of RAM, 40 GB hard disk, 2.8GHZ P4; Canon bubble jet printer |
Windows/XP Office/XP Pro |
$2,063 $219 |
$1,163,820 (510 units) |
At Home: Dell Dim 8250, 17" monitor, 256 MB of RAM, 120 GB hard disk, 2.4GHZ P4; Canon bubble jet printer |
Windows/XP Office/XP Pro |
$1,458 $349 |
$650,520 (360 units) |
| Rack of four Dell Poweredge 2650; 2 x 2.4-GHz Xeon, 2 GB of RAM, 2 x 36 GB disk Four units: Dell Powervault 770N NAS 438GB |
Windows 2000 back office servers Estimated as Small Bus. Server 475 CALs @232 |
$38,944 $42,100 $110,200 |
$191,244 |
| 36 Month Hardware Refresh | $1,658,024 | ||
| 24 and 48 month software refreshes | $695,060 | ||
| Staffing and related, Including overheads | 5 full time | $75,000 | $1,875,000 |
| School Total | $4,806,958 | ||
| Parent Total | $1,426,680 | ||
| Five year direct TCO | $6,233,638 |
| You couldn't make this stuff up |
|---|
|
During the early days of the GUI a lot of serious researchers worried that
reading from a CRT was harder than reading from paper - resulting in reduced
comprehension and lowered information retention.
That argument was more or less settled in 1989 and 90 through work done by Mutter et al at the University of Toronto. Their results (see Behavior & Information Technology, VOL. 10, NO. 4, 1991, 257-266.) showed that reading from paper and CRT displays produced roughly equivalent results. Their work was done using Macs with Radius full page displays - but widely misinterpreted as applicable to PCs running Windows. In those days Apple made its own graphics cards and the Macs used in the experiment benefited from something very like XP's ClearType - a technology Apple first applied on the 1979 Apple II Plus. |
One of the interesting things about this tabulation is that PC costs have gone up quite considerably over the last two years. Those increases happened mainly in two areas:
Flatscreens aren't just popular in the Windows PC world; they're valuable. Microsoft's ClearType technology, available with XP and mostly applicable to LCD displays, offers clear advantages in readability. Those advantages almost certainly correlate directly with the student's ability to understand and remember material presented on screen and thus are as much a requirement for PCs used in education as ABS brakes are on a new car for use in Canada or the northern tier states.
Storage area networks started out as a solution to storage management needs associated with unconstrained Microsoft server sprawl but Microsoft's licensing demands and software adaptations to use of storage area networks are rapidly making them mandatory components of professional practice in any Microsoft server environment.
In contrast, the faculty IT group is significantly under budgeted with only five people, one of them a manager, to support five hundred users. The Dell pricing therefore includes three years of next day on-site support for the gear exposed to student use - and it is implicitly assumed that most of the faculty will act as their own front line support for themselves and their students.
On the Unix side, however, costs have continued their decline - allowing this comparison to be based on 21 inch NCD smart displays at the faculty and 19 inch home PC screens supporting Linux, instead of the 17 inch screens specified in the previous analysis.
For the faculty the Unix direct cost advantage starts out at about 25% of the cost of the Windows architecture and that number improves to an estimated 50% direct savings after five years.
For the parents, however, the range is wider and the pattern is different. Their initial capital outlay is only trivially smaller for Unix than Windows largely because they buy higher quality gear- but exceeds 50% after five years because their students eventually leave home still using those original Linux PCs.
| Hardware | Software | Unit Cost | Total Cost |
|---|---|---|---|
| 505 x 21" NCD smart displays | NCDWare | $1,620 | $818,100 |
| 2 x Sun V1280, 12 x 900MHZ CPU, 1.7TB Disk (2 x 876GB), 32GB RAM | Solaris with all needed application software | $219,900 | $453,790 |
| Administration workstation: SPARCstation 2000; 2 x 1GHZ CPU, 4GB, 2 x 73GB disk, CD-ROM & floppy drives, 21-inch monitor | Solaris | $31,254 | $31,254 |
| At Home: Dell Optiplex GX260 19-inch, 256MB, 2.8GHZ P4, Canon F60 Printer, with SCO/Linux |
OpenOffice and related open source tools | $1,760 | $633,600 |
| Staffing: includes overheads | 1 | $120,000 | $600,000 |
| Cost to College | Includes 20% annual maintenance | $2,162,300 | |
| Cost to Parents | $633,600 | ||
| Start-up total | $2,798,880 |
There are several things to notice here:
More interestingly -to return to the job interview metaphor- you could sensibly say that one of your first jobs after the system reaches operational stability will be to explore having the faculty set up its own DSLAM to offer local ADSL connection services to students and faculty. That, of course, requires faculty and Univeristy policy endorsement but, if viable and approved, could lead to full cost recovery on network operations while offering both faculty and students costs reductions on home access.
On the Windows side this is far too low with most researchers suggesting that total Microsoft Windows support staffing should run in the 40:1 range; not the 100:1 range shown here. (Note that some "studies" do show ratios of 100:1 or better, read those carefully, however, and you'll see that the number usually applies only to help desk staffing and not to the entire support operation).
For example, a recent Booz-Allen, & Hamilton study for the Virginia Department of Education, for example, shows more than 11 FTE (Full time Equivelents) deployed to support operations on only 371 Windows computers and 59 Macs for a ratio of 39:1
On the other hand, the Unix number may seem low. You do sometimes see, for example, "studies" that show Windows support and maintenance costs to be lower than those for Unix. Generally speaking, however, what those demonstrate is that you can get any result you want to pay for simply by selecting the right sources. Interview people who use Unix as a cheaper mainframe or Windows server and their staffing costs will be higher than those cited in a Pro-Windows ad or white paper. Interview people whose Unix use consists of a five year old HP-UX machine running Oracle Financials for 1,000 users and you can compare their results to those from people running personal Linux web servers to discover that Unix can be 80% cheaper than Unix - this kind of thing depends on what questions you ask, and -more importantly- what you don't ask.
In the real world, however, Unix is kind of fire-and-forget. Get this system working right, fire anyone who logs in as root without the right skills and a well thought out reason for doing so, and it'll run by itself for years.
You might have noticed the exorbitantly expensive workstation I gave myself as a signing bonus here. Yes, it's a toy and it's overkill, but there's a also a serious purpose. Every change, every piece of new software, on one of the operational machines will be run on the workstation first. That's because the overwhelming majority of Unix systems failures arise from administrator action; using this workstation to pilot those and then control the implementation - to avoid fat finger syndrome- will eliminate almost all of those.
Think about it, there are tens of thousands of ten year old Unix machines competently running current software with 24 x 7 reliability - but you won't find any ten year old 486s running Windows 2000 Server with current application loads. Most people who bought Sun or HP servers five years ago still use them; but people who bought NT servers with Windows 95 desktops have typically had to upgrade their hardware twice, and their software three times - just to be ready for the next round of upgrades this year.
There's a key organizational difference too that doesn't show up in the cost table. The Unix system provides near perfect reliability and freedom from both student and external attacks on system integrity. Remember Slammer? Lirva? Code Red? whatever today's special Windows horror is? Most of this stuff just doesn't affect Unix operations - although Microsoft boxes on the internet can pollute the network to the point of slowing down external access.
It's easy to create estimates of the cost impacts of these differences - use the numbers from bugtoaster.com and you'll predict that the faculty would experience around 9,800 individual systems failures per year if configured using the Microsoft client-server architecture - and maybe one or two with Unix. Combine that with some assumption about file losses and time-to-remediate and you get a big number. That's perfectly valid and clearly part of the cost of choosing Microsoft Windows, but it's trivial compared to the impact the realistic expectation of systems failures has on how people behave.
In the Microsoft faculty, everyone becomes a part time PC support worker, continually interrupting themselves to deal with the latest crisis and gradually reducing their view of computing to eventually become PC experts -and blank out their awareness of other options. In many places this is what we have now - and not only is it wasting a significant percentage of teaching resources, it's producing a generation of graduates that thinks SAP costs $495 and runs on a PC.
In the Unix faculty, the computers work - they blend into the background like telephones and power plugs to let teachers teach and researchers research.
As a result the direct cost comparison shows a Unix advantage in the range of 50% over five years - but the unquantified indirect effects are clearly much more significant. These costs are measured in terms of how well the faculty does its job and play out over the lifetime of its graduates and the careers of its teachers.
Stay with Microsoft and the need to work with the PC will gradually narrow your view of the
computing world until all you can see -and all you can teach- is the hope that the
next generation of Microsoft products will be magically be effective.
Go all Unix and the computing infrastructure disappears from day to day visibility; leaving
teachers free to teach their subjects and students free to learn.