Introduction (An Overview of Windows Clustering Technologies: Server Clusters and Network Load Balancing)
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
Microsoft listened to customers and worked steadily to improve the underlying technology architecture of the Windows operating system.
Microsoft Cluster Technologies
While Windows 2000 represents a dramatic improvement over its predecessors in terms of total uptime (availability), reduced system failure (reliability) and ability to add resources and computers to improve performance (scalability), Windows Server 2003 takes the availability, reliability and scalability of the Windows operating system to the next level by enhancing existing features and providing new options.
Three Part Clustering Strategy
Microsoft clustering technologies are the key to improving availability, reliability and scalability. With Windows 2000 and Windows Server 2003, Microsoft uses a three-part clustering strategy that includes:
Server cluster provides failover support for applications and services that require high availability, scalability and reliability. With clustering, organizations can make applications and data available on multiple servers linked together in a cluster configuration. Back-end applications and services, such as those provided by database servers, are ideal candidates for Server cluster.
Network Load Balancing provides failover support for IP-based applications and services that require high scalability and availability. With Network Load Balancing (NLB), organizations can build groups of clustered computers to support load balancing of Transmission Control Protocol (TCP), User Datagram Protocol (UDP) and Generic Routing Encapsulation (GRE) traffic requests. Web-tier and front-end services are ideal candidates for NLB.
Component Load Balancing, which is a feature of Microsoft Application Center 2000, provides dynamic load balancing of middle-tier application components that use COM+. With Component Load Balancing (CLB), COM+ components can be load balanced over multiple nodes to dramatically enhance the availability and scalability of software applications.
Protection Against Failure
Microsoft cluster technologies guard against three specific types of failure:
Application/service failure affects application software and essential services.
System/hardware failure affects hardware components (for example, CPUs, drives, memory, network adapters, power supplies, etc.).
Site failure could be caused by natural disaster, power outages or connectivity outages.
Clustering TechnologiesPurposes and Requirements
Each technology has a specific purpose and is designed to meet different requirements.
Server cluster is designed to maintain data integrity and provide failover support.
Network Load Balancing is designed to address bottlenecks caused by front-end Web services.
Component Load Balancing is designed to address the unique scalability and availability needs of middle-tier applications.
Organizations can use Microsoft cluster technologies to increase overall availability, while minimizing single points of failure and reducing costs by using industry-standard hardware and software.
The clustering technologies outlined above can be (and typically are) combined to architect a comprehensive service offering. The most common scenario where all three solutions are combined is an e-commerce site where front-end Web servers use NLB, middle-tier application servers use CLB, and back-end database servers use Server cluster.
These technologies alone are not enough to ensure the highest levels of availability. To ensure the highest availability for line-of-business applications and mission-critical services, organizations must take an end-to-end service approach to operations and availability. This means treating the entire service offering as a whole and designing, implementing, and operating the service solution following industry-standard best practices, such as those used by Microsoft Enterprise Services.
The main topics covered in the rest of this article include:
Cluster Architecture Essentials
Server cluster Architecture
Network Load Balancing Architecture
Component Load Balancing Architecture