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.
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.
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.
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
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
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
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
Dapr’s service invocation API includes automatic retries and back-off time periods for handling endpoint unavailability, refused connections, and authentication errors.Learn more
Dapr’s pub/sub API provides at-least-once message delivery guarantee leveraging the capabilities of the underlying message broker you choose.Learn more
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.
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.