On Station Wagons and Operating Systems
When I was in school, my parents had a Chrysler Volare station wagon. It was the perfect car for our family, since it offered general-purpose utility for everyone. My mother used it to carry the groceries needed to feed our small army, and my father used it for transporting his hobby gear from the workshop to the repair shop. And when it came time for Christmas road trips, we could throw our suitcases in the back and still use the roof rack for gifts. In terms of overall functionality, the old beast could not be beat.
But what the Chrysler offered in utility, it lacked in specialty. When I came of age, the last thing I wanted was to drive around on dates in a dowdy station wagon. Instead, I dreamed of fast, powerful sports cars—and still do to this day. The utility of a station wagon just doesn't appeal to me. If I had a family, however, I probably wouldn't be looking at sports cars.
The point I'm trying to make is that although a station wagon offers adequate value across the board, it doesn't offer excellent value in any one particular area. It simply is not possible to combine the power of a sports car with the ruggedness of a Jeep or the capacity of a van. For a one- or two-car family that needs a general-purpose vehicle, a station wagon can be a great choice. But for people who want specific functionality, it's a foolish one.
The same is true for operating systems. Some operating systems—most notably Microsoft Windows NT—offer the same value proposition as a station wagon, while other operating systems—Novell NetWare, Unix and others—offer extreme value in vertical areas that the general-purpose systems simply cannot provide for adequately.
One Size Fits All
Like the station wagon, NT provides a little bit of performance, reliability and scalability, and it promises satisfactory functionality in these areas. If you're looking for a single system to give you all these functions, NT is an adequate choice. You likely will get what you want out of the operating system as long as you don't demand too much in any one area. Sure, you'll be able to reliably run general network services and back-end applications, but you won't be able to run great networks or huge applications. For these vertical needs, you'll soon discover the limitations that a one-size-fits-all OS carries with it.
These limitations show up in many places, including on corporate intranets. Unless your company is relatively small and has no need for high-end performance, large-scale services or consistent reliability, you'll likely find that the station wagon won't serve your needs very well.
Faster Than a Speeding Bullet
If you want a local intranet server to provide great performance, for example, you're probably better off sticking with your existing NetWare servers. NetWare is an extremely lightweight OS that is designed for one thing—very fast network service. It delivers on its promise with the added benefit of minimal hardware requirements. Under moderately heavy loads, Novell's Web server is ranked consistently as the fastest on the market. Where a Unix or NT Post Office Protocol (POP) server might take two minutes to process 30 messages, the NetWare equivalent will take about 30 seconds. In a large-scale user environment with hundreds of users, this makes a big difference in end-user satisfaction.
But does NetWare make for a great general-purpose OS? No, because that's not what it was defined for. Sports cars have to be lightweight and compact to maximize acceleration, speed and control. Adding armored panels and a box trailer to the OS would slow it down so much that it would defeat the design objectives. But this does not mean that NetWare is completely unreliable either. If applications are written well, they won't cause the OS to crash. Conversely, if an application is written poorly, then it will cause any OS to crash, regardless of how much armored plating is installed.
Capacity also counts. If your intranet site will be running lots of back-end applications, then you're probably going to be happiest with one of the many Unix vendors specializing in this arena. Companies such as Hewlett-Packard, Silicon Graphics and Sun Microsystems can provide you with superscalable systems that support hundreds of thousands of script executions per day. This level of capacity just can't be found with a general-purpose OS like NT.
Form and Function
One of my Internet service provider friends recently tried to convert his back-end operations from Unix to NT. Before he was done, he had gone from two basic Sun hosts to seven dual-processor Pentiums, and even then he still had to run his Domain Naming System (DNS) services on one of the Unix hosts. NT simply wasn't able to handle the load his customers generated. In this case, beefing up an NT box so that it will effectively run DNS, HTTP, FTP, NNTP and SMTP/POP is akin to the effort of adding turbochargers and big-bore kits to the old Volare. You can soup up the engine if you really want to, but she'll still handle like a station wagon. The money is better spent elsewhere.
Form Matching Function
Another important aspect to consider is suitability of design to function. Does the native OS come with the tools you'll need to get started immediately, or will you have to improve the engine? Where Unix comes with a variety of shells and scripting tools that allow you to write full-function Common Gateway Interface (CGI) apps immediately, with NT you get cmd.exe and COMMAND.COM, both of which are designed for a general-purpose OS, and are woefully unprepared for use in these kinds of applications. If you don't believe me, try to write a CGI script that divides two numbers using either of these shells and no third-party tools. Since they don't provide even rudimentary mathematical functions, you just can't do it.
Just as NetWare is optimized for performance to the detriment of robustness and superscalability, Unix's scalability sometimes comes at the expense of performance and extreme reliability. You can solve the performance problem by buying a larger processor (which, incidentally, does not always work with NT). As for robustness issues, choosing and developing applications well tends to make this a nonissue.
If your environment requires near-constant uptime, then look to any of the historically mature operating systems: MVS, VMS and MPE. Although this may seem somewhat ludicrous on the surface, these systems are more robust than anything else on the market. The level of application control and system recovery these systems provide is simply unmatched by any general-purpose operating system.
Network Computing's intranet and Internet services were hosted by a Digital Equipment DEC MicroVAX 3100, and although the system was old and slow, it was always up. Since Network Computing switched to NT-based services a year ago, there has been a string of problems cropping up on a weekly basis. The reliability is just too low, even for our modest usage.
Although Microsoft often brags about NT's reliability and crash-protection features, these are generally limited to the application environment, and not to the OS itself. Although I've rarely seen the entire NT system crash from a bad application, I've seen the OS crash on many occasions. Meanwhile, there are scores of so-called legacy sites whose continuous system uptime is measured in years.
Now, I don't want to come off sounding like I hate NT or that I don't think it has a place in the market. I think it offers an excellent value proposition to customers who don't need tremendous network services, superscalable back-end applications or industrial-strength reliability, but instead, just want a little of each. It is the best damned station wagon on the market.
Continuing the analogy, you'll notice that some of the best-selling cars on the market just happen to be minivans. Many people find the horizontal-value proposition extremely attractive, and I expect the same thing to be found here. It's also important to realize that most of these people also have more than one car, and that the other car is hardly ever another minivan.
I also think that NT is not alone in this. IBM's OS/2 also fits the station wagon value-proposition model fairly well. By trying to be all things to all people, both of these operating systems are failing to provide any compelling vertical values in any one specialty area.
Before you choose the platform you'll be living with for the next few years, try to isolate what's going to be important for you and your organization. Will you need great performance for a variety of sites in your organization? Will you need superscalable application servers for large numbers of users? Or will you need guaranteed uptime and access to legacy systems? My bet is that you'll need all three, and if so, then welcome to networking and the three-car garage. If you don't need any of these extremes, then a one-car scenario will likely work well enough for you—at least in the short term.