There are often many reasons for using content switching to implement server load balancing solutions, and it's not our intention to cover all of those reasons here. The main contributing factor over the past few years has been the explosion in Internet use and the consequent need for bigger, faster, and more reliable Web sites. While many of the examples given in this book refer to protocols and applications that have their roots in the Internet such as HTTP, HTTPS, and SMTP, it is not true that implementations of server load balancing are limited to these areas. Indeed, anywhere servers exist, it's increasingly likely that there is also a requirement for some form of server load balancing. While early users of the Internet came to often expect a slow and frustrating experience when browsing the Web, today's user is blessed with ever-increasing access speeds and technologies that in turn drive their expectations of how a Web site should perform. Modern networking has often become a battle of moving the bottleneck around the network with increasing speeds and feeds available to address the issues at all points. While historically server administrators might not have concerned themselves with performance and scalability beyond the bounds of a single box, the ever-increasing performance of networking technology means that the bottleneck can quickly end up being the application or server. One other key driver of the Internet Age is the globalization of customer base. With a Web presence, an organization need never close its shop doors to customers and can operate 24 hours a day, 7 days a week. This again introduces an interesting challenge to the server administrator in terms of maintenance and availability. To this end, the implementation of server load balancing can provide advantages such as:
The Alternatives to Server Load BalancingPrior to hardware- or network-based server load balancing technologies, multi-server implementations have used other approaches to increase the availability and scalability of server farms. Typically, such implementations would take the form of server clustering for server load balancing. Such clustering technologies often rely on technologies such as multicast to achieve similar results if somewhat less reliable and, as we've seen in other content switching applications, scalable. |