What is global load balancing
Load balancing refers to different distribution techniques that help spread workload and traffic across various servers in a network. The idea is straightforward: the more hands working, the faster the job gets done. With regards to computer networks, load balancing increases overall computing efficiency, minimizes downtime, and raises overall performance and throughput.
As more and more computing is done via the Internet, “load balancing” has taken on a much broader context.
Global load balancing is based on the same principle as other methods of server load distribution, but its implementation is not limited to a local network. Instead, the workload is distributed planet-wide instead of across just one data center.
Global load balancing offers both disaster recovery benefits and enhanced traffic management to optimize site or application performance. For example, consider a fictional web site with two data centers, site A in the US (the primary data center) and Site B in Seoul (the backup location):
- Example 1, Disaster Recovery: Site A fails completely, and the load balancing system transfers traffic automatically and seamlessly to site B.
- Example 2, Disaster Recovery: One server in site A fails, and traffic to a parallel server is redirected to the same server in site B, while all other traffic to healthy servers in site A continues uninterrupted.
- Example 3, Performance: A user in Korea types “www.somedomain.com”, which is hosted in site A, into a browser. The load balancing system recognizes the user’s geographic location and redirects to “www.somedomain.kr”, which is mirror website hosted in site B. The user doesn’t know he\she hasn’t actually reached site A, but enjoys far superior site performance since the data center is much closer. Similar methods are also used to comply with various laws and regulations that ask for user information to be processed by locally hosted servers.
Using DNS for global load balancing
DNS load balancing is one the simplest approaches to global load balancing. Although it’s considered acceptable for simpler applications or web sites, DNS load balancing is hard-pressed to meet the challenges of enterprise-class deployments, for a number of reasons.
DNS solutions are based on load balancing pools, which are established for different geographic regions. The load balancer is programmed to know which web servers are available for traffic and how often traffic should be routed to them.
In theory, DNS load balancing enables network administrators to maximize the usage of geographically dispersed infrastructure, raising performance by minimizing the distance between data centers and requesters.
In practicem DNS load balancing is based on a simple Round Robin load balancing methodology. This means that the load balancer runs down a list of servers, sending one connection to each server in turn, and starting at the top of the list when it reaches the end.
DNS load balancing is not load-aware, which results in either server sub-utilization or overburdening, since the next server in line may or may not be the optimum choice.
Moreover, DNS records have no native failure detection. Thus, requesters may be directed to the next server in the Round Robin rotation, even if that server is not live. There are third-party monitoring solutions to alleviate this problem, but these tend to be complex and costly to implement, configure, and maintain.
Most importantly, DNS-based load balancing is unable to take into account the unknown percentage of users who have DNS data cached. Each of these users will have varying amounts of Time to Live (TTL) left. This means that visitors can easily be redirected to the “wrong” server, until their TTL times out. While the TTL problem can be alleviated by setting TTL to a low value, this workaround can negatively impact performance, and still not guarantee that all users are correctly directed – which is unacceptable for business-critical applications.
Using the cloud for global load balancing
Where traditional DNS based services fallsshort, today’s cloud computing technology steps in. Cloud computing is – at heart – load balancing itself. It is cloud computing’s ability to shift loads rapidly across the Internet that has made it such an attractive option for global organizations of all sizes.
Cloud-based solutions extends load balancing globally, without relying on outdated DNS databases and caches. Implemented correctly, cloud-based solution adds another layer of availability and markedly enhances application performance by distributing requests across multiple application deployments located in geographically diverse data centers or third-party cloud-computing providers.
But cloud-based load balancing is not just an alternative to DNS load balancing functionality. It actually takes load balancing to a whole new level – enabling, for example, the application of pre-defined thresholds and service level agreements (SLAs) to every individual request, regardless of geographic origin.
Cloud-based load balancing markedly improves system response time, and helps optimize resources enterprise-wide. Cloud load-balanced solutions help ensure local, regional and global performance, since remote user sessions are routed to the best-performing data center based on continuous monitoring of site-level health attributes.
n addition to ensuring optimum global traffic management, cloud-based Global Server Load Balancer (GSLB) delivers mission-critical business continuity and global disaster recovery support in the event of site- or regional-level outages. In the event that a disruption occurs, individual user sessions are redirected transparently, without the user even noticing the changeover.
Finally, cloud-based GLSB service is flexible enough to provide significant added-value to the enterprise, including DDoS protection, application security, intelligent caching, and Layers 3-4 and 7 session stickiness.
Geo load balancing
Geo load balancing improves on “traditional” GSLB by taking into account the visitor’s geographic point of access and routing him/her to the best-suited data center or application instance.
In addition to the clear performance benefits, geo load balancing enables the delivery of location-specific content and services, leveraging existing CDN technology.
With geo distribution, for example, a website owner can deliver location-specific content, advertisements, and offers that are relevant an individual customer.
Alternately, the application administrator could roll out a new version only to a select set of customers, in order to avoid disrupting the entire user base.