If you are targeting large audience or expecting high traffic to your website/web application globally, then you got to use LB (load balancer). The load balancer can help you in many ways.
- High availability
- Scaling the application
- No or minimum downtime
- Better geographical user experience
- SSL offloading
Traditional LB hardware cost around $5,000 so most of the medium, start up or low-budget project doesn’t think of getting one.
But not anymore, you can use cloud load balancer for as low as $20 per month with all the great features you get in traditional LB.
If you are designing high-availability application for better performance & security then the following cloud LB will help you.
Each has some advantage or additional features than others so choose what works for you.
List of Cloud Load Balancers
1. AWS ELB
Amazon Web Services (AWS) Elastic Load Balancer (ELB) is no doubt, one of the best load balancing solution available in the cloud.
AWS got two types of load balancers.
- Application load balancer – preferred for application layer (HTTP/HTTPS)
- Classic load balancer – preferred for transport layer (TCP)
If you are building web based applications and use HTTP or HTTPS protocol, then application load balancer is the best choice.
ELB distribute the incoming requests to backend configured EC2 instances based on the routing algorithm.
Some of the following features of AWS Application Load Balancer.
- It support HTTP/2, IPv6, WebSockets
- You can offload SSL/TLS
- AWS WAF integration supported
- You can enable sticky session (cookies)
- Forward request to the backend based on context URI/path
- Add health check
Elastic LB provides the following monitoring metrics by default.
- Average latency
- Requests Summary
- New/active connection count
- Processed bytes
- And much more…
2. Google Cloud Load Balancing
Google provide global single anycast IP to front-end all your backend servers for better high-availability and scalable application environment.
Google provide three types of load balancing solutions.
- HTTP(S) – layer 7, suitable for web applications
- TCP – layer 4, suitable for TCP/SSL protocol based balancing
- UDP – layer 4, useful for UDP protocol based balancing
Google Cloud is built on the same infrastructure as Gmail, YouTube so doubting on performance is out of a question.
Google Cloud LB support more than 1 million requests per second and you can auto-scale your applications based on the demand without any manual intervention.
Autoscaling let you be prepared for a spike in traffic without slowing down the website performance.
Some of the worth mentioning Google Cloud HTTP (S) LB features:
- One-click Google CDN integration
- SSL termination
- Health checks
- You can create content-based balancing
- Global forwarding rules
LB monitoring is integrated with Stackdriver, full-stack monitoring powered by Google. You get almost everything metrics you need to monitor from your LB.
The good thing is you can use Stackdriver not just for Google Cloud but also AWS resources.
If you need Websockets support then, you got to use TCP load balancing as application LB doesn’t support it yet.
Are you hosting your website with Linode?
NodeBalancers by Linode provide all the essential features of LB at only $20 per month. Configuration is quite straightforward and comes with some of the basic features as the following.
- It support IPv4, IPv6
- Throttle the connection for suspicious traffic to prevent the resources abuse
- Can have multi-port balancing
- you can terminate SSL handshake
- Session persistence so your request always goes to the same backend server
- Health checks to ensure request goes to healthy server
- You can choose routing algorithm from round robin, least connection or source IP
NodeBalancers can be used to balance any TCP based traffic including HTTP, MySQL, SSH, etc.
4. Rackspace Cloud Load Balancers
Rackspace is one of the leading in cloud hosting solution providers offer cloud LB to manage the online traffic by distributing the request to the multiple backend servers.
It supports multiple routing algorithms like round-robin, weighted, least connection & random. You can balance almost any type of services protocol including.
Some of the Rackspace cloud LB features:
- SSL acceleration for improved throughput
- You can terminate SSL so less CPU overload on your web server
- Session persistence to forward request to one server
- 10Gb/second network throughput
- Manage LB through API
- Protection malicious traffic by throttling the connection
Rackspace LB is capable of handling 20,000 concurrent connections, and in a case of the spike, it can extend up to 100,000 connections.
You get logs for all traffic in Apache-style access logs for better log management.
5. Azure Load Balancer
Load balance the internal or internet facing applications using Microsoft Azure LB. With the help of you Azure LB, you can build high-available and scalable web applications.
It supports TCP/UDP protocol including HTTP/HTTPS, SMTP, real-time voice, video messaging applications. If you are hosting your application already on Azure, then you can forward your request from LB to the virtual servers.
Some notable features of Azure LB:
- Native IPv6 support
- You can have NAT rules for better security
- Hash-based traffic distribution
There are three types of load balancing solution provide by Azure.
- Application Gateway – layer 7, terminate the client connection and forward the request to the backend servers/services
- Azure load balancer – layer 4, distribute TCP traffic across Azure instances
- Traffic manager – DNS level distribution
SSL offloading, Path forwarding is supported only in “Application Gateway.”
6. DigitalOcean Load Balancer
Similar to Linode, you can control DigitalOcean’s load balancer either through a control panel or API. If you are hosting your web application with DO and looking for HA solution, then this would be probably the best one at a lower cost.
It supports HTTP, HTTPS & TCP protocol with round robin and least connection routing algorithm. DO let you terminate SSL, configure the sticky session, health checks, forwarding rules, etc. for $20 per month.
7. Incapsula Load Balancer
Incapsula provides load balancer as a service for three main availability scenarios.
Local load balancer – request is forwarded to most suites servers based on routing algorithm within the same data center.
Global server load balancer (GSLB) – perfect for a large organization or hybrid cloud infrastructure where you can forward the requests to multiple data center for high availability and better performance.
GSLB support geo-targeting which means you can forward the traffic based on visitor geolocation to the regional page or nearest data center.
Auto site failover – automate and accelerate disaster recovery based on the health checks without manual intervention. Traffic are instantly rerouted to another data center.
Incapsula provides real-time dashboard, active/passive health checks & option to create the redirect/rewrite rules.
The load balancer is essential for high-availability, and I hope above give you an idea about some of the high-performing cloud load balancer.