Hardware vs. Software Load Balancing Options
In this section you will look at the differences between Hardware load balancing solutions and software load balancing solutions. Understanding the strengths and limitations of each is crucial in deciding your network and system architecture.
ColdFusion MX 7 Load Balancing and Software-Based Load Balancing
In most software-based load-balancing methodologies, a service runs on each machine in a cluster. A machine designated as the primary cluster server distributes load to the other servers in the cluster. Should one server go down, the other machines in the cluster are notified by communication among the servers' cluster services, and the other machines act to absorb the extra load. One limitation of this approach is that it requires your Web servers to act as their own clustering agents.ColdFusion MX 7 Enterprise Edition now uses integrated JRun clustering technology to provide load balancing and failover services. You can build and manage clusters right from the ColdFusion MX 7 Administrator. It can detect failed servers and busy applications, and provide redirection from these servers to other available servers. ColdFusion MX 7 Load Balancing uses HTTP redirection to balance load across a cluster as well as provide failover (see Figure 3.8). ColdFusion MX 7 Load Balancing runs on Windows, Solaris, and Linux platforms.
Figure 3.8. The Web Server Connector balances the load across the JRun servers in the cluster.

- Application and server load management for ColdFusion MX 7 applications is provided. Server failover is also provided, whereby requests to failed servers are redirected to other servers in the cluster.
- Session state management can be implemented so that users stay on the same server for the duration of their session.
- Application servers can be monitored and restarted if they fail.
- All servers in the cluster work together to manage HTTP requests, eliminating a point of failure for the system.
- Centralized configuration services for all nodes in the cluster are provided.
See Table 3.2 for the advantages and disadvantages of using ColdFusion MX 7 Load Balancing software-based load balancing.
ADVANTAGES | DISADVANTAGES |
---|---|
Tightly integrated with ColdFusion MX 7 and very easy to set up | Negates full proportional distribution of load |
Provides for failover and content awareness | No intermediary between servers and load |
Can perform session-aware clustering | Does not provide for network address translation (NAT) for security |
Can work with RRDNS as a two-layer approach | |
Included with ColdFusion MX 7 Enterprise | Inexpensive |
Dedicated Load-Balancing Hardware
Hardware load balancers come in two basic flavors:
- Server-based .
This is accomplished by server-class PCs with specialized load-balancing software. The most widely used load balancers on the market today are Cisco's LocalDirector and F5's BigIP series. - Content-switch-based .
Load balancers such as Cisco's CSS series combine the efficiency of a routing switch with load-balancing software that acts as an intelligent switching device.
Using dedicated load-balancing hardware is the most sophisticated way and, for large clusters, the best way to balance load across a cluster. Hardware-based load balancers sit in front of the Web servers and route all requests to them. Requests come in to a single IP address for your domain. The load-balancing hardware answers the request and mediates with individual Web servers to provide a response that appears to have originated from your domain's single public IP address. This form of distribution relies on complex algorithms to determine which Web server is "most available" at the time the request is presented. Usually this determination is made by a server polling for HTTP response time and, optionally, by the use of agents residing on the Web servers that make up your cluster. The agents report to the load-balancing hardware various aspects of your system's performance, such as CPU utilization, process utilization, and other vital machine statistics. Based on this data, the device routes the request to the most available server. Server failover is managed because a server fails polling tests and doesn't return any usable performance data via its agent.Setting up load-balancing hardware is fairly complex. The arrangement is generally dual-homed (see the section "Tiered Application Architecture" in this chapter). Configuration requires fairly robust knowledge of TCP/IP networking principles, as well as the ability to absorb new concepts associated with the load-balancing hardware itself. For example, one downside to load-balancing hardware is the single-point-of-failure problem. To alleviate this issue, most manufacturers recommend that you purchase two boxes and set them up so that the second one can seamlessly take over for the first in case of failure. This backup box is known as a hot spare . You also need to address security and administration issues for your load-balancing hardware, just as you would for any other machine on your network.NOTEOnly qualified routing technicians should set up hardware-based load balancing. Because these machines actually translate addresses, you can affect the operation of other routers on your network if you perform an incorrect installation or modification. In addition, network address translations (NATs) can affect the way your site functions after it is behind the load balancer.Hardware-based load balancing provides an enhanced level of security because most of this hardware uses network address translation (NAT). This way, an administrator can use private, nonroutable IP numbers to address Web servers and can filter requests to those machines on specific ports at the NAT machine. For example, the NAT machine knows that 192.168.0.1 is a Web server behind the NAT. An instruction is given to the NAT machine that says a public address of 206.123.23.5 maps to 192.168.0.1 on port 80. Then, when a request comes to 206.123.23.5 on port 80, the NAT machine passes the request through to the back-end server. The user, however, never knows the true IP address of the server responding to the request, and a different server could be substituted for 192.168.0.1 by changing the mapping. Many hardware load-balancing solutions also offer sophisticated firewalls.See Table 3.3 for the advantages and disadvantages of using a hardware load-balancing solution.
ADVANTAGES | DISADVANTAGES |
---|---|
Provides true distribution of load based on server resources | Setup and administration require advanced networking knowledge |
Acts as an added layer of security | Single point of failure; increased cost for purchasing the recommended hot spare |
Provides for automatic failover to standby machines | Expensive |
More reliable and better performing than software-based solutions | Expensive |
Enables a single URL to access all machines behind load balance (more seamless to end user) | Expensive |