next up previous contents
Next: Scalability: Up: What is High Availability and Previous: What is High Availability and   Contents

High Availability:

There are many definitions for high availability. Some make a distinction between high availability and fault tolerance. For the purposes of this paper these terms will be used interchangeably and will be taken to refer to the ability to provide some level of service during a situation where one or more components of a system have failed. The failure may be unscheduled as in the instance of a server crash or scheduled as in the case of maintenance.

The key to achieving high availability is to eliminate single points of failure. If a web presence is hosted on a single Linux box running Apache, then this is a single point of failure. If a database is hosted on a lone PostgreSQL server, then this is a single point of failure. If a site's internet connectivity comes through a single core router then this is a single point of failure and if a site has only one link to the internet then this too is a single point of failure.

Elimination of single points of failure inevitably requires provisioning additional resources -- more often than not hardware -- that can be utilised when failure occurs. It is the role of high availability solutions to architect and manage these resources such that when a failure occurs users are still able to access the service. This may be a full service, this may be a degraded service, it may even be a service advising users to come back later, but it is still a service and is better than an ``HTTP 404 server unreachable'' error.


next up previous contents
Next: Scalability: Up: What is High Availability and Previous: What is High Availability and   Contents
Horms 2001-11-23