A cluster consists of two or more computers working together to provide a higher level of availability, reliability, and scalability than can be obtained by using a single computer. other clustering technology is Network Load Balancing. Server clusters are designed for applications that have long-running in-memory state or frequently updated data.
Clustering has been the driving force behind many of the world's most powerful scientific supercomputers for many years and is now being used increasingly as a cost-effective way to provide high-performance processing.
Clusters are usually deployed to improve performance and availability over that of a single computer, while typically being much more cost-effective than single computers of comparable speed or availability. Often clusters are used primarily for computational purposes, rather than handling Input/Output-oriented operations such as web service or databases.