on 12-18-201407:10 AM - last edited on 08-11-201501:41 PM by jason_cmgr
Telephone Directories and Call Centers
In the previous article in this series, we looked at the basic concepts of Global Load Balancing, and compared it to a Global Telephone Directory. In this article, we will see how the Internet uses a system called “DNS” (Domain Name System) to manage global addressing in a similar way.
Internet Domain Name System
The Internet uses a system called “DNS” (Domain Name System), which is very much like the Global Phone Book that was described in the previous article. Internet Services are published using “Domain Names” such as www.Brocade.com. However, when you access a service, your computer must look up the corresponding IP Address of the computer hosting that service.
This process of “resolution” is very similar to looking up a phone number in the Global Phone Book. It’s called “resolution” because you resolve a domain name (www.brocade.com) to an IP address (188.8.131.52). The ‘phone book’ is located on a computer called a DNS server.
Global Load Balancing
Global Load Balancing (GLB) works in a similar way to the example in the previous article, comparing it to a smart, location and load-aware Global Phone Book. There are other techniques used for Global Load Balancing, such as triangulation, redirection and BGP routing, but the DNS-based version described in this series of articles is by far the most common.
Let’s consider an organization that wants to use GLB and will operate two or more datacenters to host the service or application. Often this just involves replicating the application infrastructure, running similar computers with similar software and content in one or more additional locations or cloud platforms. Each datacenter will have a different IP address (just as each call center had a different phone number)
Note: Global Load Balancing people use the term ‘datacenter’ to describe a location where a service is hosted. It rarely means an entire datacenter building with the associated infrastructure; generally, a datacenter is just a small number of computers or applications instances that work together to provide an online service.
The next step is to configure the DNS records (phone book entries) so that the name of their service resolves to the two IP addresses. This commonly-used technique is called ‘Round Robin DNS’.
In our fictional example of Suez Technology, the application might be hosted in two locations, Egypt, and Canada, so when a user tries to access the www.sueztechnology.com service, it makes a DNS request to find out the IP addresses of both data centers. It receives a list containing both IP addresses, and it tries one of them (generally the first).
The DNS server changes the order of the list each time it replies to a DNS request, hence the origin of the name “Round Robin” for this technique:
Round Robin DNS is commonly used to split traffic equally between datacenters, but It does not consider the availability, performance or proximity of the datacenters. So, if the Canada datacenter were to fail, half of the users of the service would be completely cut off. Some systems will try each of the IP addresses in the list in turn until it can connect to a datacenter, but this behavior cannot be relied upon for all applications.
DNS-based Global Load Balancing
DNS-based Global Load Balancing (GLB) works by improving this process, controlling which IP addresses are supplied to each user, just as our location-aware Global Phone Book improved the phone system by giving each user the most appropriate telephone number to use.
In the next article, we look at how SteelApp delivers a GLB service for our applications. We will also look at the different ways in which SteelApp can use DNS to decide how and when to route traffic to provide an optimum customer experience.