Dapr
Dinosaur or 

Developer's Dream?
Maarten Mulders (@mthmulders)
#dapr
Complexity....
Complexity....
Complexity....
Complexity....
Complexity....
Essential
Essential
Essential
Essential
Essential
Accidental
Accidental
Accidental
Accidental
Accidental
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
...if only there were a

standardised API for that!
Maarten Mulders (@mthmulders)
#dapr
Here Be Dinosaurs?!
(Source: , December 2003,
retrieved September 2021)
“J2EE has emerged, since it was first
released in 1999, as an integrated
standard for implementing and
deploying portable, multi-tiered
enterprise applications
The All New J2EE 1.4 Platform
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Can't this be a little simpler...?
Maarten Mulders (@mthmulders)
#dapr
Dapr: Distributed
Application Runtime
“An event-driven, portable runtime for
building microservices on cloud and
edge.
Maarten Mulders (@mthmulders)
#dapr
Ingredients
(or: Buzzword Bingo)
Open Source
Polyglot
Modular
Pluggable
Cloud-Native
warning: may contain traces of nuts, gluten and other allergens.
Maarten Mulders (@mthmulders)
#dapr
Building Block
Describe cross-cutting concerns for building distributed
systems, e.g.
“my application needs to store data as
key/value pairs
Maarten Mulders (@mthmulders)
#dapr
Building Block API
POST /v1.0/state/vehicles HTTP/1.1

Host: localhost:3500

Content-Type: application/json



[

{

"key": "YH-52-VD",

"value": "{"licenseNumber":"YH-52-VD",

"entryTimestamp":"2021-09-15T11:19:18.1781609"

}"

}

]







HTTP/1.1 204 No Content

Maarten Mulders (@mthmulders)
#dapr
Building Block API
GET /v1.0/state/vehicles/YH-52-VD HTTP/1.1

Host: localhost:3500

Accept: application/json







HTTP/1.1 200 OK

Content-Type: application/json



"{

"licenseNumber":"YH-52-VD",

"entryTimestamp":"2021-09-15T11:19:18.1781609"

}"

Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Service Mesh on Steroids
Service Mesh on Steroids
Service Mesh on Steroids
Service Mesh on Steroids
Service Mesh on Steroids
Maarten Mulders (@mthmulders)
#dapr
Demo: key/value
store
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
🤞🏻
🤞🏻
🤞🏻
🤞🏻
🤞🏻
1. Start the Dapr sidecar
2. Start the demo app
3. Store / retrieve data
Maarten Mulders (@mthmulders)
#dapr
Components
Components
Components
Components
Components
Maarten Mulders (@mthmulders)
#dapr
1. State Store — key/value storage
2. Service Invocation — invoke remote methods
3. Pub/Sub — async message processing
4. Bindings — interfaces to/from external integrations
5. Secrets — various secret stores
6. Name resolution — name resolution for service invocation
7. Middleware — various filters on incoming Web requests




Over 27 implementations available!
Maarten Mulders (@mthmulders)
#dapr
Service Invocation
Service Invocation
Service Invocation
Service Invocation
Service Invocation






















Maarten Mulders (@mthmulders)
#dapr
Pub/Sub
Pub/Sub
Pub/Sub
Pub/Sub
Pub/Sub






















Maarten Mulders (@mthmulders)
#dapr
Bindings
Bindings
Bindings
Bindings
Bindings






















Maarten Mulders (@mthmulders)
#dapr
Secrets
Secrets
Secrets
Secrets
Secrets






















