vADC Blog

How does SteelApp Global Load Balancing Work?

by pwallace_1 on ‎01-08-2015 03:16 AM - last edited on ‎05-29-2015 01:35 PM by PaulWallace (2,490 Views)

(This article is part of a series starting with

 

In the previous article, we covered how the Internet uses the DNS service to resolve addressing between different data center locations, and in this article, we look at how SteelApp implements a Global Load Balancing service. SteelApp Traffic Manager can work in two different configurations:

 

  1. Built-in DNS: SteelApp Traffic Manager can act as the DNS server
    with a local DNS service, using a built-in DNS service

  2. Proxy DNS: SteelApp can extend the DNS server, by modifying
    the responses that the DNS server sends back, acting as a “DNS Proxy”

 

 

Using SteelApp with Built-in DNS:

SteelApp Traffic Manager can act as the DNS server with a local DNS service, and hence have local awareness of datacenter location, health and availability. In this model, SteelApp uses a built-in DNS service to act as a local authoritative DNS for the application in each data center.

GLB-Blog-DNS-BuiltIn.png

 

Using SteelApp as a Proxy DNS:

SteelApp can extend the DNS server, by modifying the responses that the DNS server sends back, ensuring that only the most appropriate IP addresses are contained in each response. In this model, SteelApp acts as a “DNS Proxy” which is easier to deploy without changing existing DNS infrastructures.

 

GLB-Blog-DNS-Proxy.png

 

Whether using the built-in DNS, or acting as a DNS proxy, SteelApp works as follows:

 

  1. SteelApp receives a DNS request for a domain name. It passes
    the request on, either to the built-in DNS server, or to an external DNS server.

  2. The DNS server replies with a round-robin list of the IP addresses
    for the domain name. SteelApp receives the response from the DNS server.

  3. SteelApp checks the domain name that was just looked up. If it is not
    configured to load-balance traffic for that name, it just sends the complete
    response straight back to the originator.

  4. Otherwise, SteelApp decides which datacenter is most suitable for the
    user who submitted the DNS request. It removes the IP addresses not in that
    datacenter from the response and sends the response back to the originator.

 

 

SteelApp knows how heavily loaded each datacenter is, because It continually monitors all of the data centers and the traffic being routed to each of them, to check they are functioning and to measure their performance. SteelApp also knows the geographic location of each datacenter and each user. It can determine the geographic location of each user in much the same way that you could use caller-ID to find out a telephone user’s phone number, and then look up their country and city code.

 

This works by inspecting the source IP address of the DNS request to determine the IP address of each user. SteelApp GLB contains a comprehensive database (sourced from MaxMind) that maps IP addresses to geographic location so that it can accurately select the closest datacenter each time.

 

With this information – datacenter availability, load and geographic proximity – SteelApp GLB can accurately select the most appropriate datacenter for each user of the service.

 

Next article:

Global Load Balancing is used by many Riverbed customers using SteelApp Traffic Manager and DNS, to enhance the availability and performance of high profile sites on the Internet, as well as for intranet applications.

 

More information:

SteelApp for Application Delivery Control & Scalability

Whitepaper: Global Load Balancing with SteelApp Traffic Manager

Solution Brief: SteelApp Traffic Manager for Disaster Recovery

Deployment Guide - Global Load Balancing with Parallel DNS

Video: Global Load Balancing in Amazon AWS cloud with Stingray

 

Download SteelApp Developer Edition for Free:

Download Developer Edition

Previous Article:

Global Load Balancing, DNS and the Internet

Next Article:

To be continued "An insider’s guide to DNS and Global Load Balancing"