|   Register   |  
Search  

Server Load Balancing

Last Updated 2/18/2009 5:42:15 PM


By: Dustin Puryear

Clusters built for high-availability services, such as Web farms, are becoming more popular every day. Typically, these clusters are driven by server load-balancing solutions such as Foundry’s ServerIron series and F5’s BIG-IP. These load balancers direct service traffic to and from nodes within a cluster based on server availability and, with most products, on system load. Unfortunately, for most of us load balancing can be a complicated topic.

Much work has been done in the field of load balancing and you can find documentation in online resources, white papers, and several books. One such book is “Server Load Balancing,” written by Tony Bourke and published by O’Reilly and Associates. In this review, you will learn more about O’Reilly’s title on the subject of server load balancing, the benefits of reading the book, and some issues the publisher needs to address for the next edition.

“Server Load Balancing” is divided into three sections: “Concepts and Theories of Server Load Balancing,” “Practice and Implementation of Server Load Balancing,” and “Configuring Server Load Balancers.” Each of these sections focuses on core issues, such as load balancing concepts, message delivery between systems, and specific vendor solutions.

In “Concepts and Theories of Server Load Balancing,” Bourke discusses fundamentals such as the definition of server load balancing and the general theory behind the implementation of server load balancing. This section, technical in nature, serves as an excellent introduction to the concept of load balancing for those new to the topic. Indeed, the author takes pains to elaborate on several key points, such as terminology and understanding the flow of data across various load-balancing architectures. As a high-level treatment of the subject, Bourke does well in keeping “Concepts and Theories of Server Load Balancing” platform- and vendor-agnostic.

Unfortunately, a major flaw exists in this section: The section lacks any real analysis of how to gauge performance. The author emphasizes the need to determine both baseline and running performance information, and he covers some of the information you will want to gather during production use. Yet he does not provide insights into performance analysis. For a book that addresses theoretical and practical applications of load balancing, a more in-depth look at performance issues is mandatory.

The next section, “Practice and Implementation of Server Load Balancing,” provides more detail about how vendors have implemented solutions to the various issues discussed in “Concepts and Theories of Server Load Balancing.” This section is short, but the author does an adequate job of covering various solutions. In this section, you learn about the use of Virtual IPs (VIPs), Network Address Translation (NAT), and related techniques important to ensuring that a load-balancing solution is able to efficiently and effectively push data into and out of a cluster.

In the section, “Configuring Server Load Balancers,” Bourke addresses the configuration of various vendor solutions. Products covered include Alteon WebSystems, Cisco’s CSS, F5’s BIG-IP, and Foundry’s ServerIron Series. I was disappointed that solutions such as Linux Virtual Services (LVS) and other open-source solutions were not discussed, especially because they are growing in prominence in low- and medium-load environments. Because of this, “Configuring Server Load Balancers” is useful only for readers using one of these vendors’ products. Admittedly, that will be most readers, but I would like to have seen greater breadth in the solutions covered.

One additional caveat: “Configuring Server Load Balancers” lacks troubleshooting guides or discussions of advanced topics specific to each vendor solution. If a book is going to include specifics about each vendor, then some real value should be added. After all, manuals are included with these products. Therefore, the value of this last section is questionable, although the section does offer something of a one-stop, Quick Start Guide-style solution.

“Server Load Balancing” concludes with three appendices: “Quick Command Guide,” “Direct Server Return Configuration,” and “Sample Configurations.” The “Quick Command Guide” is essentially a cut-down version of Section III, “Configuring Server Load Balancers,” without the details. The “Direct Server Return Configuration” appendix shows some sample configurations for using Direct Server Return (DSR) under Windows 2000 and Linux. In “Sample Configurations,” Bourke provides a quick reference to various load-balancing configurations already discussed in Section I and Section II, “Concepts and Theories of Server Load Balancing” and “Practice and Implementation of Server Load Balancing,” respectively.

“Server Load Balancing” is a decent book for those of you new to load balancing. The first two sections do a great job of introducing you to the technologies in use today, and to the fundamental concepts that drive those technologies. In addition, by reading all of “Configuring Server Load Balancers” you can get a feel for how various vendors implement their solutions. Yet I believe that more could have been done with this book. For example, the book focuses almost exclusively on HTTP load balancing. Certainly, HTTP load balancing is a common practical application of the technology, but definitely not the only popular application. If you want to learn quickly about load balancing, then this book certainly will help; but I hope that Bourke and O’Reilly work diligently to treat the topic of load balancing in greater depth in the next edition.

Author: Tony Bourke

Publisher: O’Reilly & Associates

Published: August 2001

ISBN: 0596000502

Paperback, 208 pages

Price: $34.95

Rate this:
Recent Comments
There are currently no comments. Be the first to make a comment.