Maarten Mulders (@mthmulders)
#dapr
Demo: service
invocation & output
bindings
Maarten Mulders (@mthmulders)
#dapr
Maarten Mulders (@mthmulders)
#dapr
🤞🏻
🤞🏻
🤞🏻
🤞🏻
🤞🏻
1. Start the Dapr sidecar
2. Start the demo apps
3. Simulate traffic 🚗
4. Receive speeding ticket 😱
Maarten Mulders (@mthmulders)
#dapr
Observability
Observability
Observability
Observability
Observability
Tracing
Tracing
Tracing
Tracing
Tracing
Metrics
Metrics
Metrics
Metrics
Metrics
Maarten Mulders (@mthmulders)
#dapr
Tracing
Inject custom headers (e.g. X-B3-TraceId and X-B3-SpanId) to
measure execution throughout a chain.
Zipkin collects those traces and provides visualisations.
Maarten Mulders (@mthmulders)
#dapr
Tracing
Maarten Mulders (@mthmulders)
#dapr
Metrics
Application records metrics (numeric measurements)
Prometheus collects (scrapes) measurements → time series
Grafana hosts dashboards to visualise the time series
Maarten Mulders (@mthmulders)
#dapr
Metrics
Dapr exposes metrics about its own processes, such as:
resource usage
mTLS (certificate issuing)
sidecar operations
Maarten Mulders (@mthmulders)
#dapr
Metrics
Maarten Mulders (@mthmulders)
#dapr
Tracing with Dapr sidecar
POST /v1.0/invoke/vehicleregistrationservice/method/vehicleinfo/YH-52-VD

Host: localhost:3500

Content-Type: application/json

X-DaprRequestId: b237d1da-beaa-42ef-b8c6-fcf38a900a21



... (omitted for brevity)

Maarten Mulders (@mthmulders)
#dapr
The Dapr SDK for Java
Using io.dapr:dapr-sdk and optionally io.dapr:dapr-sdk-
springboot
daprClient.invokeMethod(

"vehicleregistrationservice",

"vehicleinfo/" + licenseNumber,

null, // no request body

HttpExtension.GET,

VehicleInfo.class

);

Maarten Mulders (@mthmulders)
#dapr
Dinosaur or
Developer's Dream?
Maarten Mulders (@mthmulders)
#dapr
Dinosaur?
BUSTED
Developer's Dream?
BUSTED
Maarten Mulders (@mthmulders)
#dapr
Dapr — Take Aways
1. Building blocks for distributed application integration
patterns
2. The sidecar brings you to places you've never been before
3. Not a one-stop shop or Swiss army knife








DIY Workshop: https://bit.ly/dapr-workshop-
java
Maarten Mulders (@mthmulders)
#dapr
Image attributions
electronic circuit board -
infrastructure -
SPECS-speed camera in Utrecht, The Netherlands -
lego -
airplane cockpit -
https://pxhere.com/en/photo/941067
https://pxhere.com/en/photo/1534169
https://commons.wikimedia.org/wiki/File:Trajectcontrole.jpg
https://pxhere.com/en/photo/1121211
https://pxhere.com/en/photo/609377
Maarten Mulders (@mthmulders)
#dapr

More Related Content

PDF
Dapr: Dinosaur or Developer's Dream? (v1)
PPTX
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
PPTX
Dapr: the glue to your microservices
PPTX
Dapr- Distributed Application Runtime
PPTX
Distributed Application Runtime (Dapr) - Azure Israel 2020
PPTX
Dapr: distributed application runtime
PDF
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
PPTX
Core Service with Dapr Presentation.pptx
Dapr: Dinosaur or Developer's Dream? (v1)
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
Dapr: the glue to your microservices
Dapr- Distributed Application Runtime
Distributed Application Runtime (Dapr) - Azure Israel 2020
Dapr: distributed application runtime
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Core Service with Dapr Presentation.pptx

Similar to Dapr: Dinosaur or Developer Dream? (J-Fall) (20)

