3 A Layman s guide to Global Server Load Balancing Services on the internet web sites, photo albums, e-commerce stores are all run from sets of computers located in datacenters across the world. It s often very important that these services are always available and that they run as quickly as possible. However, if a datacenter fails, the service will not be available, and if the datacenter is too far away from the end user - in another continent for example - the service will appear to run very slowly. Global Server Load Balancing is a technique used to deal with these two problems. This document describes how Global Server Load Balancing works, from a simple, non-technical perspective. If you re interested in finding out more read on About Zeus Technology Zeus Technology has been developing software products to help organizations host and grow their internet services for over 10 years. Zeus Web Server (ZWS) is one of the fastest, most reliable and secure web servers available today. Zeus Extensible Traffic Manager (ZXTM) is a sophisticated load balancer that allows organizations to grow and manage their services within a datacenter. ZXTM Global Load Balancer (ZXTM GLB) lets organizations run their services from multiple, redundant datacenter sites, connecting each user to the best performing, closest site. You can find out more from A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING 3

4 The Telephone System We ll begin our learning process with an analogy the Phone Book. The Phone Book is used to look up names in order to find the corresponding telephone number 1. We ll assume that there s one Global Phone Book that you can access from anywhere. Every person and organization in the world is listed in it. Suez Technology Suez Technology develops maritime traffic management software, and is based in Egypt. Their software support team is based in Egypt and it serves customers across the world. In the Global Phone Book, there is an entry for Suez Technology technical support: However, phone lines are sometimes unreliable and occasionally international customers have difficulty contacting the technical support team. At other times the call is noisy, and there is a noticeable delay when people speak, making conversation difficult. Suez is very conscious that this gives customers a poor impression of their business. Suez decides to set up a second technical support call center, based in Vancouver, as they have many customers in North America and the Far East. This should improve the reliability of the telephone calls, and give customers in those parts of the globe a better service. A second phone number for the Canadian call center is added to the Global Phone Book: 1 In the Internet, there is a similar system called DNS that computers use to look up names (like in order to find corresponding addresses but more about that later. 4 A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING

5 However, the phone book simply contains a list of names and numbers. There is no way for callers to know which number is best for them, and they just choose a number at random. Location-aware Phone Book How could this be improved? Imagine if a location aware phone book were developed: When you searched for an organization s phone number, you would also provide the phone number you are calling from. The software behind the phone book: 1. Determines your geographic location from the country and city code of your number (in this case, Cambridge, UK) 2. Looks up all of the candidate phone numbers one is in Suez, Egypt and one in Vancouver, Canada 3. Discards any candidate phone numbers that are not reachable (i.e. off the hook) 4. Determines which number is geographically closest 5. Tells you to call that number. This system would route you to the best call center by choosing the right phone number, based on the call center s availability and geographic location. The load in the call centers Stretch your imagination even further by imagining that a call center could inform the Global Phone Book as to how busy it was. For example, the Vancouver call center could say customers are currently queued for 5 minutes before we can handle their call. So, if the Vancouver call center happened to be particularly busy and the Egypt one were relatively idle, the Global Phone Book could take this into account. A caller from China may be geographically closer to Vancouver, but the phone system would chose to give him the Egypt number instead. As a result, customers get a much better level of service. They are never sent to a call center that is off the hook or too busy to take their call. They are routed to the center that is closest so they get the best call quality. A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING 5

6 The Internet The Internet uses a system called DNS (Domain Name System), which is very much like the Global Phone Book that was described above. Internet Services are published using Domain Names, such as However, when you access a service, your computer must look up the corresponding IP Address of the computer hosting that service. This process is very similar to looking up a phone number in the Global Phone Book. It s called resolution, i.e., you resolve a domain name (www.zeus.com) to an IP address ( ). The phone book is located on a computer called a DNS server. Global Server Load Balancing Global Server Load Balancing (GSLB) works in a similar way to the smart, location and load-aware Global Phone Book that was described above 2. Multiple Datacenters An organization who wants to use GSLB will need to operate two or more datacenters to host his service. Often this just involves taking the computers in the datacenter that initially host the service and replicating them, running similar computers with similar software and content in one or more additional locations. Note: Global Server 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 that work together to provide a service like a web site. Each datacenter will have a different IP address (just as each call center had a different phone number): 2 Other GSLB techniques exist, using triangulation, redirection and BGP routing, but the DNS-based version this document describes is by far the most common. For more information, please refer to the Zeus white paper Scaling your services with ZXTM Global Load Balancer. 6 A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING

7 Round-Robin DNS The next step the organization must follow is to configure the DNS records (phone book entries) so that the name of their service (www.sueztechnology.com) resolves to the two IP addresses. This commonly-used technique is called Round Robin DNS. When a user s computer tries to access the service, it makes a DNS request to find out the IP addresses. 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 (this is the basis of the round robin name). 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 3. DNS-based Global Server Load Balancing DNS-based Global Server Load Balancing (GSLB) 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. Some GSLB products replace the DNS server with a new one that is aware of datacenter location, health and availability. However, DNS servers are a core part of the Internet s infrastructure, so using these products can be disruptive and it can be difficult to deploy them. 3 Some software will try each of the IP addresses in the list in turn until it can connect to a datacenter, but this behaviour cannot be relied upon. A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING 7

8 Other GSLB products, including Zeus ZXTM Global Load Balancer (ZXTM GLB) work by extending the DNS server. They modify the responses that the DNS server sends back, ensuring that only the most appropriate IP addresses are contained in each response. These products are referred to as DNS Proxies. They tend to be easier to deploy because they extend rather than replace existing, proven and trusted infrastructure. How does ZXTM GLB work? ZXTM GLB works as follows: 1. ZXTM GLB receives a DNS request for a domain name. It passes the request on to a real DNS server. 2. The DNS server replies with a round-robin list of the IP addresses for the domain name. ZXTM GLB receives the response from the DNS server. 3. ZXTM GLB 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 response straight back to the originator. 4. Otherwise, ZXTM GLB 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. ZXTM GLB knows how heavily loaded each datacenter is. It continually monitors all of the datacenters it is load-balancing traffic to, to check they are functioning and to measure their performance. ZXTM GLB 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 8 A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING

9 caller-id to find out a telephone user s phone number, and then look up their country and city code 4. With this information datacenter availability, load and geographic proximity ZXTM GLB can accurately select the most appropriate datacenter for each user of the service. Please refer to the Zeus white paper Scaling your services with ZXTM Global Load Balancer, and to the product information at for more details on how ZXTM GLB functions and the different load-balancing methods that are supported. DNS in more detail Behind the scenes, the DNS system is very sophisticated. It s not just a single list of DNS names and IP addresses; it s a distributed set of connected databases that must be searched to find the information required. This section describes some of the fine details of DNS that are relevant to GSLB, but you can skip it if you were just looking for an overview! NS records and CNAMEs As you learn more about DNS, you ll come across terms like NS records and CNAMEs. NS Records An NS record tells the DNS system where the name server for a particular domain is located. When a client looks up a domain, it starts at one of the root name servers, going up through a chain of DNS servers until it finds the one it wants. The NS record for the sueztechnology.com domain tells the world where the DNS servers that know about sueztechnology.com are located. CNAMEs A CNAME is like a nickname for a particular domain name. For example, if the web server for was located in the BigPipe Hosting Facility in Egypt, then the name might be a CNAME (nickname) for another name, such as hosting.bigpipe.net.eg. What this means is that when a computer tries to look up the IP address for it gets a DNS response saying Use hosting.bigpipe.net.eg instead. It makes a new DNS request for that name, and uses the IP address it receives. This is all completely transparent to the end user. In our Global Phone Book, it s just as if Suez Technology had outsourced its call center to a different organization. The phone book entry for Suez Technology Technical Support 4 ZXTM GLB uses the source IP address of the DNS request to determine the IP address of each user. ZXTM 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. A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING 9

10 might say Use Egypt Support Services, and the phone book would return the number for that organization any time someone looked up Suez Technology Technical Support. Why are NS records and CNAMEs important? NS records and CNAMEs are useful tools. Generally, when you deploy a DNS proxy like ZXTM GLB, you will arrange that DNS requests are directed to it by modifying either an NS record, or by adding a CNAME. This way, you re telling the remote computers to query the ZXTM GLB device rather than the DNS server directly. All of this complexity is completely hidden from end users they continue to access your service using the common name as before and are unaware of the workings of DNS! Please refer to the ZXTM GLB documentation for more information on how to deploy ZXTM GLB and configure your DNS using NS and CNAME records. DNS Caching In order to reduce the load on DNS servers, many clients cache (remember) DNS responses for a period of time. Additionally, clients often route their DNS requests through intermediary cache servers. This DNS caching behavior improves the performance of internet services because clients do not have to resolve DNS names every time they access a service, and a local cache can reply faster than a remote DNS server. Cache Timeout Remembering DNS responses can cause problems when a datacenter fails and its IP address becomes unavailable. If a client or intermediary cache has cached a DNS entry to the datacenter that has just failed, the client will attempt to contact that datacenter without checking with the GSLB device first. This problem is dealt with in two ways. 1. Some client software performs a new DNS lookup when it discovers that the IP address it cached is unavailable. This behavior improves compatibility with GSLB systems. For example, Internet Explorer on Windows XP SP2 or later works this way. 2. DNS responses contain a TTL (Time-To-Live) field that tells systems how long they should cache items for. For a GSLB system, it s appropriate to set the TTL to a low value, such as 30 seconds. ZXTM GLB is able to change the TTL of any DNS responses it modifies in case the DNS server does not provide a suitable SSL value. Cache Location GSLB devices determine the location of the remove user based on where the DNS request came from. This location information is then used to decide which datacenter is closest to the user. When the DNS request comes from an intermediate DNS cache, the GSLB device will use the location of the cache device. However, this rarely causes a problem; the cache is normally located close to the user for performance reasons, and if the user is using a proxy device, the cache and the proxy are located in the same location (as in the case of AOL s network). So, DNS caches have little impact on the effectiveness of the proximity decisions that a GSLB device makes. 10 A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING

11 Conclusion Global Server Load Balancing is a tried and tested way of improving the availability and speed of Internet-based services. DNS can be thought of as the Internet s Phone Book, telling computers where different services are located. DNS-based Global Server Load Balancers are by far the most common type of GSLB device. There is widespread support amongst software vendors and infrastructure providers to ensure that DNS-based GSLB systems are as effective as possible, and significant improvements has been made in the last few years that deal with early application incompatibilities. ZXTM Global Load Balancer Suez Technology, the IP addresses and other examples used in this document are entirely fictitious, but GSLB is a real technique which is in use at many high profile sites on the intranet, as well as for internal applications. For more information on Zeus ZXTM Global Load Balancer, please contact Zeus Technology at the address provided at the end of this document. A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING 11

12 Copyright Zeus Technology Limited Copyright in this document belongs to Zeus Technology Limited. All rights are reserved. Trademarks Zeus Technology, the Zeus logo, Zeus Web Server, Zeus Load Balancer, Zeus Extensible Traffic Manager, ZXTM, ZXTM Global Load Balancer, ZXTM Virtual Desktop Broker and associated logos and abbreviations, TrafficScript, TrafficCluster and RuleBuilder are trademarks of Zeus Technology Limited. Other trademarks may be owned by third parties. Contact Information If you would like to learn more about any of the topics covered by this white paper, please feel free to contact us for more information. You can reach us in a variety of ways: By For general enquiries: For commercial and technical enquiries: For reseller information: For press and public relations information: By Telephone Zeus Technology UK: Zeus Technology US: ZEUS-INC or Fax: By Post or in Person Zeus Technology Limited Zeus Technology The Jeffreys Building 1955 Landings Drive Cowley Road Mountain View Cambridge CB4 0WS CA United Kingdom United States Our web site contains a wealth of information on our products, services and solutions, as well as customer case studies and press information. For more information, please visit knowledgehub.zeus.com The ZXTM KnowledgeHub is a key resource for developers and system administrators wishing to learn about ZXTM and Zeus Traffic Management solutions. It is located at 12 A LAYMAN'S GUIDE TO GLOBAL SERVER LOAD BALANCING

White Paper Overview Many enterprises attempt to scale Web and network capacity by deploying additional servers and increased infrastructure at a single location, but centralized architectures are subject

THE MASTER LIST OF DNS TERMINOLOGY v 2.0 DNS can be hard to understand and if you re unfamiliar with the terminology, learning more about DNS can seem as daunting as learning a new language. To help people

THE MASTER LIST OF DNS TERMINOLOGY First Edition DNS can be hard to understand and if you re unfamiliar with the terminology, learning more about DNS can seem as daunting as learning a new language. To

How to set up the Integrated DNS Server for Introduction Getting Started Peplink Balance has a built-in DNS server for inbound link load balancing. You can delegate a domain s NS/SOA records, e.g. www.mycompany.com,

In order to find resources on the network, computers need a system to look up the location of resources. This video looks at the DNS records that contain information about resources and services on the

Put your business-critical activities in good hands If your income depends on the continuous availability of your servers, you should ask your hosting provider for a high availability solution. You may

ProxySG TechBrief Enabling Transparent Authentication What is Transparent Authentication? Authentication is a key factor when defining a web access policy. When the Blue Coat ProxyxSG is configured for

Globalnames allow a domain name as short as.apple,.xbox and.intranet to be used. This video looks at how to configure Windows DNS to use names like these on your internal network and also how global names

Dell Copyright 2014 Moka5, Inc. All rights reserved. Moka5, MokaFive, LivePC, and the Moka5 logo are trademarks of Moka5, Inc. All other product or company names may be trademarks of their respective owners.

Information- Centric Networks Section # 3.2: DNS Issues Instructor: George Xylomenos Department: Informatics Funding These educational materials have been developed as part of the instructors educational

ECE 4321 Computer Networks Network Programming Name Space System.Net Domain Name System (DNS) To resolve computer naming Host database is split up and distributed among multiple systems on the Internet

1 Name Resolution - Domain Name System - Name resolution systems provide the translation between alphanumeric names and numerical addresses, alleviating the need for users and administrators to memorize

Microsoft Office Communications Server 2007 R2 Scale to a Load Balanced Enterprise Edition Pool with WebMux Walkthrough Published: Sept. 2009 For the most up-to-date version of the Scale to a Load Balanced

WINDOWS AZURE NETWORKING The easiest way to connect to Windows Azure applications and data is through an ordinary Internet connection. But this simple solution isn t always the best approach. Windows Azure

the Availability Digest Redundant Load Balancing for High Availability July 2013 A large data center can comprise hundreds or thousands of servers. These servers must not only be interconnected, but they

KEMP LoadMaster Enabling Hybrid Cloud Solutions in Microsoft Azure Introduction An increasing number of organizations are moving from traditional on-premises datacenter architecture to a public cloud platform

High Availability HTTP/S R.P. (Adi) Aditya rpaditya@umich.edu Senior Network Architect HTTP/S is not the Internet HTTP/S Internet so why care about High Availability HTTP/S? because HTTP/S is such a large

User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner

White Paper Overview To accelerate download times for end users and provide a high performance, highly secure foundation for Web-enabled content and applications, networking functions need to be streamlined.

OVERVIEW OF THE DNS AND GLOSSARY OF TERMS OVERVIEW OF THE DNS AND GLOSSARY OF TERMS The DNS is a technology that most IT managers don t think much about; it works well and usually does not require much