Is Linux ready for the enterprise?

Quick, tell me the name of the hottest OS around. Did you say Windows 2000? Sorry, that's old news. Every IT department knows they will use it, but no one is all that excited about it. Linux is now the media darling of the moment. If you doubt it's the hottest OS around, you need only look at Red Hat's recent IPO to see the effect media buzz has on a stock price.

There is a meaningful basis for this interest in Linux. International Data Corp. (IDC) estimates that server usage of Linux grew 212% in 1998. And 30% of all Web pages on the Internet are served up by Linux systems. IDC also estimates that 17% of all servers run Linux. These figures alone tell us we should keep an eye on this OS, but it's not this data creating the media excitement.

What has the media all a-tingle is speculation that Linux could replace Windows NT as a server platform for the enterprise. In slightly more hushed tones, they speculate that Linux could even replace Windows on the desktop. These considerations are based on the claim that Linux is more stable and therefore more reliable than NT. Proponents also claim that Linux is speedier, as well as a cost-effective solution because it is free. Speculation about Linux on the desktop is further fueled by work on the KDE and Gnome desktop environments.

But are these claims justified? I decided a few months ago that a good way to evaluate these claims was to set up my own Linux system and network. My plan was to tie in my Windows NT and 95 boxes and evaluate how much work it took to get the network running. This type of approach is fairly typical for an IT skunk works project. I believed my experience would duplicate that of an IT department testing the waters with Linux.

One of the intriguing features of Linux is its ability to run quite well on lower powered machines. Since I was paying for this experiment, my wallet was thrilled by this possibility. I had an old 486 machine at home that was working well as a paperweight. I threw away everything except the case and power supply, and rebuilt the system as a 350MHz Pentium II system. This cost less than buying the equivalent box and it let me make sure that all of the hardware was on the Linux compatibility list. I also chose to make this a Linux-only machine. There was no need to complicate things with dual booting.

When Linux Expo was in town this summer, I bought the CDs for several flavors of Linux. However, because this was my first Linux installation, I decided to purchase the commercial release of Red Hat 6.0 so I could get support if needed. How prescient.

The initial start-up of my newly refurbished machine went fine. I was able to set up the BIOS correctly and eagerly began my Linux install. I was well prepared. I had my list of hardware and network information. I had the installation guide that came with the software. I also had two other books I'd purchased on Red Hat Linux.

One nice feature of Red Hat Linux is the choice of install options. Since I planned for this box to be at the heart of my network, I picked the server installation. This let me avoid dual-boot issues and partitioned the whole hard disk for Linux. The installation process was not as easy as it could be, however. I needed to spend time reading and understanding the implications of the choices as I worked my way through the install script.

I first went to the linuxconf tool to begin setting up accounts. This is a great tool, and I much prefer it to the command line approach. As I explored my system, I found that it was not talking with all of my hardware. Linux thought it was working with my Ethernet card, but it wasn't. I also discovered that since I had selected a server installation, the system hadn't loaded any modules to talk to my sound card. In addition, there was more configuration work needed to get Linux to talk to the modem. Clearly, I wasn't as far along in creating a usable system as I had hoped.

One way to get Linux to talk to all of the hardware was to recompile the kernel with the appropriate modules included. In trying this, the recompile kept crashing with a signal 11 error. I used Red Hat's online support tool to report my problem and then decided to try phone support. The person I spoke with replied in a very nasty tone that they don't deal with recompiling the kernel. The written reply to my online submission was essentially the same, with the added suggestion that I search the online docs for potential solutions. I did just that.

I decided to solve the recompilation problem by doing a complete custom reinstall and load all modules. This time the system crashed at different points partway through the install with a signal 11 error. Five days after I reported the problem, support told me that signal 11 errors are often caused by memory problems -- hardware that works fine with Windows may not work well with Linux because Linux stresses the hardware more. I replaced the system memory and was able to complete the installation.

You would think that would have been the end of my problems, but it wasn't. Linux found address conflicts between my network and sound cards. This time, it took over a month to get a useful answer. Most of that time was spent in limbo because of problems with Red Hat's ticketing system. The solution that finally came was to use Windows and Windows tools to reset the Ethernet card.

But these weren't the only problems I encountered. Other advice left my system unusable and in need of another install. All in all, it was an insightful experiment -- it certainly shaped my view of Linux's place in the enterprise.

So, if the claims of Linux's speed, reliability and stability are true, does my experiment show the OS as ready for the enterprise? I don't think so. Linux takes too much work to create a functional system that talks to all of your hardware. I know NT is no piece of cake either, but I've been able to get NT up and running with much less work. Right now, this difference means more IT labor and thus more money to deploy Linux. And this doesn't even address the additional training costs to get your staff the right skills.

Is your current hardware Linux compatible? If not, you may have a very large expense in moving to Linux. If you purchase your equipment, it may be many years before you can afford to replace it. If you lease your equipment, you may have to wait three or four years before you can change. And being Linux-compatible may cost you more when you consider the total cost of ownership.

Do you need timely support? Almost all vendors offer a support contract. Unfortunately, that's not usually relevant when you are doing a skunk works project. IT organizations don't typically spend money on support for experimental technology. If the standard installation support is inadequate, you may have to bring in a consultant or ditch the technology.

What about Linux on the desktop? Sorry, it's not ready. The KDE and Gnome environments are fine to work in, but the dearth of office applications that run in these environments makes them problematic. Basic replacements for Microsoft Office are not enough. Most corporations use a wide variety of tools on the desktop. There's a long way to go in this area.

Does all this mean Linux has no place in the enterprise? No. But I do believe that there are several things Linux vendors must do in order to succeed in the enterprise market. First, they need to make the product much easier to install and configure. Until that is done, they will only make limited inroads into the enterprise.

Vendors also need to provide better support for getting a basic install up and running with all of a system's hardware. Good installation support is fundamental to making Linux useful.

Finally, vendors need to support a wider range of hardware. I know Linux is available on many platforms, and I applaud the developers who made this happen. I'm talking about a narrower problem. It is very common to hear about hardware incompatibility problems when installing on the Intel platform. Until Linux can easily use all the same hardware used by Windows, the job is not done.

Is there hope for Linux in the enterprise? There certainly is. And if vendors address these important issues, Linux may find a home supporting critical applications. Write me and tell me about your experiences with Linux in the enterprise.

About the Author

John D. Williams is a contributor to Application Development Trends. He is president of Blue Mountain Commerce, a Cary, N.C.-based consulting firm specializing in enterprise, domain and application architectures. He can be reached via e-mail at [email protected].