PDF
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
PPTX
DAPR - Distributed Application Runtime Presentation
PDF
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
PPTX
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
PDF
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
PDF
2021 JCConf 使用Dapr簡化Java微服務應用開發
PPTX
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
PDF
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
PDF
Dapr - A 10x Developer Framework for Any Language
PPTX
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
PPTX
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
PDF
SOA Latam 2015
PDF
Melbourne Virtual MuleSoft Meetup June 2021
PPTX
Dapr logicapps
KEY
Open World Forum 2012 : eXo & the Cloud
PDF
Aplicaciones distribuidas con Dapr
PPTX
Juanjo Hierro_FIWARE Marketplace and Data Publication features.pptx
PDF
Cloud Native API Design and Management
PPTX
Pune_MuleSoft_Meetup_Async_API_Dwl_Library.pptx
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DAPR - Distributed Application Runtime Presentation
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
2021 JCConf 使用Dapr簡化Java微服務應用開發
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
Cloud Native Day: Cloud-native Anwendungsentwicklung im Jahr 2021
Dapr - A 10x Developer Framework for Any Language
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
SOA Latam 2015
Melbourne Virtual MuleSoft Meetup June 2021
Dapr logicapps
Open World Forum 2012 : eXo & the Cloud
Aplicaciones distribuidas con Dapr
Juanjo Hierro_FIWARE Marketplace and Data Publication features.pptx
Cloud Native API Design and Management
Pune_MuleSoft_Meetup_Async_API_Dwl_Library.pptx
Ad

More from Maarten Mulders (20)

PDF
What's cooking in Maven? (Devoxx FR)
PDF
Making Maven Marvellous (Devnexus)
PDF
Making Maven Marvellous (Java.il)
PDF
Making Maven Marvellous (JavaZone)
PDF
SSL/TLS for Mortals (Devoxx UK)
PDF
React in 40 minutes (Voxxed Days Romania)
PDF
React in 40 minutes (JCON)
PDF
React in 50 minutes (Bucharest Software Craftsmanship Community)
PDF
React in 50 Minutes (JNation)
PDF
SSL/TLS for Mortals (JavaLand)
PDF
Making Maven Marvellous (J-Fall)
PDF
Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)
PDF
SSL/TLS for Mortals (Oracle Groundbreaker EMEA Virtual Tour)
PDF
SSL/TLS for Mortals (UtrechtJUG)
PDF
Building a DSL with GraalVM (javaBin online)
PDF
SSL/TLS for Mortals (Lockdown Lecture)
PDF
React in 50 Minutes (OpenValue)
PDF
React in 50 Minutes (DevNexus)
PDF
React in 45 Minutes (Jfokus)
PDF
Building web applications with React (Jfokus)
What's cooking in Maven? (Devoxx FR)
Making Maven Marvellous (Devnexus)
Making Maven Marvellous (Java.il)
Making Maven Marvellous (JavaZone)
SSL/TLS for Mortals (Devoxx UK)
React in 40 minutes (Voxxed Days Romania)
React in 40 minutes (JCON)
React in 50 minutes (Bucharest Software Craftsmanship Community)
React in 50 Minutes (JNation)
SSL/TLS for Mortals (JavaLand)
Making Maven Marvellous (J-Fall)
Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)
SSL/TLS for Mortals (Oracle Groundbreaker EMEA Virtual Tour)
SSL/TLS for Mortals (UtrechtJUG)
Building a DSL with GraalVM (javaBin online)
SSL/TLS for Mortals (Lockdown Lecture)
React in 50 Minutes (OpenValue)
React in 50 Minutes (DevNexus)
React in 45 Minutes (Jfokus)
Building web applications with React (Jfokus)
Ad

Recently uploaded (20)

PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
Computer Software - Technology and Livelihood Education
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Website Design Services for Small Businesses.pdf
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
Cost to Outsource Software Development in 2025
PPTX
Patient Appointment Booking in Odoo with online payment
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Designing Intelligence for the Shop Floor.pdf
Topaz Photo AI Crack New Download (Latest 2025)
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Advanced SystemCare Ultimate Crack + Portable (2025)
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
MCP Security Tutorial - Beginner to Advanced
Computer Software - Technology and Livelihood Education
Autodesk AutoCAD Crack Free Download 2025
Website Design Services for Small Businesses.pdf
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Why Generative AI is the Future of Content, Code & Creativity?
How to Use SharePoint as an ISO-Compliant Document Management System
How Tridens DevSecOps Ensures Compliance, Security, and Agility
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Cost to Outsource Software Development in 2025
Patient Appointment Booking in Odoo with online payment

Dapr: Dinosaur or Developer Dream? (J-Fall)