dapr/dapr

Dapr is a portable runtime for building distributed applications across cloud and edge, combining event-driven architecture with workflow orchestration.

Dapr – Runtime for Distributed Apps, Workflows, and AI Agents

What it is – Dapr (Distributed Application Runtime) is an open‑source, CNCF‑graduated platform that runs as a side‑car next to your services. It gives you a set of building‑block APIs (state stores, pub/sub, service invocation, actors, workflows, etc.) that work over plain HTTP or gRPC and are reachable from any language via native SDKs.

Why it matters for AI – Modern AI agents are no longer just “call a model and get a response”. Production agents need:

  • Durable, resumable execution (so a crash doesn’t lose progress)
  • Persistent memory between turns
  • Secure, authenticated communication between many micro‑services or other agents
  • Easy integration with LLMs (the Conversation API) and tool‑calling
  • Auditable, verifiable execution histories for compliance‑heavy domains

Dapr supplies all of these as reusable primitives, letting developers focus on the agent logic instead of plumbing.

Key capabilities

Feature What you get
Workflows Durable, versioned, multi‑step processes with timers, retries, child workflows, and human‑in‑the‑loop events. Managed via a CLI and API.
Service Invocation Reliable, mTLS‑protected RPC between services, language‑agnostic.
State Management Pluggable state stores (Redis, Cosmos, etc.) with simple get/set APIs.
Pub/Sub Event‑driven messaging on any broker (Kafka, NATS, RabbitMQ…) with at‑least‑once delivery.
Actors Virtual, stateful actors for fine‑grained concurrency.
Conversation Uniform API to call LLMs, with prompt caching and tool‑calling support.
Bindings Trigger code from external systems (databases, queues, cloud services) and emit events outward.
Secrets & Config Secure secret retrieval and dynamic config subscription.
Distributed Locks & Cryptography Coordination primitives and easy encryption/decryption without handling keys directly.
Jobs One‑off or scheduled tasks.

All of these are exposed over HTTP/gRPC and have SDKs for .NET, Java, Python, Go, JavaScript/TypeScript, Rust, C++ and PHP.

How you use it

  1. Add the Dapr sidecar to each service (Docker container, binary, or local process).
  2. Call any Dapr API from your code via the language SDK or raw HTTP/gRPC.
  3. Define workflows in your preferred language; Dapr persists their state automatically.
  4. For AI agents, use the Conversation API to talk to an LLM, store the conversation in a state store, and orchestrate multi‑step reasoning with a workflow.

Running anywhere – Because the sidecar is just a ~58 MB binary, Dapr works on Kubernetes, any public cloud, edge devices, VMs, or even a laptop. No code changes are needed to move between environments.

Community & maturity – Dapr is a graduated CNCF project with production use at many enterprises. It has a vibrant community (Discord, bi‑weekly calls, extensive docs, quick‑starts, and sample repos) and a full suite of SDKs and component libraries.

Getting started – The README points to the official docs (docs.dapr.io), quick‑start guides, and sample repositories for hands‑on learning.


TL;DR – Dapr is a language‑agnostic runtime that gives you durable workflows, secure service‑to‑service calls, state, pub/sub, and an LLM‑friendly Conversation API, making it a solid foundation for building reliable AI agents and other distributed cloud/edge applications.

Related

  • Project
  • Project
  • Project
  • Project