Section: Blog

Elastic load balancer: What it is and how does it work?

Written by Paul Nilsen | May 11, 2018 2:44:09 PM

The cloud is one of the most disruptive technologies and affordable solutions for your enterprise.  It offers infrastructure as a Service (IaaS), Platform as a service (PaaS) and Software as service (SaaS). IaaS, the most basic cloud service, caters for IT infrastructure, servers, virtual machines, storage, networks and operating systems.

PaaS is an on-demand environment for development, testing, delivery and management of the applications. Developers can quickly create web or mobile applications without worrying about the set up. It also inherently uses IaaS.

SaaS cloud providers host and manage the software applications and underlying infrastructures and maintenance. Integration as a service is needed.

Figure -1, Cloud computing Services

Figure-1 shows the relationship between multiple service levels of management in cloud integration platform.

Referenced in “SaaS vs PaaS vs IaaS: What’s The Difference and How to Choose

 

Figure-2, Hybrid Integration platform

The organization maintains its on-premise data on its own private cloud, maintained by the third party vendor. Community clouds host several organizations and are maintained by a cloud vendor. Public clouds are completely hosted by the cloud vendor outside of its client’s premises.

You are not limited to using just one of these clouds. You can spread your applications across multiple vendors and infrastructures. This type of application integration is often referred to as hybrid integration platform.

What is an Elastic Load Balancer?

In Infrastructure as Service (IaaS), you can increase or decrease your storage server capacity on-demand. IaaS is completely scalable and adjustable to your needs and requirements. You can even use multiple copies of the your servers, available as multiple nodes.  Elastic load balancers monitor for unhealthy nodes so they can move your data to any remaining other healthy nodes until the unhealthy ones become operational again. This set up maintains the high availability of your data, automatically adjusting incoming traffic and routes to the right nodes.

Elastic load balancers come in three types:

  • Application load balancer
  • Network load balancer
  • Classic load balancers.

Figure 3  shows elastic scaling, one of the very best features of the cloud integration platform

Figure-3, Elastic Scaling.

In on-premises, the static data centre has lesser elasticity. The next best level in elasticity is private cloud. Community cloud has more elasticity in comparison with private cloud. Public cloud has the most elastic among all the cloud types in a hybrid integration platform. But, operational cost is more expensive in private cloud and the least expensive in public cloud.

Referenced in cloud computing patterns.

Where is it used?

You use elastic load balancers in fault-tolerant systems, for high availability, auto scaling, and in virtual private cloud networks.

Fault Tolerant System:

Fault tolerant systems place multiple redundant nodes (example, amazon EC2) in multiple available zones. If the nodes are placed under an elastic load balancer, incoming traffic will route only to the healthy nodes. The balancer will also maintain multiple instances of the data in multiple availability zones though you can also use the balancer with a single availability zone.  

If all the nodes in a particular zone are unhealthy, it routes the traffic to the other available zones until the unhealthy nodes are rectified.

High availability

Elastic load balancers’ most important function is to make your system available in multi available zones in case any node fails. This works with multiple balancers as well where the other load balancers will take over if one of them breaks or has errors.

Automatic scaling:

If you enable automatic scaling, and the condition is met, then all new nodes are automatically included on-demand.  As they run behind your ELB, you always want at least two healthy nodes running at any given time. Auto scaling works well even if the load balancers are not available.

Security

If you run your applications behind your ELB in virtual private cloud, then they are highly secured, and you can choose to have them running with either the internet-based or the internal load balancer interface option. You can also use the ELB option to route network traffic through your private IP address. In addition, ELB also provides SSL and Transport Layer Security (TSL).

Load balancer types in hybrid integration platform:

Layer 4 (L4) load balancing:  Network traffic data through OSI layers 4 protocols such as TCP / IP.

This network load balancer is more suitable for load balancing TCP traffic if you need more performance. It routes your traffic through your virtual private cloud, handling millions of transactions per second in low latencies. We recommend that you use a network load balancer if you need extreme performance with a static IP.

Layer 7 ( L7):  Load balances through content switching, HTTP header, uniform resource identifier, HTML format, and SSL session id.

Application load balancer is more suitable if you use HTTP and HTTPS for your traffic management. This type of balancer routes  traffic for micro services and containers. If you have flexible applications which end with TLS termination, you should use an application load balancer.

Global Server Load balancing; This extends to L4 and L7 layers; so that they are applicable across global levels in cloud integration platform.

Classic load balancers maintain load balancing across multiple nodes at the connection and request levels. If you build your applications using the classic network type, then you want a classic load balancer.

Load balancing algorithms and methods:

Round Robin method:  Healthy servers are selected sequentially one after the other till the end.

Least connections method:  Load balancer selects the server with the least connections when the traffic results in longer sessions.

Least Response time method: ELB chooses the server which has least connections and least response time.

Least Bandwidth method: ELB chooses the server which has the least amount of bandwidth measured in megabits per second.

Least Packets method: ELB selects the server with the least number of packets for the specified time.

Source method:  The load balancer chooses servers based on a hash of the IP request source (i.e. the visitor’s IP address).

Read more: What is Load Balancing?