Slide 1

Slide 1 text

Dapr on AKS: building distributed apps with ease

Slide 2

Slide 2 text

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/

Slide 15

Slide 15 text

20.5K GitHub stars 2.5K Contributors +1M Docker pulls / month 290k Unique doc views / month 5.4k Discord members 15

Slide 16

Slide 16 text

16 Contributing organizations

Slide 17

Slide 17 text

17 Bindings Configuration State Management Publish & subscribe Observability Actors Secret Stores Workflows Distributed Lock Components AWS DynamoDB Azure CosmosDB GCP Firebase Redis Cassandra AWS SQS Azure Service Bus GCP Pub/Sub Redis RabbitMQ AWS Secrets mngr Azure KeyVault GCP Secret mngr HashiCorp Vault Kubernetes Secrets AWS DynamoDB Azure CosmosDB Redis MongoDB Postgres AWS S3 Azure Storage GCP Storage Twilio Kafka Jeager Zipkin Prometheus App Insights Datadog Redis Redis Azure App Configuration Dapr Workflow

Slide 18

Slide 18 text

18 bit.ly/dapr-state-stores

Slide 19

Slide 19 text

19 App CosmosDB

Slide 20

Slide 20 text

20 Sidecar App CosmosDB metadata: name: mystorage spec: type: state.azure.cosmosdb metadata: - name: value: SaveStateAsync() GetStateAsync() yaml

Slide 21

Slide 21 text

21 Redis metadata: name: mystorage spec: type: state.redis metadata: - name: value: Sidecar App SaveStateAsync() GetStateAsync() yaml

Slide 22

Slide 22 text

22 Is Dapr a service mesh?

Slide 23

Slide 23 text

23 No.

Slide 24

Slide 24 text

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 📖