Ensuring Uptime: Clustering of Redundant Inexpensive Computers

Transaction services allow us to focus on the business problem and be more independent of failure scenarios. Reliable queuing allows component interactions to survive network and hardware failures.

The assumption in these statements is that the system will occasionally fail. To address the issue of general system reliability, to enable the high-availability, 24 hours-a-day, 7 days-a-week operation required of the distributed computing world, one promising technology is the clustering of inexpensive computers.

By pooling together the resources of a cluster of 'identical' computers, connected via some high bandwidth (i.e. fibre channel, ATM, etc.) means one can construct a 'virtual' system where the components (hardware and software) are fault tolerant. In fact, all hardware components will fail eventually. However, by making available duplicate sets of hardware components in this 'clustered' environment, a hardware failure can be switched, or failed over, to a backup piece of hardware transparently to the client. By classifying running software processes as another failable resource, it's possible to fail these over as well. In this manner, fault tolerance can be achieved in this cluster (which looks to the rest of the network as one computing machine).

As work performed by computing systems become more and more componentized, this clustering of computing resources can also be used in the scaling of computational throughput. For example, the same fail over for software processes can be used in load balancing where the executing process is transferred on to a machine within a cluster that is the least busy. The ultimate objective of such a load balancer would be to ensure that every computing resource on the cluster is loaded evenly. This results in high throughput for the cluster.

Traditionally, high availability, fault tolerance, transactional service, reliable queuing and unrestricted throughput scaling are the domain of mainframe or highly proprietary minicomputers. With the amazing computational power afforded by commodity microprocessors, the ability to productively apply these advanced concepts to inexpensive and widely available hardware presents a very interesting and potentially lucrative business opportunity.

© 1997 by Wrox Press. All rights reserved.