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

Dapr on AKS: building distributed applications with ease

Dapr on AKS: building distributed applications with ease

Presentation I gave at the AKS meetup in Utrecht (NL).

GitHub repo: http://bit.ly/dapr-on-aks

Marc Duiker

March 29, 2023

More Decks by Marc Duiker

Other Decks in Technology


  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. 7 Dapr is a portable, event- driven, runtime for building

    distributed applications across cloud and edge.
  3. 10 Service invocation State Management Publish & subscribe Bindings (input

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

    Incubation maturity level www.cncf.io/projects/dapr/
  5. 20.5K GitHub stars 2.5K Contributors +1M Docker pulls / month

    290k Unique doc views / month 5.4k Discord members 15
  6. 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
  7. 20 Sidecar App CosmosDB metadata: name: mystorage spec: type: state.azure.cosmosdb

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

    name: value: Sidecar App SaveStateAsync() GetStateAsync() yaml
  9. 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
  10. 32

  11. 33

  12. 34

  13. 35