Load balancing, at least on the network side, can be defined as the process of distributing traffic across a number of services or devices in order to improve performance, reliability, and redundancy.
Load balancing has started with the domain name system (DNS), a service that translates website names, or domain names, into IP addresses. This also allowed the first method of load balancing, called „round robin DNS“, which allowed multiple IP addresses to be associated with a single domain name, as a way of load balancing.
This evolved to the so-called DNS delegation, a much more effective method of load-balancing as well as client-side random load balancing, server-side load balancers, software-based load balancers, and eventually, network-based load balancing hardware.
Most commonly used industry standard algorithms for load balancing include the aforementioned round robin, weighted round robin, least connections or least response time algorithm.
Load balancers are also sometimes separated into two categories, Layer 4 and Layer 7 load balancers. Layer 4 load balancers focus on transport layer protocols, such as IP, TCP, FTP and UDP while Layer 7 load balancers distribute requests based on application layer protocols like the HTTP.
With the focus switched to cloud computing, traditional load balancing technologies are slowly becoming obsolete, forcing companies to switch to different ways to optimize the traffic in software-defined networking (SDN). This led to new traffic management methods like the content-based routing, enterprise-grade software-defined wide area networks (SD-WANs), which already offered load balancing, optimization, and real-time visibility, Network functions virtualization (NFV) technology, which also offers Layer 4 and Layer 7 load balancing services and others.
Last year, at the Network System Design and Implementation 2016 conference, Google revealed details of the Maglev, its own software network load balancer that used Google Compute Engine load balancing to serve a million requests per second with no pre-warming. According to Google, its own network of load balancers, which run on ordinary servers, or the same hardware that services used, has been handling traffic since 2008.
Amazon Web Services (AWS) also has its own load balancing service, called the Elastic Load Balancing, which automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, and IP addresses and is available in three different types, application, network and classic load balancer.
While most companies are switching to software-based load balancing technologies, there are still several hardware-based load balancers, which usually include some other network features, like intrusion prevention system. Some of the well-known companies that offer load balancing and the so-called application delivery controller (ADC), include F5 Networks, Cisco, Citrix, Kemp Technologies, Barracuda, Fortinet, and others.
With cloud computing, it is obvious that network and thus network services and technologies are evolving, and load balancing is not an exception either. Cloud-based global server load balancing brings both reliable DNS service as well as advanced traffic management capabilities. Google has already announced the general availability of IPv6 global load balancing, which brings new features and brings new capabilities compared to the previously available IPv4 global load balancing.