Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Build distributed applications with ease using ...

Build distributed applications with ease using Dapr - Dev070 Meetup

Slides for the presentation I gave for the Dev070 meetup in The Hague.

Dapr Discord: http://bit.ly/dapr-discord
Dapr Quickstarts repository: https://github.com/dapr/quickstarts
Dapr workflow repository: https://github.com/diagrid-labs/dapr-workflow-demos

Marc Duiker

May 23, 2023
Tweet

More Decks by Marc Duiker

Other Decks in Programming

Transcript

  1. 3

  2. 6 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
  3. 12 Service invocation State Management Publish & subscribe Bindings (input

    & output) Actors Secret Stores Configuration Observability Workflows Distributed Lock Building block APIs
  4. 16 10th largest CNCF project Submitted to CNCF Nov 2021

    Incubation maturity level www.cncf.io/projects/dapr/ Dapr project
  5. 17

  6. 18 20.5K GitHub stars 2.5K Contributors +1M Docker pulls /

    month 290k Unique doc views / month 5.9k Discord members 18
  7. 21 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 Building Block APIs
  8. 23 Sidecar App CosmosDB metadata: name: mystorage spec: type: state.azure.cosmosdb

    metadata: - name: value: state.save() state.get() yaml
  9. 24 Redis metadata: name: mystorage spec: type: state.redis metadata: -

    name: value: Sidecar App state.save() state.get() yaml
  10. 29

  11. 46 Your Workflow App Contains definition of a sequence of

    activities Schedules and manages activity executions (incl resiliency) Contains workflow state, input and outputs of activities