Wednesday, February 09, 2005

Choosing the Right Web Server

A reliable Web server environment isn't just an enterprise thing: If you do business on the Web, your site must be up and running 24/7. The good news is that there are plenty of hardware and software solutions to fit a tight budget.

Building an affordable high-availability Web environment requires more than a low-priced server, however. If you choose a Web server and OS environment that's new to your IT staff, can you afford the cost of training? Add to that the cost of maintenance and management, as well as the cost of determining your alternatives in the first place.

Windows is still the most common platform in small IT shops, so maintenance and management costs are obviously lower for a Windows-based Web environment than for a Linux-based one. If you don't factor in these ongoing costs, they can turn an affordable Web server into a high-cost line item.

What's Available

There are two basic elements to a HA (high-availability) Web presence: multiple Web servers and the hardware/software to provide redundancy. Several free Web server packages are available, as well as low-cost alternatives that come with some technical support. If you and your remote site or department lack intimate familiarity with Web servers, the technical support option is a must.

Microsoft's IIS (Internet Information Services) is nominally free--if you buy a Windows operating system, you get IIS, too. Apache, available for free as a download, is included in every major distribution of Linux.

You can also download a free copy of Sun Java System Web Server for development, testing and staging purposes. Sun's production list price of $1,495 per CPU might cause you to choke on your coffee, but relax: It includes options that could save you money in the long run.

The price of Zeus Technology's Web Server--$1,700 for up to two nonhyperthreading CPUs--is a little easier to swallow. The server software offers some of the same options as Sun's Java System Web Server, but it isn't for the novice administrator.




Besides price, also consider the Web server's administration capabilities. Apache may be free, but you'll be manually configuring it via text files. Sun's and Zeus' Web administration consoles and IIS's WMI (Windows Management Interface) GUI administration are a lot easier on the eyes and your schedule.

Know Your Script


Even if you don't plan to write custom content for your Web site, you may still want to deploy free or commercial software packages as part of your Web strategy. If so, you'll need to know which languages/ scripting your Web server supports.

PHP has become popular as a scripting language for the Web, with a LAMP (Linux-Apache-MySQL-PHP) architecture for building dynamic, data-driven Web sites. But Microsoft's ASP (Active Server Pages) is still widely used, and its easy integration with SQL Server and MySQL, as well as growing support for ASP.Net applications, makes it a popular choice, too.

While native ASP support is limited to IIS and Microsoft platforms, Sun's Chili!Soft ASP module/plug-in provides support for non-Microsoft platforms such as Apache, Zeus and Sun Java Web Server deployments.

Perl and JSP are still found outside the enterprise world, but they're not quite as popular as their server-side scripting cousins PHP and ASP. Perl is rarely used as the implementation language of commercially written Web site scripts and applications, but JSP is often used for management and administrative tasks in off-the-shelf applications.



Even if you don't plan to develop a site using JSP, choose a Web server that can support it if you expect to eventually run an application that needs JSP.

Then there's the challenge of managing multiple servers in your HA Web environment. Your choice of Web server software will dictate how you manage your server cluster: Apache and IIS have rudimentary cluster management included, but not the replication/cloning of configurations across servers that Sun's Web server solution offers as a standard administrative option.

Decide up front the type of management interface you want. Apache's configuration requires learning its directives and text editor. Covalent and other vendors provide Web-based administrative tools, but most of them simply provide a Web interface to the text editor so you can manually edit the configuration file.

IIS is more easily managed via the WMI, both remotely and locally. Web tools are also available to handle configuration and maintenance of this prolific Web server. IIS is controlled mostly through Windows management tools, but Microsoft also offers command-line tools. Sun and Zeus both provide Web-based management interfaces that, like IIS, make their servers easy to manage.

Another factor to consider is the ability to add functionality and features to the core Web server. Apache uses modules, whereas IIS uses plug-ins. Most Apache modules are free, and if you have a specific need such as load balancing or MP3 streaming, you'll probably find a module that meets it. IIS also accommodates third-party plug-ins from Port80 Software and other suppliers, but you'll have to pay for the additional functionality.

OS Quirks

Believe it or not, OS support may be an issue with your Web server. You may love Zeus after reading the product literature, but if you're dead set on deploying on Windows, you're out of luck: Zeus doesn't do Windows. If you want to deploy Apache on Solaris, you'll have to break out a compiler and build it from source.

Remember that you must administer not only the Web server but the OS, too. So choose an OS-Web server combination that best fits your organization's skill set and comfort level.

Regardless of which Web server platform you choose, be sure you're comfortable with its administrative paradigm and underlying operating system. Your organization's HA Web presence depends on it.

Your Ad Here