|
Optimizing Network Performance with Content Switching Authors: Syme M., Goldie P. Published year: 2003 Pages: 43-45/85 |
Chapter 6. Content-Aware Server Load BalancingWe've seen the benefits of introducing Layer 4 server load balancing into an Internet infrastructure, but there are instances when this alone is not sufficient. For some applications, the use of information contained within the payload ”actual user data ”when making the decision can offer many benefits. In this chapter, we will look at when and where the use of Layer 7 techniques can be useful, why the introduction has an impact on the frame flow in TCP sessions, and a series of examples of using Layer 7 information for server load balancing. |
What Is Layer 7 Server Load Balancing?We saw in Chapter 2, Understanding Layer 2, 3, and 4 Protocols , what information is available at each of the layers defined by the OSI Seven Layer Model, from basic Ethernet and IP addressing information used by traditional Layer 2 and 3 switches, to identification of protocols and applications at Layer 4. Layer 7 server load balancing, along with other Layer 7 applications such as Web cache redirection, raises the stakes once more by examining information being generated by the application itself. This could be anything from the URL the user is requesting, the name of the video the user wants to watch, or even the name being requested in a DNS request. Typical applications of Layer 7 server load balancing, which we will look at in more detail later, are:
In general, Layer 7 server load balancing enhances the user experience by making best use of the available resources. |
Why Use Layer 7 Server Load Balancing?Basic Layer 4 server load balancing addresses a number of issues regarding the delivery of IP services; namely, performance, reliability, and scalability. When deploying load balanced services, the addition of Layer 7 configuration can further aid in these issues, specifically when looking at some of the nuances of protocols such as HTTP, FTP, and DNS. Let's look at a number of examples specific to HTTP and FTP. Example 1 ”All Servers Are Not Built EquallyImagine the Web site of our friends at Foocorp.com, who might have two basic content types served from their Web site. First, simple static brochureware material such as brochures , manuals, HTML content, and so forth; and second, dynamic content allowing users to buy goods online directly through the Web. Both of these content types impose different requirements on the object servers hosting the site. Serving brochureware material requires larger, faster disk storage and access with less overhead imposed on the CPU and memory resources. Dynamic, transactional content, on the other hand, may require access to network storage and increased CPU and memory resources to handle the transactional nature of the request. In implementing generic Layer 4 load balancing, the site would need to be able to cope with these differing requirements on the same group of object servers. Example 2 ”All Content Must Be Available EverywhereAnother potential drawback of implementing load balancing at Layer 4 only is that each object server must be able to server all content for the virtual server. Why is this important? Well, even busy applications have some elements that are more heavily accessed than others, and as a consequence occupy more of the server resources. Take Foocorp.com as an example. Their registration and login services might be particularly compute intensive and would be one area of the site they might want to ensure that users always get a good response from. To keep up with growing demand for these resources on the site, more servers might need to be added, which with Layer 4 server load balancing would mean the need to replicate the entire contents of the site to each of the new servers. There are many other methods to deal with this type of scenario, such as using HTTP redirects to different fully qualified domain names (FQDNs), but implementing Layer 7 intelligence offers by far one of the most elegant solutions. Example 3 ”You Get What You Pay ForLooking at our first example again in a little more detail, let's take the concept of implementing different capacity servers one step further. Using Layer 7 server load balancing, we could make best use of the difference in performance by offering subscribing users different levels of response based on service they have paid for. "Gold" subscribers might have access to faster performing resources for which they have paid a premium, whereas "Standard" subscribers are shared among the remaining, lower powered resources. Example 4 ”Future ProofingAll examples shown previously might not be required from day one in a simple deployment; however, having the ability to implement Layer 7 server load balancing at a later date often proves useful. Consider being able to tackle application issues that might arise through the use of intelligent traffic handling rather than simply throwing more resources at the problem. |
|
Optimizing Network Performance with Content Switching Authors: Syme M., Goldie P. Published year: 2003 Pages: 43-45/85 |