Alternatives to HAProxy logo

Alternatives to HAProxy

NGINX, Traefik, Envoy, Squid, and Varnish are the most popular alternatives and competitors to HAProxy.
2.4K
2.1K
+ 1
561

What is HAProxy and what are its top alternatives?

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.
HAProxy is a tool in the Load Balancer / Reverse Proxy category of a tech stack.

Top Alternatives to HAProxy

  • NGINX
    NGINX

    nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018. ...

  • Traefik
    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
    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. ...

  • Squid
    Squid

    Squid reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Squid has extensive access controls and makes a great server accelerator. It runs on most available operating systems, including Windows and is licensed under the GNU GPL. ...

  • Varnish
    Varnish

    Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture. ...

  • Pound
    Pound

    Pound was developed to enable distributing the load among several Web-servers and to allow for a convenient SSL wrapper for those Web servers that do not offer it natively. ...

  • F5
    F5

    It powers apps from development through their entire life cycle, so our customers can deliver differentiated, high-performing, and secure digital experiences. ...

  • Keepalived
    Keepalived

    The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures. ...

HAProxy alternatives & related posts

NGINX logo

NGINX

112.6K
60.3K
5.5K
A high performance free open source web server powering busiest sites on the Internet.
112.6K
60.3K
+ 1
5.5K
PROS OF NGINX
  • 1.4K
    High-performance http server
  • 893
    Performance
  • 730
    Easy to configure
  • 607
    Open source
  • 530
    Load balancer
  • 289
    Free
  • 288
    Scalability
  • 226
    Web server
  • 175
    Simplicity
  • 136
    Easy setup
  • 30
    Content caching
  • 21
    Web Accelerator
  • 15
    Capability
  • 14
    Fast
  • 12
    High-latency
  • 12
    Predictability
  • 8
    Reverse Proxy
  • 7
    The best of them
  • 7
    Supports http/2
  • 5
    Great Community
  • 5
    Lots of Modules
  • 5
    Enterprise version
  • 4
    High perfomance proxy server
  • 3
    Embedded Lua scripting
  • 3
    Streaming media delivery
  • 3
    Streaming media
  • 3
    Reversy Proxy
  • 2
    Blash
  • 2
    GRPC-Web
  • 2
    Lightweight
  • 2
    Fast and easy to set up
  • 2
    Slim
  • 2
    saltstack
  • 1
    Virtual hosting
  • 1
    Narrow focus. Easy to configure. Fast
  • 1
    Along with Redis Cache its the Most superior
  • 1
    Ingress controller
CONS OF NGINX
  • 10
    Advanced features require subscription

related NGINX posts

Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 9.9M views

Our whole DevOps stack consists of the following tools:

  • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
  • Respectively Git as revision control system
  • SourceTree as Git GUI
  • Visual Studio Code as IDE
  • CircleCI for continuous integration (automatize development process)
  • Prettier / TSLint / ESLint as code linter
  • SonarQube as quality gate
  • Docker as container management (incl. Docker Compose for multi-container application management)
  • VirtualBox for operating system simulation tests
  • Kubernetes as cluster management for docker containers
  • Heroku for deploying in test environments
  • nginx as web server (preferably used as facade server in production environment)
  • SSLMate (using OpenSSL) for certificate management
  • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
  • PostgreSQL as preferred database system
  • Redis as preferred in-memory database/store (great for caching)

The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

  • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
  • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
  • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
  • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
  • Scalability: All-in-one framework for distributed systems.
  • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
See more
John-Daniel Trask
Co-founder & CEO at Raygun · | 19 upvotes · 266.2K views

We chose AWS because, at the time, it was really the only cloud provider to choose from.

We tend to use their basic building blocks (EC2, ELB, Amazon S3, Amazon RDS) rather than vendor specific components like databases and queuing. We deliberately decided to do this to ensure we could provide multi-cloud support or potentially move to another cloud provider if the offering was better for our customers.

We’ve utilized c3.large nodes for both the Node.js deployment and then for the .NET Core deployment. Both sit as backends behind an nginx instance and are managed using scaling groups in Amazon EC2 sitting behind a standard AWS Elastic Load Balancing (ELB).

While we’re satisfied with AWS, we do review our decision each year and have looked at Azure and Google Cloud offerings.

#CloudHosting #WebServers #CloudStorage #LoadBalancerReverseProxy

See more
Traefik logo

Traefik

834
1.2K
93
The Cloud Native Edge Router
834
1.2K
+ 1
93
PROS OF TRAEFIK
  • 20
    Kubernetes integration
  • 18
    Watch service discovery updates
  • 14
    Letsencrypt support
  • 13
    Swarm integration
  • 12
    Several backends
  • 6
    Ready-to-use dashboard
  • 4
    Easy setup
  • 4
    Rancher integration
  • 1
    Mesos integration
  • 1
    Mantl integration
CONS OF TRAEFIK
  • 7
    Not very performant (fast)
  • 7
    Complicated setup

