Download (direct link):
performing concurrent firewall load balancing and transparent-cache switching. The load balancers can be configured to identify all traffic from the outside network to destination port 80 for specific Web server IP addresses and to redirect such traffic to the cache first. If the cache does not have the content, it makes a request to the Web servers. Such requests from the cache go through firewall load balancing and server load balancing on their way to the Web servers.
Figure 8.4: Enterprise network—introducing transparent-reverse proxy caching.
Finally, we can use global server load balancing (GSLB) from Chapter 5 to deploy the Web servers in different data centers to protect against the complete loss of a data center due to a power failure or any natural catastrophe.
Load balancers may also be used in the data center to perform transparent cache switching for any Web requests from the user desktop computers in the campus to the outside Internet.
A content-distribution network (CDN) is essentially a network that is able to distribute content closer to the end user, to provide faster and consistent response time. CDNs may come in different flavors. We will discuss three different examples, starting with the case of a large enterprise network with several branch offices all over the world. We then look at how a content provider, such as Yahoo, or a dot-com company, such as Amazon, can speed up content delivery to the users and provide consistent response times. The third example shows how a CDN service provider works by providing content-distribution services to content providers.
Let’s consider a large enterprise that has several branch offices all over the world, employing thousands of employees. Typically all the branch offices are interconnected over private leased lines for secure connectivity between the branch offices and the corporate office. Connectivity to the public Internet is limited to the corporate office or a few big branch offices. As branch office users access Internet or intranet servers, all the requests must go through the private leased lines. We can speed up the response time for Internet and intranet by using transparent cache switching at each branch office, as shown in Figure 8.5. All static content will be served from the cache deployed in each branch office, improving the response time and alleviating the traffic
load on the wide-area link from the branch office to the corporate office. By using streaming-media caching, we can also broadcast streaming video or audio from the corporate office to all users in the branch office for remote training. The stream is sent once from the corporate office to the branch-office cache, which then serves that stream to all users within that branch. This improves the stream quality, reduces jitter, and consumes less bandwidth on the wide-area links.
Figure 8.5: Enterprise CDNs.
Content providers or e-commerce Web sites want to provide the fastest response time possible to end users in order to gain a competitive edge. We can improve the response time and make it more predictable if the content can be closer to the end users. For example, if foo.com located all its Web servers in New York, users all over the world would have to traverse various Internet service provider links to reach the data center in New York. What if the content could be located in each country or in a group of countries? A user in a given country does not have to traverse as many Internet service provider links to retrieve the Web pages. Well, foo.com can deploy Web servers in each country or group of countries, but that can be very difficult to manage. As the Web-page content changes, all the servers in different countries must be updated too. Instead of locating servers all over the world, what if foo.com deploys reverse-proxy caches in different data centers throughout the world? The cache is essentially an intelligent mirror for all static content. Caches incorporate various mechanisms to check for the freshness of the Web content and update it automatically.
Once we have deployed reverse-proxy caches around the world, we must figure out a way to direct each user to the closest cache that provides the fastest response time, as shown in Figure 8.6. Global server load balancing (GSLB), as discussed in Chapter 5, provides exactly this.
Figure 8.6: Content-provider CDN.
CDN Service Providers
CDN Service Providers
In the aforementioned example of a content provider, foo.com had to deploy the caches around the world. What if another company deployed caches around the world and sold the space on the caches to different content providers? That’s exactly what a content-distribution network service provider does. A CDN service provider can reduce the cost of content distribution because the network installation and operational cost of caches around the world is spread among many content providers. The caches are shared by many content providers at the same time, to cache their Web site content. Although the concept of content-distribution networks existed on a small scale, Akamai was the first company to market this on a major scale. The spectacular initial public offering of Akamai in 1999 spawned several companies that built CDNs and offered CDN services. Many of these companies later closed down as part of the dot-com bubble and even Akamai is yet to show a profitable business model at this time.