What is Clustering?
A cluster is two or more interconnected computers that create a solution to provide higher availability, higher scalability or both.
The advantage of clustering computers for high availability is seen if one of these computers fails, another computer in the cluster can then assume the workload of the failed computer. Users of the system see no interruption of access.
The advantages of clustering computers for scalability include increased application performance and the support of a greater number of users.
There is a myth that to provide high availablity, all that is required is to cluster one or more computer hardware solutions. To date, no hardware only solution has been able to deliver trouble-free fail-over. Providing trouble-free solutions requires extensive and complex software to be
written to cope with the myriad of failure modes that are possible with two or more sets of hardware.
Clustering can be implemented at different levels of the system, including hardware, operating systems, middleware, systems management and applications. The more layers that incorporate clustering technology to more complex the whole system is to manage. To implement a successful clustering solution specialists in all the technologies (i.e. hardware,
networking, software) are required.