A server cluster is a group of independent servers running on a similar OS, and working together as a single system to provide a higher level of availability, reliability, and scalability than can be obtained by using a single computer. When a failure occurs on one computer in a cluster, resources are redirected and the workload is redistributed to another computer in the cluster. You can use server clusters to ensure that users have constant access to important server-based resources. Server clusters are designed for applications that have long-running in-memory state or frequently updated data. Typical uses for server clusters include file servers, print servers, database servers, and messaging servers.