Build connected distributed applications faster

The Distributed Application Runtime (Dapr) provides APIs that simplify microservice connectivity. Whether your communication pattern is service to service invocation or pub/sub messaging, Dapr helps you write resilient and secured microservices.

By letting Dapr’s sidecar take care of the complex challenges such as service discovery, message broker integration, encryption, observability, and secret management, you can focus on business logic and keep your code simple.

APIs for solving distributed application challenges

Dapr provides you with APIs that abstract away the complexity of common challenges developers encounter regularly when building distributed applications. These API building blocks can be leveraged as the need arises - use one, several or all to develop your application faster and deliver your solution on time.

Publish & Subscribe

Service Invocation

Secret Management

Input/Output Bindings

State Management

Virtual Actors

Industry established best practices for reliability

Dapr leverages proven practices for distributed application development that enable you to build resilient, secured systems. By adopting Dapr in your application, you adopt these best practices without having to spend time solving common challenges.

Secured Connections

Ensure service-to-service communication is encrypted using mTLS while Dapr takes care of certificate management and defining allow lists for fine-grained access control. Restrict access to secrets and message topics using application scopes.

Learn more

Observability

Rapidly diagnose issues in production by collecting traces, metrics, and logs from every part of your application with Dapr’s built-in instrumentation using OpenTelemetry.

Learn more

Resilient State

Build resilient, long running, stateful services with the ability to define strong or eventual consistency, state TTL and the concurrency pattern you need.

Learn more

Reliable Actors

Dapr virtual actors enable you to build stateful, long running objects that encapsulate code and state and can be massively scaled with demand.

Learn more

Resiliency

Dapr provides a capability for defining and applying fault tolerance resiliency policies via policy specs. Configure Dapr retries, timeouts, and circuit breakers for any/all APIs.

Learn more

Message Guarantee

Dapr’s pub/sub API provides at-least-once message delivery guarantee leveraging the capabilities of the underlying message broker you choose.

Learn more

Build portable applications

Dapr’s component model decouples technology choices from your code making it agnostic to hosting environment and enabling application portability. Dapr runs as a sidecar wherever your application runs whether hosted on Kubernetes, VMs, deployed on the cloud, on-premises or on the edge.

Incremental adoption for existing applications

As you evolve your existing applications, adding capabilities or refactoring parts of it, you can integrate Dapr in an incremental way and leverage a subset of capabilities in places that make sense to your existing system. As Dapr sidecars are gradually leveraged across your system, you can choose to use more features at your own pace.

Watch a Quick Introduction to Dapr

Ready to get started?

Install Dapr on your local machine and get started in minutes.

Get started