Marc Duiker Azure MVP
2
Sr Dev Advocate
[email protected]
Dapr Community
Manager
❤️ pixel art
Slide 3
Slide 3 text
3
Building
block demos
Deploy
to AKS
What is
Dapr?
Slide 4
Slide 4 text
What is Dapr?
4
Slide 5
Slide 5 text
5
E-commerce system
State
Management
Email Payment
Front-end
Shipping
Checkout
Inventory
Cart
Internet
Queue
I just want to
trace my calls
end-to-end.
How do I encrypt
calls with ongoing
cert rotation?
How do applications
discover and call
each other?
How do I handle
failed calls and
perform retries?
How do I secure
access to my
data layer?
How do I handle
state conflicts
from multiple
apps?
How do I
measure latency
on my database?
How do I
orchestrate
business logic
transactions?
How do I send
messages to many
applications?
Developer
challenges
Slide 6
Slide 6 text
6
Distributed
application
runtime
Slide 7
Slide 7 text
7
Dapr is a portable, event-
driven, runtime for building
distributed applications across
cloud and edge.
Slide 8
Slide 8 text
8
virtual or
physical machines
Slide 9
Slide 9 text
9
Speeds up microservice
development by providing
a common set of building
block APIs.
Slide 10
Slide 10 text
10
Service
invocation
State
Management
Publish &
subscribe
Bindings
(input & output)
Actors Secret
Stores
Configuration
Observability
Workflows
Distributed Lock
Slide 11
Slide 11 text
11
HTTP/gRPC
Dapr API
Dapr sidecar
Application
App
Slide 12
Slide 12 text
12
POST http://localhost:3500/v1.0/invoke/cart/method/order
GET http://localhost:3500/v1.0/state/inventory/item67
POST http://localhost:3500/v1.0/publish/order
GET http://localhost:3500/v1.0/secrets/vault/password42
GET http://localhost:3500/v1.0-alpha1/workflows/dapr/businessprocess/1234/start
HTTP/gRPC
Dapr API
App
Slide 13
Slide 13 text
13
C#
Python
Java
Script
Java
Go
SDKs
Slide 14
Slide 14 text
14
10th largest
CNCF project
Submitted
to CNCF
Nov 2021
Incubation
maturity
level
www.cncf.io/projects/dapr/
24
Developer centric Infrastructure centric
Service
mesh
docs.dapr.io/concepts/service-mesh/
≠
Building block APIs & components Network traffic & Routing
Slide 25
Slide 25 text
Building block demos
25
github.com/dapr/quickstarts
Slide 26
Slide 26 text
26
Service
invocation
Checkout
Order
processor
POST
Slide 27
Slide 27 text
27
Publish &
subscribe
Checkout
Order
processor
Slide 28
Slide 28 text
28
State
Management
Redis
Order
processor
Slide 29
Slide 29 text
29
Deploy to AKS
Slide 30
Slide 30 text
30
Redis
Pods
POST /neworder
Python
Pod
read / write
Node
Pod
Operator/Injector/Sentry
Pods
Deploy and
manage Dapr
Dapr on AKS
az aks create
--resource-group dapr-aks-rg
--name dapr-aks
--node-count 2
--enable-addons http_application_routing
--generate-ssh-keys
Slide 31
Slide 31 text
31
bit.ly/dapr-on-aks
Slide 32
Slide 32 text
32
Slide 33
Slide 33 text
33
Slide 34
Slide 34 text
34
Slide 35
Slide 35 text
35
Slide 36
Slide 36 text
41
Building
block demos
Deploy
to AKS
What is
Dapr?
Slide 37
Slide 37 text
Join the Dapr Discord!
bit.ly/dapr-discord
📖 docs.dapr.io 📖