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

Building Event-Driven Apps with Dapr in Kubernetes

Building Event-Driven Apps with Dapr in Kubernetes

Dapr (Distributed Application Runtime) is a portable, event-driven runtime that makes it easy for developers to build resilient, microservice stateless and stateful applications that run on the cloud. In this session, we will go through an overview of Dapr, how it enables distributed application development. Dapr brings proven patterns and practices to you. It unifies event-driven, and actors semantics into a simple, consistent programming model and Dapr supports all programming languages without framework lock-in. This talk goes more in-depth into these building blocks of distributed microservices such as state stores, messaging, resource bindings, etc. with demos and workflow of the deployment of services and runtime.

Sivamuthu Kumar

August 05, 2020
Tweet

More Decks by Sivamuthu Kumar

Other Decks in Technology

Transcript

  1. Distributed Application Runtime Portable event-driven runtime Building event driven, stateless

    and stateful applications Building blocks for cloud and edge Standard APIs for portability and extensibility Sidecar architecture and supported infrastructures Developer language SDKs and frameworks
  2. App “myApp” { "name": "Tatooine" } Get http://localhost:3500/v1.0/state/<store-name>/planet Post http://localhost:3500/v1.0/state/<store-name>

    [{ "key": "weapon", "value": "DeathStar" }, { "key": "planet", "value": { "name": "Tatooine" } }] key value myApp- weapon "DeathStar" myApp-planet { "name": "Tatooine" } State management: key/value Microservice building blocks State store of your choice CosmosDB AWS DynamoDB …others
  3. Subscribe Publish Post http://localhost:3500/v1.0/publish/ "topic":"order", "data":{ "user":"johndoe", "item":"ZeroDay" }, “cart”

    Publish and subscribe Microservice building blocks “shipping” Post http://10.0.0.5:8005/order "data":{ "user":"johndoe", "item":"ZeroDay" } “email” Post http://10.0.0.4:8004/order
  4. App Get / Post http://localhost:8000/trigger { "user":"johndoe" } Redis SQS

    Event Hubs Kafka Redis Kafka SQS Event Hubs Resource triggers: Input Microservice building blocks
  5. { "data": { "sku":"v100", "quantity":"50" } } Post http://localhost:3500/v1.0/bindings/myDatabase Resource

    bindings: Output Microservice building blocks App “myApp” DynamoDB Redis Event Hubs CosmosDB Kafka Twilio Redis DynamoDB Kafka Twilio Event Hubs CosmosDB
  6. App Insights Datadog Instana Jaeger SignalFX Prometheus + many more

    App Insights Azure Monitor + many more Datadog Instana Jaeger SignalFX Prometheus Distributed tracing and diagnostics Microservice building blocks App “frontend” App “backend” OpenCensus
  7. Reference • https://dapr.io • https://github.com/dapr • Twitter - @daprdev •

    https://dev.to/abhirockzz/dapr-qna-34m5 • Aaron Schlesinger & Jennifer Davis – CloudNative Wednesdays https://www.twitch.tv/arschles • https://github.com/ksivamuthu/cloud-dapr-demo