Advertisement

Building a stable infrastructure for growth

09 Aug 2005 11:47


Load-balancing is one way of making sure your system can cope with short- and long-term peaks in demand

As your organisation grows, so does the load on your servers. More employees means more people logging onto your domain controllers and more people accessing your file and print servers. Your expanding workforce may also include telecommuters, travelling executives, and other off-site workers, which results in more "outsiders" putting a greater load on your remote access (dialup and VPN ) servers. A growing reputation and more customers or clients mean more people simultaneously visiting your Web sites and putting a greater burden on your Web servers.

The problem is there are limits on how much of a good thing an individual server can take. If its capacity is exceeded, bad things happen: performance slows to a crawl, or worse, the server crashes from the overload and becomes unavailable to everyone.

What's the solution? You might try upgrading the server's hardware — adding more memory, adding another processor, adding more hard disk capacity — but there is a point of diminishing returns. The motherboard will generally support only a maximum amount of RAM or number of processors, and some applications aren't able to take advantage of multi-processing.

Think about what you do during a growth period in your business when the workload on one of your employees becomes too much for him or her to handle. You may try to help the employee find a way to do more, up to a point — but eventually, you have to hire another employee and divide the work between them. That's exactly what load balancing does for your overburdened servers.

How load balancing works
Load balancing involves creating a cluster of servers — a group of separate physical machines that are configured with the same applications and work like one logical server. Each of the physical servers is called a node, and a cluster can consist of two or more nodes that share the workload and provide fault tolerance because if one node fails, another takes over so that the applications or resources are still available and users typically never know a server is down.

Load balancing can be used for many types of servers/services. Web farms are groups of Web servers networked to distribute the load across the group. When many requests come in at once, some are sent to each node so that no one node is overwhelmed. Note that some server applications are not compatible with load balancing.

Load balancing requires special software that allows all the servers in the cluster to present themselves on the network as a single entity with a single (virtual) IP address. Each node also has a dedicated IP address that identifies it individually and is used to access that specific node.

A mapping algorithm keeps track of which client requests are sent to which servers to be processed. If necessary, particular clients' requests can always be sent to the same server node; this is called affinity.

There are several different load balancing algorithms, including:

To provide failover (the ability of a member of the cluster to take over if the other goes offline), the nodes communicate with one another using a "heartbeat" message (that basically says to the other node, "I'm alive"). If this heartbeat message isn't received, the node knows that the other node has failed and it takes over the workload of the failed node.

Implementing load balancing as your network grows
To implement load balancing, you will need at least two servers to act as members of the load balancing cluster. They don't have to have identical hardware, but it's preferred, especially if you're using a round-robin algorithm.

Each node should also have a second network interface card installed, so one adapter can be configured with the virtual IP address and will handle the traffic that's destined for the cluster and the other is configured with the dedicated IP address and is used for communications between the cluster members and for management of the individual machine. Although load balancing can function with single NICs, the dual NIC setup provides better performance.

Load balancing software is included in all editions of Windows Server 2003, even the low-cost Web Edition (it wasn't included in the Standard edition of Windows 2000 Server). It's called Network Load Balancing (NLB) and is installed as a Windows component. The Network Load Balancing Manager administrative tool is used to manage the cluster from one of the nodes. Here's a more detailed discussion of using Server 2003's NLB for Web farming.

There are also many third-party load balancing software packages available, such as NetBalancer from Allot Communications, which lets you define policies for distributing the load and define load balancing conditions and actions. Load balancing appliances are available from such companies as Radware, and there are also load balancing solutions available for Linux servers, such as Red Hat's Cluster Suite.

In choosing a load balancing solution, it's important to look ahead and anticipate your network's future expansion. You'll want a solution that makes it easy to add servers to or remove them from the load balancing cluster, and one that allows you to manage cluster members centrally and remotely.

As your organisation grows, load balancing becomes less of a luxury and more of a necessity. Building a scalable load balancing infrastructure will ensure that network performance and availability don't decrease as the size of your network increases.

Story URL: http://news.zdnet.co.uk/hardware/0,1000000091,39212552,00.htm

Copyright © 1995-2009 CBS Interactive Limited. All rights reserved
ZDNET is a registered service mark of CBS Interactive Limited. ZDNET Logo is a service mark of CBS Interactive Limited.