Linux And Windows NT Forget the browser wars. This year's big nerd battle is the server shootout between Linux and Windows NT - and it's not just a bunch of geeks nit-picking. While both offer more affordable platforms for Web service than in the past, Linux and NT are polar opposites on almost every other level. They look different, run differently, support different software, and cost money in different places. So far though, most press coverage of the Linux-NT debate has focused on the competing business models, and there's been little helpful information for deciding which OS to use.
At the other end of the coverage spectrum, technical comparisons usually stick to performance tests, churning out reams of numbers from the lab and missing the big picture of owning and operating a Web site. The most obvious difference between NT and Linux is that NT attempts to bring the familiar Windows graphical user interface to a server environment. Ideally, a Webmaster could maintain NT (and its bundled Web server, Microsoft Internet Information Server, aka IIS) primarily by pointing and clicking. NT also comes bundled with a singular set of Microsoft site development tools. Linux, on the other hand, builds from the long, varied tradition of Unix command-line culture.
It can be harder (or at least more daunting) to learn Unix from scratch than it is to learn a Windows system, but Unix users who get over the hump of the initial learning curve rarely express happiness over trying to do the same work in a Windows environment. That's the "Windows rage" you observe whenever your local sysadmin (System Administrator) has to get up from his Linux workstation to fix your PC. If there's one area where NT stands out over Linux, it's the willingness of third-party software vendors to develop versions of their software for it. Ad-serving software, search engines, databases, application servers, and e-commerce shopping carts are almost certain to come in NT versions, whereas big-name vendors such as Oracle, Sun, and IBM have just begun to commit to Linux. A Windows NT license costs about $300. A Linux license costs nothing.
Not much overhead, but the real costs come later: lost income from downtime or unfixed bugs, high prices for technical employees who make things go, and extra machines and software as the site grows. There's a notable lack of consensus as to whether Linux or NT delivers a lower total cost of ownership. TCO, as the bean counters call it, is one of those numbers derived more from bookkeeping than science, so it's easy for two companies to report wildly different results. I found that most everyone thinks their system is the right one, price-wise. More interesting is that they consider the biggest cost advantages to be faster turnaround time for solving problems and getting new features launched and not the lower price tag.
It doesn't matter how good your Web site is if it's down or so slow that surfers hit their Back buttons. When it comes to staying up instead of locking up, Linux got high praise from everyone I talked with. NT owners were notably less enthusiastic about its reliability but pointed out that on a larger site, a load balancing device such as Cisco Local Director can hide downtime by sending traffic to other servers while one reboots. Several managers said the more frequent reboots were an acceptable cost compared to, say, hiring pricey Unix Administrators. Scalability is a word that gets thrown around a lot, especially when beating up on Microsoft. In IT jargon, it means the ability to increase the size of a system in such a way that the associated overhead costs - hardware, downtime, administration work - go down in proportion to the overall size of the system, instead of staying the same or going up.
If your Web site's traffic grows by a factor of 10 in the next year, ideally, you should only have to pay for the extra hardware that the traffic passes through, keeping all other costs the same. This is why Internet companies have such huge potential profits compared to, say, newspapers. But NT gets a lot of flak for not being as scalable as a Unix system. Linux advocates were outspoken about its superior scalability. NT owners don't necessarily agree. They point out that NT systems need to be scaled differently than Unix systems.
Also, scaling large systems requires expertise as well as the right parts. For sites less high profile than these, though, getting the right staff, hired guns, or vendor support to plan and execute a rapidly scalable system could be a lot harder. Linux's architecture, on the other hand, resembles the Unix systems that large-scale sites have been using since the early '80s. Really good Unix developers and administrators are expensive, but if you're willing to pay for it, you can hire someone who has lived and breathed Unix since the '70s. Top-notch NT people are rarer, however, because NT is newer and less widespread - and the few I've talked to are all former Unix hackers who switched over in the past three years.
When it comes to making your site successful, though, a friend of mine, reminded me that a particular choice of technology isn't what makes or breaks a site. "Remember who your customer is". It's not you or the VP of technology. What matters most, isn't whether you or your friends like your operating system but whether you can use it as a platform to deliver what your customers will want.