SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Mehr von Maarten Mulders

Mehr von 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)
 

Kürzlich hochgeladen

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
 

Kürzlich hochgeladen (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
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...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
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
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

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