Dapr logo

Dapr

An open-source project to make it easier to build microservices
93
330
+ 1
9

What is Dapr?

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.
Dapr is a tool in the Microservices Tools category of a tech stack.
Dapr is an open source tool with 23.2K GitHub stars and 1.8K GitHub forks. Here’s a link to Dapr's open source repository on GitHub

Who uses Dapr?

Companies
3 companies reportedly use Dapr in their tech stacks, including Virgo, Hark Micro Services, and Platform.

Developers
90 developers on StackShare have stated that they use Dapr.

Dapr Integrations

JavaScript, Python, Java, Kubernetes, and Microsoft Azure are some of the popular tools that integrate with Dapr. Here's a list of all 8 tools that integrate with Dapr.
Pros of Dapr
3
Manage inter-service state
2
MTLS "for free"
2
App dashboard for rapid log overview
2
Zipkin app tracing "for free"
Decisions about Dapr

Here are some stack decisions, common use cases and reviews by companies and developers who chose Dapr in their tech stack.

Needs advice
on
DaprDapr
and
IstioIstio

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

Dapr's Features

  • 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

Dapr Alternatives & Comparisons

What are some alternatives to Dapr?
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.
Akka
Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
Orleans
Orleans is a framework that provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns. It was created by Microsoft Research and designed for use in the cloud.
Knative
Knative provides a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center
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.
See all alternatives

Dapr's Followers
330 developers follow Dapr to keep up with related blogs and decisions.