Building A Better Web Server
What should you focus on when building a Web server? In one word: uptime. Here's how.
March 1, 2004
What should you focus on when building a Web server? In one word: uptime. Nothing turns visitors off to your clients' Web sites more than downtime. Focus on top-quality parts (within your budget, of course), resiliency and redundancy where it will do the most good. Here's what you'll need.
An airtight case: If the Web server is to be placed at a co-location site, opt for a deep, low-profile (preferably 1U) rackmount case. Get the best model, even if it costs a few hundred bucks extra; the same is true if you're doing a tower design. And in all cases, look for a model with good ventilation and filtration. Nothing kills a server more quickly than overheating, and dust bunnies aren't good for reliability.
Mother of all boards: Get a board that accepts--and uses--error-correcting RAM (ECC); switch on the ECC in the BIOS before shipping the unit. Base the amount of RAM on the type of work the server will be doing. For example, if it will be running Unix and mostly serving static pages, 256 MB is plenty.
In addition, minimize the number of connectors--especially bus connectors--that stand between the board and its peripherals; connectors are another common point of failure. Choose a motherboard that integrates the peripherals you need. A built-in network interface is a must, and built-in video is a good idea, too.
Disk storage: As a rule, SCSI drives are a disk manufacturer's most conservatively designed and carefully manufactured products. So if there's room in your budget, go for SCSI rather than IDE. However, if you must use IDE, scan the Internet forums to discover whether users are reporting problems with your intended model. Also, make sure that each IDE drive is on a separate cable; no doubling up allowed.Configure the drives as an array of mirrored disks. That way, if a drive quits, the system will continue to run while you replace and rebuild it. Finally, when installing the operating system on the server, be sure to configure it for fault tolerance--in particular, to be able to handle unexpected shutdowns or reboots.
Display: Display? What display? A Web server should mind its business, namely, serving Web pages. It shouldn't be running a GUI. If it must, it should devote as few resources to the display as possible.
Brains of the outfit: Don't blow your budget on a high-end CPU. A 2.4-GHz Pentium 4 or an equivalent Athlon will be more than adequate. Also, don't even think about multiple processors. If a server with one processor won't handle the load, then consider deploying multiple servers with a round-robin DNS or off-loading burdensome functions, such as database management to another machine.
Hacker-proof security: Putting your server behind a firewall with an intrusion-detection system may stop some attacks, but it's best to make the server secure enough to stand on its own. Start by picking a secure operating system, such as one of the BSD Unix implementations, rather than any version of Microsoft Windows, which averages one newly discovered security problem per week. It's also advisable to turn off any operating-system services, or "daemons," that are not needed for Web service, and use the OS' built-in firewall to block all protocols other than those necessary for Web service or maintenance of the server. Disable all protocols, such as FTP and Telnet, and limit the IP addresses from which the server can be administered.
Finally, if possible, deliver the system to your customer with all the necessary software running and some sample Web pages already present. Hopefully, you've stayed within budget and made a reasonable profit on the machine, as well.Brett Glass is an author, electrical engineer and consultant. He founded Lariat, the first wireless broadband provider in Laramie, Wyo.
This story appears courtesy of VARBusiness Magazine.
You May Also Like