If you've been lurking in
various forums and newsgroups devoted to webmastering, you could hardly fail to notice
heated debate going on at this time. No, it's not which is
best browser. This debate is about web servers. More precisely, which one is better: Apache or Internet Information Server (IIS).To tell you
truth, I've used them both (and a few others as well) and
simple plain truth of
matter is these two web server platforms are really functionally equivalent.
Ease Of Use
IIS is much easier for
novice as operators can maintain it from easy-to-use screens and forms. Windows 2000, on
other hand, costs a lot more than other operating systems such as Linux, FreeBSD and Unix.
Straight Apache requires a huge learning curve to learn how to operate and administer. Everything is configured in extremely obscure text files, and these configurations are done by hand (although you can purchase add-on utilities to enable entry of much of this information from screens and forms.)
Security
The security model of IIS is one of
best ever designed, based as it is upon NTFS (the security model of Windows NT and Windows 2000). This model is far superior to
anything provided with Apache for non-Windows systems. Of course, on Windows, Apache can use NTFS as well.
Of course, IIS has been plagued with a number of vulnerabilities lately, and these are a concern. It's common to patch IIS at least monthly, and to install a new service release (a collection of patches) twice a year. Most of
bugs were worked out of Apache (prior to version 2) long ago. Of course, with
release of version two of Apache you can expect a number of security and other flaws to surface - these are a normal part of a product's life cycle.
Customization
IIS does NOT have
equivalent of HTACCESS. The HTACCESS file in Apache is used to individually configure virtual sites (web sites) without restarting
web server. However, on IIS you have a very flexible method of configuration with ISAPI filters and other similar methods. Both methods (HTACCESS and ISAPI filters) are very obscure and for advanced webmasters.
Efficiency
According to several reports that I've come across lately IIS is more efficient than Apache. My own testing has led me to conclude
performance of
two is roughly
same for static pages. PHP (the server side scripting platform common on Apache) tends to be more efficient than ASP (the server side scripting system for IIS) according to many sources, although I have tested neither for speed.
Hardware Requirements
I have run both web server platforms on large and small boxes of many different configurations, and I've found they require much
same hardware. This is not surprising, since
two platforms basically do
same thing.
When you configure Windows and IIS, it's a good idea to strip
operating system of unneeded functions. This reduces
size box you need (as well as increasing security).
I've run both platforms on 64mb of memory with a single 5600 RPM IDE drive and 200mhtrz processors with reasonable response time (all things considered). I've also run them on dual 2gigahertz systems with 15k RPM SCSI raid 10 drives with incredible performance. The two platforms are equivalent in hardware needs.
Large Server Farms
Microsoft has worked hard on load balancing, so there are more options available for IIS and Windows 2000 for this than other operating systems. In fact, Windows 2000 clustering (the ability to run several servers using
same disks) is very advanced and makes disaster recovery a breeze.
Disaster Recovery
IIS backup solutions (those which are provided with Windows 2000) are surprisingly weak. There is no way to back up
metabase (all of
IIS configuration parameters) from one machine and restore it to another (which makes disaster recovery difficult). On
other hand, with Apache it's just a matter of saving all of
configuration text files.