A cluster is a set of loosely coupled, independent computer systems that behave as a single system. The nodes of a cluster can be single-processor systems, or they can be SMP hardware systems. The nodes can be connected by a commodity network or by a proprietary very-high-speed communications bus. The computers in a cluster cooperate so that clients see the cluster as if it were a single, very-high-performance, highly reliable server. Because the cluster is modular, it can be scaled incrementally and at low cost by adding servers, disks, and by networking.
Windows NT Server clusters provide horizontal growth, or scale out, allowing customers to add processing, storage, and network services to a preexisting configuration. A cluster can also be grown using super-server SMP nodes, but usually it is built with commodity components and commodity interconnects. Two interconnects are used for fault tolerance.
Cluster architectures allow you to scale up to larger than a single SMP node. When demand exceeds the ability of commodity SMP nodes, or when fault tolerance demands a second failover server, it is attractive to use multiple nodes to form a cluster.