StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Infrastructure as a Service
  4. Load Balancer Reverse Proxy
  5. Dapr vs Envoy

Dapr vs Envoy

OverviewComparisonAlternatives

Overview

Envoy
Envoy
Stacks304
Followers546
Votes9
GitHub Stars27.0K
Forks5.1K
Dapr
Dapr
Stacks96
Followers336
Votes9
GitHub Stars25.2K
Forks2.0K

Dapr vs Envoy: What are the differences?

Introduction

Dapr and Envoy are two technologies commonly used in building modern distributed systems. While they both serve different purposes, it is important to understand their key differences in order to effectively utilize them in a system architecture.

  1. Runtime vs Proxy: Dapr is a runtime that provides a set of building blocks for distributed applications, including state management, pub/sub messaging, and service invocation. On the other hand, Envoy is a proxy that acts as a gateway between clients and services, providing load balancing, routing, and observability features. Dapr is used to enhance the capabilities of application runtimes, while Envoy focuses on handling network traffic between services.

  2. Application Workflow vs Network Traffic: Dapr is primarily concerned with improving the application development workflow by abstracting away the complexities of distributed systems, allowing developers to focus on building business logic. It enables stateful and stateless service communication with standard APIs. In contrast, Envoy focuses on managing and optimizing network traffic between services, offering advanced features like circuit breaking, rate limiting, and traffic splitting.

  3. Polyglot vs Language-agnostic: Dapr supports multiple programming languages, making it polyglot. It provides SDKs and language-specific APIs for various languages, allowing developers to use their preferred language for building services. On the other hand, Envoy is language-agnostic and can be used with any programming language, as it operates at the network layer independent of specific programming languages.

  4. Service Mesh Capabilities vs Distributed System Patterns: While both Dapr and Envoy can be used in service mesh architectures, Envoy is primarily designed for service mesh use cases. It provides advanced service discovery, load balancing, and traffic management capabilities, making it well-suited for large-scale distributed systems. Dapr, on the other hand, focuses on providing distributed system building blocks that can be used in a variety of architectural patterns, including but not limited to service mesh.

  5. Service Invocation vs Proxy Routing: Dapr facilitates service-to-service invocation by providing consistent APIs for communication, allowing services to invoke each other using standard protocols and message formats. It abstracts away the complexities of network communication, making it easier to create resilient and loosely coupled systems. In contrast, Envoy acts as a proxy and routes network traffic between services based on configuration rules. It provides powerful routing capabilities, allowing fine-grained control over traffic flows.

  6. Developer Experience vs Network Optimization: Dapr is designed to improve the developer experience by providing high-level abstractions and APIs for common distributed systems patterns. It focuses on minimizing boilerplate code and providing a consistent programming model across various languages. On the other hand, Envoy is focused on optimizing network traffic and providing advanced features for observability, security, and performance.

In summary, Dapr is a runtime for building distributed applications with a focus on developer experience and providing building blocks for various architectural patterns, while Envoy is a proxy that handles network traffic between services, offering advanced features for optimizing and managing traffic flows.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

Envoy
Envoy
Dapr
Dapr

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.

It is a portable, event-driven runtime that makes it easy for developers to build resilient, stateless and stateful microservices that run on the cloud and edge and embraces the diversity of languages and developer frameworks.

-
Event-driven Pub-Sub system with pluggable providers and at-least-once semantics; Input and Output bindings with pluggable providers; State management with pluggable data stores; Consistent service-to-service discovery and invocation; Opt-in stateful models: Strong/Eventual consistency, First-write/Last-write wins; Cross platform Virtual Actors; Rate limiting; Built-in distributed tracing using Open Telemetry; Runs natively on Kubernetes using a dedicated Operator and CRDs; Supports all programming languages via HTTP and gRPC; Multi-Cloud, open components (bindings, pub-sub, state) from Azure, AWS, GCP; Runs anywhere - as a process or containerized; Lightweight (58MB binary, 4MB physical memory); Runs as a sidecar - removes the need for special SDKs or libraries; Dedicated CLI - developer friendly experience with easy debugging; Clients for Java, Dotnet, Go, Javascript and Python
Statistics
GitHub Stars
27.0K
GitHub Stars
25.2K
GitHub Forks
5.1K
GitHub Forks
2.0K
Stacks
304
Stacks
96
Followers
546
Followers
336
Votes
9
Votes
9
Pros & Cons
Pros
  • 9
    GRPC-Web
Pros
  • 3
    Manage inter-service state
  • 2
    MTLS "for free"
  • 2
    Zipkin app tracing "for free"
  • 2
    App dashboard for rapid log overview
Cons
  • 1
    Additional overhead
Integrations
No integrations available
.NET Core
.NET Core
Java
Java
Python
Python
Microsoft Azure
Microsoft Azure
Kubernetes
Kubernetes
JavaScript
JavaScript
Google Cloud Platform
Google Cloud Platform
Golang
Golang

What are some alternatives to Envoy, Dapr?

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.

AWS Elastic Load Balancing (ELB)

AWS Elastic Load Balancing (ELB)

With Elastic Load Balancing, you can add and remove EC2 instances as your needs change without disrupting the overall flow of information. If one EC2 instance fails, Elastic Load Balancing automatically reroutes the traffic to the remaining running EC2 instances. If the failed EC2 instance is restored, Elastic Load Balancing restores the traffic to that instance. Elastic Load Balancing offers clients a single point of contact, and it can also serve as the first line of defense against attacks on your network. You can offload the work of encryption and decryption to Elastic Load Balancing, so your servers can focus on their main task.

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.

Azure Service Fabric

Azure Service Fabric

Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric addresses the significant challenges in developing and managing cloud apps.

Fly

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.

Moleculer

Moleculer

It is a fault tolerant framework. It has built-in load balancer, circuit breaker, retries, timeout and bulkhead features. It is open source and free of charge project.

Express Gateway

Express Gateway

A cloud-native microservices gateway completely configurable and extensible through JavaScript/Node.js built for ALL platforms and languages. Enterprise features are FREE thanks to the power of 3K+ ExpressJS battle hardened modules.

ArangoDB Foxx

ArangoDB Foxx

It is a JavaScript framework for writing data-centric HTTP microservices that run directly inside of ArangoDB.

Zuul

Zuul

It is the front door for all requests from devices and websites to the backend of the Netflix streaming application. As an edge service application, It is built to enable dynamic routing, monitoring, resiliency, and security. Routing is an integral part of a microservice architecture.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana