What is AWS Elastic Load Balancing (ELB) and what are its top alternatives?
Top Alternatives to AWS Elastic Load Balancing (ELB)
- HAProxy
HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. ...
- Traefik
A modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically. ...
- Envoy
Originally built at Lyft, Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures. ...
- DigitalOcean Load Balancer
Load Balancers are a highly available, fully-managed service that work right out of the box and can be deployed as fast as a Droplet. Load Balancers distribute incoming traffic across your infrastructure to increase your application's availability. ...
- GLBC
It is a GCE L7 load balancer controller that manages external loadbalancers configured through the Kubernetes Ingress API. ...
- F5 BIG-IP
It ensures that applications are always secure and perform the way they should. You get built-in security, traffic management, and performance application services, whether your applications live in a private data center or in the cloud. ...
- Google Cloud Load Balancing
You can scale your applications on Google Compute Engine from zero to full-throttle with it, with no pre-warming needed. You can distribute your load-balanced compute resources in single or multiple regions, close to your users and to meet your high availability requirements. ...
- Fly
Deploy apps through our global load balancer with minimal shenanigans. All Fly-enabled applications get free SSL certificates, accept traffic through our global network of datacenters, and encrypt all traffic from visitors through to application servers. ...
AWS Elastic Load Balancing (ELB) alternatives & related posts
- Load balancer130
- High performance101
- Very fast69
- Proxying for tcp and http58
- SSL termination55
- Open source31
- Reliable27
- Free20
- Well-Documented18
- Very popular12
- Runs health checks on backends7
- Suited for very high traffic web sites7
- Scalable6
- Ready to Docker5
- Powers many world's most visited sites4
- Work with NTLM2
- Ssl offloading2
- Simple2
- Available as a plugin for OPNsense1
- Becomes your single point of failure6
related HAProxy posts
Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.
We're using Git through GitHub for public repositories and GitLab for our private repositories due to its easy to use features. Docker and Kubernetes are a must have for our highly scalable infrastructure complimented by HAProxy with Varnish in front of it. We are using a lot of npm and Visual Studio Code in our development sessions.
- Kubernetes integration20
- Watch service discovery updates18
- Letsencrypt support14
- Swarm integration13
- Several backends12
- Ready-to-use dashboard6
- Easy setup4
- Rancher integration4
- Mesos integration1
- Mantl integration1
- Not very performant (fast)7
- Complicated setup7
related Traefik posts
We switched to Traefik so we can use the REST API to dynamically configure subdomains and have the ability to redirect between multiple servers.
We still use nginx with a docker-compose to expose the traffic from our APIs and TCP microservices, but for managing routing to the internet Traefik does a much better job
The biggest win for naologic was the ability to set dynamic configurations without having to restart the server
We are looking to configure a load balancer with some admin UI. We are currently struggling to decide between NGINX, Traefik, HAProxy, and Envoy. We will use a load balancer in a containerized environment and the load balancer should flexible and easy to reload without changes in case containers are scaled up.
- GRPC-Web9
related Envoy posts
At uSwitch we wanted a way to load balance between our multiple Kubernetes clusters in AWS to give us added redundancy. We already had ingresses defined for all our applications so we wanted to build on top of that, instead of creating a new system that would require our various teams to change code/config etc.
Envoy seemed to tick a lot of boxes:
- Loadbalancing capabilities right out of the box: health checks, circuit breaking, retries etc.
- Tracing and prometheus metrics support
- Lightweight
- Good community support
This was all good but what really sold us was the api that supported dynamic configuration. This would allow us to dynamically configure envoy to route to ingresses and clusters as they were created or destroyed.
To do this we built a tool called Yggdrasil using their Go sdk. Yggdrasil effectively just creates envoy configuration from Kubernetes ingress objects, so you point Yggdrasil at your kube clusters, it generates config from the ingresses and then envoy can loadbalance between your clusters for you. This is all done dynamically so as soon as new ingress is created the envoy nodes get updated with the new config. Importantly this all worked with what we already had, no need to create new config for every application, we just put this on top of it.
We are looking to configure a load balancer with some admin UI. We are currently struggling to decide between NGINX, Traefik, HAProxy, and Envoy. We will use a load balancer in a containerized environment and the load balancer should flexible and easy to reload without changes in case containers are scaled up.
DigitalOcean Load Balancer
- No Let's Encrypt wildcard certificate support1
related DigitalOcean Load Balancer posts
related GLBC posts
related F5 BIG-IP posts
related Google Cloud Load Balancing posts
- Service Worker2
- Automatic SSL via Let's Encrypt2
- Load balancer2
- Edge2
- API Gateway2
- Extremely versatile2
- JavaScript2