Alternatives to Envoy logo

Alternatives to Envoy

Istio, NGINX, linkerd, Trailblazer, and HAProxy are the most popular alternatives and competitors to Envoy.
296
9

What is Envoy and what are its top alternatives?

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.
Envoy is a tool in the Load Balancer / Reverse Proxy category of a tech stack.
Envoy is an open source tool with 24.9K GitHub stars and 4.8K GitHub forks. Here’s a link to Envoy's open source repository on GitHub

Top Alternatives to Envoy

  • Istio
    Istio

    Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc. ...

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

  • linkerd
    linkerd

    linkerd is an out-of-process network stack for microservices. It functions as a transparent RPC proxy, handling everything needed to make inter-service RPC safe and sane--including load-balancing, service discovery, instrumentation, and routing. ...

  • Trailblazer
    Trailblazer

    Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture. In a nutshell: Trailblazer makes you write logicless models that purely act as data objects, don't contain callbacks, nested attributes, validations or domain logic. It removes bulky controllers and strong_parameters by supplying additional layers to hold that code and completely replaces helpers. ...

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

  • Consul
    Consul

    Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable. ...

  • Kubernetes
    Kubernetes

    Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. ...

Envoy alternatives & related posts

Istio logo

Istio

945
1.5K
54
Open platform to connect, manage, and secure microservices, by Google, IBM, and Lyft
945
1.5K
+ 1
54
PROS OF ISTIO
  • 14
    Zero code for logging and monitoring
  • 9
    Service Mesh
  • 8
    Great flexibility
  • 5
    Resiliency
  • 5
    Powerful authorization mechanisms
  • 5
    Ingress controller
  • 4
    Easy integration with Kubernetes and Docker
  • 4
    Full Security
CONS OF ISTIO
  • 17
    Performance

related Istio posts

Shared insights
on
IstioIstioDaprDapr

At my company, we are trying to move away from a monolith into microservices led architecture. We are now stuck with a problem to establish a communication mechanism between microservices. Since, we are planning to use service meshes and something like Dapr/Istio, we are not sure on how to split services between the two. Service meshes offer Traffic Routing or Splitting whereas, Dapr can offer state management and service-service invocation. At the same time both of them provide mLTS, Metrics, Resiliency and tracing. How to choose who should offer what?

See more
Anas MOKDAD
Shared insights
on
KongKongIstioIstio

As for the new support of service mesh pattern by Kong, I wonder how does it compare to Istio?

See more
NGINX logo

NGINX

113.2K
60.9K
5.5K
A high performance free open source web server powering busiest sites on the Internet.
113.2K
60.9K
+ 1
5.5K
PROS OF NGINX
  • 1.4K
    High-performance http server
  • 894
    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 · 11M 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 · 283.1K 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
linkerd logo

linkerd

129
312
7
Twitter-Style Operability for Microservices
129
312
+ 1
7
PROS OF LINKERD
  • 3
    CNCF Project
  • 1
    Service Mesh
  • 1
    Fast Integration
  • 1
    Pre-check permissions
  • 1
    Light Weight
