Dapr
Dapr (Distributed Application Runtime) is a portable runtime that simplifies building distributed microservices. It provides building-block APIs for service invocation, state management, pub/sub messaging, and secrets, letting applications use these capabilities through HTTP or gRPC without vendor-specific SDKs.
itCloud native tools and technologies | OpenSkills.info
Intro
Dapr
Dapr is a distributed application runtime. It gives your application local HTTP and gRPC APIs for common distributed-system capabilities.
You keep business logic in your service. Dapr handles selected infrastructure interactions through APIs called building blocks. A building block can invoke another service, publish an event, save state, retrieve a secret, run a workflow, or perform another defined capability.
Dapr is not an application framework, message broker, database, or service mesh. It sits between your application and those systems. You choose which building blocks to use and which backing systems to connect.
The mental model: a local adapter
Each Dapr-enabled application runs beside a Dapr runtime process named daprd. This process is usually called a sidecar.
your application
|
| local HTTP or gRPC
v
Dapr sidecar
|
| building-block API
v
component or another Dapr-enabled application
Your code calls a stable Dapr API. The sidecar translates that call into an interaction with a configured component or another application.
This boundary separates application logic from infrastructure-specific client code. It also adds another runtime process, configuration surface, network hop, and operational dependency. Dapr is useful when the abstraction earns that cost.
Separate building blocks from components
This distinction is the key to reading Dapr documentation.
- A building block is an HTTP or gRPC API exposed by Dapr.
- A component is an implementation that supplies a capability behind one or more building blocks.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.dapr.io/concepts/overview/
Supports
- Dapr purpose and distributed application runtime definition
- Independent building blocks and platform-neutral positioning
- Sidecar architecture and local HTTP or gRPC APIs
- Self-hosted and Kubernetes hosting models
- Application and operational boundaries
- https://docs.dapr.io/concepts/building-blocks-concept/
Supports
- Building block definition as an HTTP or gRPC API
- Current building-block catalog and purposes
- Relationship between building blocks and components
- Quiz answers about building blocks
- https://docs.dapr.io/concepts/components-concept/
Supports
- Component interfaces and interchangeability model
- Component-specific metadata and feature differences
- Built-in and pluggable components
- State, pub/sub, binding, secret, middleware, and conversation component types
- Component replacement cautions and quiz answers
- https://docs.dapr.io/concepts/dapr-services/sidecar/
Supports
- daprd process role and sidecar API surface
- Local HTTP and gRPC application calls
- Sidecar readiness behavior
- Self-hosted launch and Kubernetes injection
- Sidecar configuration and quiz answers
- https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-overview/
Supports
- Operator, injector, placement, Sentry, and scheduler responsibilities
- Kubernetes application annotations and sidecar injection
- Scheduler support for Jobs, Workflow, and actor reminders
- Kubernetes control-plane quiz answers
- https://docs.dapr.io/operations/hosting/self-hosted/self-hosted-overview/
Supports
- Sidecar per application in self-hosted mode
- Dapr CLI launch model
- Default mDNS name resolution
- Local resource and component configuration
- https://docs.dapr.io/concepts/resiliency-concept/
Supports
- Resiliency purpose and scope
- Timeout, retry with backoff, and circuit-breaker policies
- Application, actor, and component targets
- Quiz answers about resiliency
- https://docs.dapr.io/operations/resiliency/policies/
Supports
- Named timeout, retry, and circuit-breaker policies
- Policy and target resource structure
- Ordered-link rationale for production reliability study
- https://docs.dapr.io/operations/resiliency/policies/timeouts/
Supports
- Timeout purpose and termination behavior
- Need for realistic production timeout durations
- Quiz scenario involving a timed-out state-changing call
- https://docs.dapr.io/concepts/security-concept/
Supports
- Application ID as identity and routing unit
- Mutual TLS and Sentry certificate authority
- Application-to-sidecar API token authentication
- API, service, pub/sub, component, and secret scopes
- Namespaces, least privilege, and backing-system security
- Security quiz answers
- https://docs.dapr.io/concepts/observability-concept/
Supports
- Distributed tracing and W3C trace context
- OpenTelemetry and Zipkin trace protocols
- Sidecar and control-plane logs, metrics, and health
- Application health probing behavior
- Observability and adoption quiz grounding
- https://docs.dapr.io/getting-started/quickstarts/
Supports
- Maintained hands-on examples by building block
- Ordered learning path from concepts to application
- Link rationale for practical study
- https://docs.dapr.io/developing-applications/sdks/
Supports
- Client, server, actor, and workflow SDK roles
- Current language support matrix
- Link rationale for implementation study
- https://docs.dapr.io/concepts/faq/service-mesh/
Supports
- Dapr as developer-centric application building blocks
- Service meshes as infrastructure-centric networking tools
- Overlap, coexistence, and non-equivalence
- Service-mesh quiz answer
