SlideShare a Scribd company logo
1 of 42
Download to read offline
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

More from Maarten Mulders

More from Maarten Mulders (20)

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

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

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