CONS OF LINKERD
    Be the first to leave a con

    related linkerd posts

    Trailblazer logo

    Trailblazer

    16
    25
    13
    A new architecture for Rails.
    16
    25
    + 1
    13
    PROS OF TRAILBLAZER
    • 5
      Trailblazer allows creating sane, large apps in Rails
    • 3
      Separates business logic from framework
    • 2
      Sound Software Architecture principals
    • 2
      Improves maintainability
    • 1
      Makes Rails better
    CONS OF TRAILBLAZER
    • 1
      Hasn't been on Thoughtworks radar since 2014

    related Trailblazer posts

    HAProxy logo

    HAProxy

    2.4K
    2.1K
    562
    The Reliable, High Performance TCP/HTTP Load Balancer
    2.4K
    2.1K
    + 1
    562
    PROS OF HAPROXY
    • 132
      Load balancer
    • 102
      High performance
    • 69
      Very fast
    • 58
      Proxying for tcp and http
    • 55
      SSL termination
    • 31
      Open source
    • 27
      Reliable
    • 20
      Free
    • 18
      Well-Documented
    • 12
      Very popular
    • 7
      Runs health checks on backends
    • 7
      Suited for very high traffic web sites
    • 6
      Scalable
    • 5
      Ready to Docker
    • 4
      Powers many world's most visited sites
    • 3
      Simple
    • 2
      Ssl offloading
    • 2
      Work with NTLM
    • 1
      Available as a plugin for OPNsense
    • 1
      Redis
    CONS OF HAPROXY
    • 6
      Becomes your single point of failure

    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.

    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
    Traefik logo

    Traefik

    846
    1.2K
    93
    The Cloud Native Edge Router
    846
    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
      Complicated setup
    • 7
      Not very performant (fast)

    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
    Shared insights
    on
    EnvoyEnvoyHAProxyHAProxyTraefikTraefikNGINXNGINX

    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.

    See more
    Consul logo

    Consul

    1.2K
    1.5K
    213
    A tool for service discovery, monitoring and configuration
    1.2K
    1.5K
    + 1
    213
    PROS OF CONSUL
    • 61
      Great service discovery infrastructure
    • 35
      Health checking
    • 29
      Distributed key-value store
    • 26
      Monitoring
    • 23
      High-availability
    • 12
      Web-UI
    • 10
      Token-based acls
    • 6
      Gossip clustering
    • 5
      Dns server
    • 4
      Not Java
    • 1
      Docker integration
    • 1
      Javascript
    CONS OF CONSUL
      Be the first to leave a con

      related Consul posts

      John Kodumal

      As we've evolved or added additional infrastructure to our stack, we've biased towards managed services. Most new backing stores are Amazon RDS instances now. We do use self-managed PostgreSQL with TimescaleDB for time-series data—this is made HA with the use of Patroni and Consul.

      We also use managed Amazon ElastiCache instances instead of spinning up Amazon EC2 instances to run Redis workloads, as well as shifting to Amazon Kinesis instead of Kafka.

      See more

      Since the beginning, Cal Henderson has been the CTO of Slack. Earlier this year, he commented on a Quora question summarizing their current stack.

      Apps
      • Web: a mix of JavaScript/ES6 and React.
      • Desktop: And Electron to ship it as a desktop application.
      • Android: a mix of Java and Kotlin.
      • iOS: written in a mix of Objective C and Swift.
      Backend
      • The core application and the API written in PHP/Hack that runs on HHVM.
      • The data is stored in MySQL using Vitess.
      • Caching is done using Memcached and MCRouter.
      • The search service takes help from SolrCloud, with various Java services.
      • The messaging system uses WebSockets with many services in Java and Go.
      • Load balancing is done using HAproxy with Consul for configuration.
      • Most services talk to each other over gRPC,
      • Some Thrift and JSON-over-HTTP
      • Voice and video calling service was built in Elixir.
      Data warehouse
      • Built using open source tools including Presto, Spark, Airflow, Hadoop and Kafka.
      Etc
      See more
      Kubernetes logo

      Kubernetes

      59.7K
      51.7K
      681
      Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops
      59.7K
      51.7K
      + 1
      681
      PROS OF KUBERNETES
      • 166
        Leading docker container management solution
      • 129
        Simple and powerful
      • 107
        Open source
      • 76
        Backed by google
      • 58
        The right abstractions
      • 25
        Scale services
      • 20
        Replication controller
      • 11
        Permission managment
      • 9
        Supports autoscaling
      • 8
        Simple
      • 8
        Cheap
      • 6
        Self-healing
      • 5
        Open, powerful, stable
      • 5
        Reliable
      • 5
        No cloud platform lock-in
      • 5
        Promotes modern/good infrascture practice
      • 4
        Scalable
      • 4
        Quick cloud setup
      • 3
        Custom and extensibility
      • 3
        Captain of Container Ship
      • 3
        Cloud Agnostic
      • 3
        Backed by Red Hat
      • 3
        Runs on azure
      • 3
        A self healing environment with rich metadata
      • 2
        Everything of CaaS
      • 2
        Gke
      • 2
        Golang
      • 2
        Easy setup
      • 2
        Expandable
      • 2
        Sfg
      CONS OF KUBERNETES
      • 16
        Steep learning curve
      • 15
        Poor workflow for development
      • 8
        Orchestrates only infrastructure
      • 4
        High resource requirements for on-prem clusters
      • 2
        Too heavy for simple systems
      • 1
        Additional vendor lock-in (Docker)
      • 1
        More moving parts to secure
      • 1
        Additional Technology Overhead

      related Kubernetes posts

      Conor Myhrvold
      Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 12.6M views

      How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

      Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

      Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

      https://eng.uber.com/distributed-tracing/

      (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

      Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

      See more
      Yshay Yaacobi

      Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.

      Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.

      After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...

      See more