related Traefik posts

Gabriel Pa
Shared insights
on
TraefikTraefikNGINXNGINX
at

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

See more
Howie Zhao
Full Stack Engineer at yintrust · | 6 upvotes · 136.2K views
Shared insights
on
cookiecuttercookiecutterTraefikTraefik
at

We use Traefik as the web server.

The reasons for choosing Traefik over Nginx are as follows:

  • Traefik built-in Let’s Encrypt and supports automatic renewal
  • Traefik automatically enables HTTP/2
  • Prometheus can be supported through simple Traefik configuration
  • cookiecutter django integrates Traefik's configuration by default
See more
Envoy logo

Envoy

293
540
9
C++ front/service proxy
293
540
+ 1
9
PROS OF ENVOY
  • 9
    GRPC-Web
CONS OF ENVOY
    Be the first to leave a con

    related Envoy posts

    Noah Zoschke
    Engineering Manager at Segment · | 30 upvotes · 275.1K views

    We just launched the Segment Config API (try it out for yourself here) — a set of public REST APIs that enable you to manage your Segment configuration. Behind the scenes the Config API is built with Go , GRPC and Envoy.

    At Segment, we build new services in Go by default. The language is simple so new team members quickly ramp up on a codebase. The tool chain is fast so developers get immediate feedback when they break code, tests or integrations with other systems. The runtime is fast so it performs great at scale.

    For the newest round of APIs we adopted the GRPC service #framework.

    The Protocol Buffer service definition language makes it easy to design type-safe and consistent APIs, thanks to ecosystem tools like the Google API Design Guide for API standards, uber/prototool for formatting and linting .protos and lyft/protoc-gen-validate for defining field validations, and grpc-gateway for defining REST mapping.

    With a well designed .proto, its easy to generate a Go server interface and a TypeScript client, providing type-safe RPC between languages.

    For the API gateway and RPC we adopted the Envoy service proxy.

    The internet-facing segmentapis.com endpoint is an Envoy front proxy that rate-limits and authenticates every request. It then transcodes a #REST / #JSON request to an upstream GRPC request. The upstream GRPC servers are running an Envoy sidecar configured for Datadog stats.

    The result is API #security , #reliability and consistent #observability through Envoy configuration, not code.

    We experimented with Swagger service definitions, but the spec is sprawling and the generated clients and server stubs leave a lot to be desired. GRPC and .proto and the Go implementation feels better designed and implemented. Thanks to the GRPC tooling and ecosystem you can generate Swagger from .protos, but it’s effectively impossible to go the other way.

    See more
    Joseph Irving
    DevOps Engineer at uSwitch · | 7 upvotes · 537.6K views
    Shared insights
    on
    KubernetesKubernetesEnvoyEnvoyGolangGolang
    at

    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.

    See more
    Squid logo

    Squid

    103
    204
    17
    A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more
    103
    204
    + 1
    17
    PROS OF SQUID
    • 4
      Easy to config
    • 2
      Web application accelerator
    • 2
      Cluster
    • 2
      Very Fast
    • 1
      ICP
    • 1
      High-performance
    • 1
      Very Stable
    • 1
      Open Source
    • 1
      Widely Used
    • 1
      Great community
    • 1
      ESI
    • 0
      Qq
    CONS OF SQUID
      Be the first to leave a con

      related Squid posts

      Varnish logo

      Varnish

      12.4K
      2.6K
      370
      High-performance HTTP accelerator
      12.4K
      2.6K
      + 1
      370
      PROS OF VARNISH
      • 104
        High-performance
      • 67
        Very Fast
      • 57
        Very Stable
      • 44
        Very Robust
      • 37
        HTTP reverse proxy
      • 21
        Open Source
      • 18
        Web application accelerator
      • 11
        Easy to config
      • 5
        Widely Used
      • 4
        Great community
      • 2
        Essential software for HTTP
      CONS OF VARNISH
        Be the first to leave a con

        related Varnish 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.

        See more
        Tom Klein

        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.

        See more
        Pound logo

        Pound

        11
        24
        0
        A reverse proxy, load balancer and HTTPS front-end for Web server(s)
        11
        24
        + 1
        0
        PROS OF POUND
          Be the first to leave a pro
          CONS OF POUND
            Be the first to leave a con

            related Pound posts

            F5 logo

            F5

            39
            42
            0
            Secure application delivery
            39
            42
            + 1
            0
            PROS OF F5
              Be the first to leave a pro
              CONS OF F5
                Be the first to leave a con

                related F5 posts

                Keepalived logo

                Keepalived

                36
                59
                6
                A routing software written in C
                36
                59
                + 1
                6
                PROS OF KEEPALIVED
                • 2
                  Load Balancer
                • 2
                  Extremely fast (IPVS)
                • 1
                  2 nodes HA cluster management
                • 1
                  Virtual IP HA with VRRP
                CONS OF KEEPALIVED
                  Be the first to leave a con

                  related Keepalived posts