We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Dapr in Practice - Marc Klefter - NDC Oslo 2024
Learn how Dapr simplifies cloud-native development with its service invocation, messaging, state management & workflow building blocks. Explore real implementation patterns.
-
Dapr is a Distributed Application Runtime that provides building blocks for cloud-native applications, with most deployments (90%+) running on Kubernetes
-
Key building blocks include:
- Service invocation
- Pub/Sub messaging
- State management
- Workflows
- Bindings for external system integration
-
Applications interface with Dapr through a sidecar architecture, providing location transparency and decoupling from infrastructure details
-
Components are pluggable implementations that enable Dapr building blocks to work with specific technologies (e.g., Redis for state, SNS/SQS for messaging)
-
Dapr is not an all-or-nothing proposition - teams can adopt building blocks incrementally as needed
-
While Dapr provides infrastructure abstraction, teams still need to handle:
- Service naming and discovery
- Component provisioning and configuration
- Access control policies
- Security considerations
-
The workflow feature enables modeling of complex business processes with built-in durability and error handling
-
Dapr can work alongside service meshes, though there is some overlap in capabilities
-
Key benefits include:
- Portability between environments/clouds
- Standardized building blocks across languages
- Separation of business logic from infrastructure code
- Built-in observability and security features
-
Common adoption pattern is to start with a modular monolith using messaging, then gradually extract services leveraging Dapr building blocks