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

Orchestrate your business logic reliably with D...

Orchestrate your business logic reliably with Dapr Workflows - TEQnation

Slides for my Dapr Workflow talk at the TEQnation conference in Utrecht, NL.

GitHub repo with the demos: https://github.com/diagrid-labs/dapr-workflow-demos

Marc Duiker

May 17, 2023
Tweet

More Decks by Marc Duiker

Other Decks in Programming

Transcript

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

    & output) Actors Secret Stores Configuration Observability Workflows Distributed Lock Building block APIs
  3. 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 POST http:// localhost:3500/v1.0-alpha1/workflows/dapr/businessprocess/1234/start HTTP/gRPC Dapr API App
  4. 19 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
  5. 49 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
  6. End End Activity 3 Activity 3 Activity 2 Activity 2

    Activity 1 Activity 1 51 Start Workflow Start Store start & input
  7. End End Activity 3 Activity 3 Activity 2 Activity 2

    Activity 1 52 Start Start Store input & output Schedule & execute Activity 1
  8. End End Activity 3 Activity 3 Activity 2 Activity 2

    Activity 1 53 Replay Workflow Start Activity 1 has been executed already
  9. End End Activity 3 Activity 3 Activity 2 Activity 1

    54 Start Start Store input & output Schedule & execute Activity 2 Activity 1
  10. End End Activity 3 Activity 3 Activity 2 Activity 1

    55 Replay Workflow Start Activity 1 & 2 have been executed already
  11. End End Activity 3 Activity 2 Activity 1 56 Schedule

    & execute Activity 3 Start Start Store input & output Activity 2 Activity 1
  12. End End Activity 3 Activity 2 Activity 1 57 Replay

    Workflow Start Activity 1,2 & 3 have been executed already
  13. End Activity 3 Activity 2 Activity 1 58 Workflow is

    completed Start Store completion & output