Although not every company hosts their own website, they are all concerned about their website's uptime and reliability. Guaranteeing uptime of web servers has always been a problem for Web Hosting Providers (WHP), for fault tolerance is hard to achieve when hosting a $20 per month website—certainly a cost prohibitive endeavor. Many WHPs will tout statistics such as 99.999% uptime, but in reality this is just marketing. This type of fault tolerance requires not only fault tolerant equipment within each server, but additional servers that can be used to replace a defunct server at any time. There are cost conscious options though. Let author and columnist Joseph M. Lamb guide you through the construction of a clustered web server using Microsoft’s Windows 2000 Advanced Server and Internet Information Server 5.0.

From the author of

From the author of

There are not many companies these days that are not running some type of
website. Although not every company hosts their own website, they are all
concerned about the websites' uptime and reliability. Guaranteeing uptime
of web servers has always been a problem for Web Hosting Providers (WHP), for
fault tolerance is hard to achieve when hosting a $20 per month website 
certainly a cost prohibitive endeavor. Many WHPs will tout statistics such as
99.999% uptime, but in reality this is just marketing in many cases. This type
of fault tolerance requires not only fault tolerant equipment within each
server, but additional servers that can be used to replace a defunct server at
any time.

This may be changing because the advent of services like Network Load
Balancing and Clustering are becoming more and more cost effective. Systems that
used to cost several hundred thousands of dollars to implement can now be
brought online for only a fraction of the cost. High availability is now offered
to anyone who chooses to put up a server. These tools provide low cost
alternatives to hardware based clustering and load balancing solutions. Web
Hosting Providers may choose not to use them, but it is not because they lack
the power or flexibility of their hardware based cousins.

In this article we will take a look at the World Wide Web Server provided
within the Internet Information Server, a package of Internet based services
that is included with all Windows 2000 operating systems. Using the Microsoft
Clustering Service, you can provide a highly available WWW service that rivals
the reliability of any product offering currently on the market.

Internet Information Services Overview

Internet Information Services (IIS) was originally released by Microsoft as
an add-on product for the Windows NT Server operating system. It included
several services that were used to provide Internet-based services such as Web
Services and FTP Services. IIS has grown quite a bit since its original
implementation, and has shown itself as a worthy opponent within the web server
market share battle. To date, IIS's market share is still growing daily,
oftentimes replacing many UNIX-based alternatives.

As a clustered application (or set of applications) IIS excels, allowing
administrators to add a significant amount of fault tolerance to their
implementations. Much like other clustered applications, IIS follows the
binary-local/data-shared model, keeping local copies of the binaries that run
the application and storing the data itself on the shared disk. Through the IIS
Resources created through the Cluster Administrator, service of a particular
website can fail from one server to another.

Many people choose to load balance applications like IIS due to the traffic
they receive on their website. And that is a viable solution, but clustering is
also a good option. The choice of load balancing or clustering depends upon the
circumstances. If you run a large website, and you need to maintain millions of
hits per day on a website that is mostly static (or static on the front end),
then load balancing is a good choice for you. However, if your website does not
have that volume of traffic and you wish to ensure that is never goes down,
clustering is a good choice for you. Both solutions provide fault tolerance, but
they are managed differently. Clusters share disk space with other nodes in the
cluster, and therefore negate the need for synchronization between servers for
web content. If you have a site that is constantly being updated by programmers,
then clustering may be the best choice. Otherwise you have to figure out how to
synchronize changes made on one server to all other servers in the load-balanced
cluster.