If you are targeting a 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
- Security on the fly
- Better geographical user experience
- SSL offloading
- Geo-routing
Traditional LB hardware costs 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 a cloud load balancer for as low as $20 per month with all the great features you get in traditional LB.
If you are designing a high-availability application for better performance & security, then the following cloud LB will help you. Each has some advantages or additional features than others, so choose what works for you.
The following are a hosted solution that means you don’t have to install any software. It’s a SaaS product.
AWS ELB
Amazon Web Services (AWS) Elastic Load Balancer (ELB) is no doubt one of the best load balancing solutions available in the cloud.
AWS got three types of load balancers.
- Application – preferred for application layer (HTTP/HTTPS)
- Classic – preferred for transport layer (TCP)
- Network – a performance-oriented for TCP, UDP and TLS traffic
If you are building web-based applications and use HTTP or HTTPS protocol, then application load balancer is the best choice.
ELB distributes the incoming requests to backend configured EC2 instances based on the routing algorithm.
Some of the following features of the AWS Application Load Balancer.
- It supports 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 or host
- 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…
Pricing depends on the traffic, and you can use their calculator to estimate.
GCP Load Balancing
GCP provides global single anycast IP to front-end all your backend servers for better high-availability and scalable application environment.
Google provides 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 performance is out of a question. LB is capable of supporting more than 1 million requests per second, and you can auto-scale your applications based on the demand without any manual intervention.
Autoscaling lets you be prepared for a spike in traffic without slowing down the website’s performance.
Some of the worth mentioning Google Cloud HTTP (S) LB features:
- Affinity
- One-click Google CDN integration
- SSL termination
- Health checks
- You can create a content-based balancing.
- Global forwarding rules
- Geo-routing
- Google CDN integration
- IPv6 support
- Websocket
Entire LB configuration you can either do it through easy to use console or command-line.
NodeBalancers
Are you hosting your website with Linode?
NodeBalancers by Linode provide all the essential features of LB at only $10 per month. The configuration is quite straightforward and comes with some of the basic features as the following.
- It supports IPv4, IPv6
- Throttle the connection for suspicious traffic to prevent the abuse of the resources
- Can have a multi-port balancing
- Terminate SSL handshake
- Session persistence so your request always goes to the same backend server
- Health checks to ensure request goes to a 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.
Rackspace
Rackspace is one of the leading cloud hosting solution providers that 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 service protocol, including.
- TCP
- SMTP/IMAP
- HTTP/HTTPS
- LDAP/LDPAS
- MySQL
- FTP/SFTP
- UDP
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 a request to one server
- 10Gb/second network throughput
- Manage LB through API
- Protection malicious traffic by throttling the connection
You get logs for all traffic in Apache-style access logs for better log management.
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 solutions 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.”
DO 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 an HA solution, then this would probably be 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 $10 per month. You can implement Let’s encrypt certificate and compatible with DO Kubernetes.
Cloudflare Load Balancing
Cloudflare LB is unique.
Above all listed solutions let you load balance between their respective VMs and resources.
Ex – with GCP LB, you can balance traffic to GCP VM only. Choosing GCP or AWS LB makes sense when your entire application infrastructure hosted on their platform. However, if your site is hosted on a platform that doesn’t offer a load balancer or offers limited features, then Cloudflare comes to rescue.
Cloudflare can forward traffic to any VMs on the Internet.
It is a true multi-cloud LB solution that comes with all the standard features you can expect. Some of them are listed below.
- Route traffic to fast responding VM
- Serve from user’s nearest server
- Dynamic routing
- Supports HTTPS and TCP
- Session affinity
- Health checks on pool
- Real-time updates
Cloudflare LB pricing starts from $5.
Imperva Load Balancer
Imperva provides a load balancer as a service for three main availability scenarios.
Local load balancer – request is forwarded to most suites servers based on routing algorithms 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 centers for high availability and better performance.
GSLB supports 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 is instantly rerouted to another data center.
Incapsula provides a real-time dashboard, active/passive health checks & option to create the redirect/rewrite rules.
Conclusion
The load balancer is essential for high-availability, and I hope to give you an idea about some of the high-performing cloud load balancers.
Also Read: Best Open Source Load Balancers for HA