SlideShare a Scribd company logo
Moaid Hathot
Software Architect
Moaid.hathot@outlook.com
@MoaidHathot
https://moaid.codes
https://meetup.com/Code-Digest
Dapr: Distributed Application Runtime
Microservices
More and more applications are being developed
as distributed applications
2
Microservices
 Modularity
 Loose service coupling
 Service-independent deployments
 Better scalability
 Better reliability
 Multiple stacks
3
Microservices – price tag
 Concurrency issues
 Failure handling
 Retry policies
 State management
 Distributed tracing
 Deployment
4
Microservices – price tag
Less time to develop business logic
5
Microservices – price tag
6
About Moaid Hathot
7
Moaid Hathot
 Software Architect & Code Jedi @ CodeValue
 Software Craftsmanship advocate
 Clean Coder
 Co-Founder of Code.Digest();
 OzCode Evangelist
Microservices – solutions
 Serverless architecture
 Azure Functions & AWS Lambada
 Stateless, event-driven microservices
 Virtual Actor model
 Object-oriented microservices
 E.g Microsoft Orleans
 The cloud takes care of
 Activating, retries, scaling, failure handling
8
Microservices – solution issues
 Coupled to Stack
 Coupled to cloud providers
 A single application depends on multiple SDKs
 FaaS and Actor integration can be complicated
 FaaS runtimes can be heavy
9
Dapr
Distributed Application Runtime
10
Dapr
 Portable, Event-driven runtime for building microservices
 Open Source
 https://github.com/dapr/dapr
 7.4K Github stars
 145 contributors
 28+ new components since launch
 Alpha phase
11
Dapr
 Supports any platform
 Services knows only HTTP/gRPC
 Can decide to use dedicated SDKs
 Services are not aware of the actual technologies
 Services are not aware of other services
 Everything is configurable via yaml file
 E.g you can switch from Cosmos DB to DynamoDB
12
Dapr
 Sidecar architecture
 Dapr is isolated via Process or Container from your app
 Two hosting modes
 Self hosting
 Kubernetes
13
Dapr – self hosting
14
Dapr – self hosting
15
Dapr – self hosting
16
HTTP/gRPC
Dapr – Kubernetes
17
HTTP/gRPC
Dapr – Kubernetes
18
HTTP/gRPC
Container
Container
Dapr – Kubernetes
19
HTTP/gRPC
Container
Container
Pod
Dapr
20
Image Source
Dapr – building blocks
21
Image Source
Dapr – building blocks
22
Image Source
Dapr – building blocks
23
Image Source
Dapr – building blocks
24
Image Source
Dapr – building blocks
25
Image Source
Dapr – building blocks
26
Image Source
Dapr – building blocks
27
Image Source
Dapr – building blocks
28
Image Source
Dapr – Service Invocation
 Every service has an id (name)
 Calling services has to know that id
 HTTP or gRPC
 Takes care of
 Discoverability
 Reliability
 Retries
 Failure handling
30
Dapr – Service Invocation
31
Image Source
Dapr – Service Invocation
32
Image Source
Dapr – Service Invocation
33
Image Source
Dapr – Service Invocation
34
Image Source
Dapr – Service Invocation
35
Image Source
Dapr – Service Invocation
36
Image Source
Dapr – Service Invocation
37
Image Source
Dapr – Service Invocation
38
Image Source
Demo
 Run Dapr
 Service Invocation
40
Dapr – State Management
 The actual store is not known to services
 Support for many platforms, including:
 Redis
 AWS DynamoDB
 Azure Cosmos DB
 MongoDB
 Cassandra
 SQL Server
 More…
 Easy to implement new state store
41
Dapr – State Management
42
Image Source
Dapr – State Management
43
Image Source
Dapr – State Management
44
Image Source
Dapr – State Management
45
Image Source
Dapr – State Management
46
Image Source
Dapr – State Management
47
Image Source
Dapr - Secrets
 Provides an API for retrieving secrets
 Supports
 Azure KeyVault
 AWS Secret Manager
 GCP Cloud KMS
 GCP Secret Manager
 Kubernetes
 Hashicorp Vault
 More…
 Easy to implement new secret stores
48
Dapr – Secrets
49
Image Source
Demo
 State Management
 Redis
 CosmosDB
 Secret Store
 Azure KeyVault
50
Dapr – Pub/Sub
 Publish/subscribe pattern
 Used for decoupling services
 Producer send messages to a topic
 Consumers receives messages from a topic
 Dapr APIs provides at-least-once guarantees
 Supports multiple brokers
 Kafka
 RabbitMQ
 Redis Streams
 Azure Event Hubs
 More…
51
Dapr – Pub/Sub
52
Image Source
Dapr – Pub/Sub
53
Image Source
Dapr – Pub/Sub
54
Image Source
Dapr – Pub/Sub
55
Image Source
Dapr – Pub/Sub
56
Image Source
Demo
 Pub/Sub
57
Dapr – Resource Bindings
 Input/Output with cloud resources
 Similar in concepts to Azure Function’s Binding
 Trigger your service or invoke external systems
 Takes care of connections, polling, queuing, etc…
 Benefits
 Focus on Business logic
 Your code is free from SDKs and libraries
 Auto handling for retries & failure recovery
 Switch bindings at run time
 Deploy to different environments without code changes
58
Dapr – Resource Bindings
 Inputs (partial list)
 Kafka
 RabbitMQ
 AWS Kinesis
 AWS SQS
 GCP Cloud Pub/Sub
 Azure EventHubs
 Azure SignalR Service
 Azure Service Bus Queues
 More…
59
Dapr – Resource Bindings
 Outputs (partial list)
 Kafka
 RabbitMQ
 AWS Kinesis
 AWS DynamoDB
 GCP Cloud Pub/Sub
 GCP Storage Bucket
 Azure EventHubs
 Azure SignalR Service
 More…
60
Dapr – Resource Bindings
61
Dapr – Resource Bindings
62
Dapr – Resource Bindings
63
Cosmos DB
DynamoDB
Event Hubs
Demo
 Bindings
 SignalR Binding
64
Dapr – Observability
 Monitor the Dapr system services
 Including interaction and behaviors
 Integrates with OpenTelemetry
 Supports
 Azure Monitor
 Azure ApplicationInsights
 Elastic Search
 Zipkin
 More…
65
Dapr – Observability
 Metrics
 Latency, traffic failures, error rate, CPU usage, etc…
 Logs
 Traces, errors, etc…
 Each trace contains hostname, component name and id, more…
 Distributed Tracing
 Debugging and monitoring distributed flows
 W3C tracing
 Health
 Determine health via HTTP endpoint
66
Dapr - Dashboard
 Web-based UI for Dapr
 View information, logs, etc…
 Support both locally and Kubernetes sidecars
 Can stop running sidecars (Self hosted)
 View sidecars logs
67
Dapr - Dashboard
68
Image Source
More Info
Demo
 Observability
69
Dapr – Virtual Actors
 The Actor Model
 Self-contained unit of code (actor)
 Actors interacts using via messages
 The runtime manages how, when and where each actor runs
 Dapr implements the Virtual Actors Model
 Takes care of
 Lifetime
 Retries
 Failover
 Concurrency
70
summary
 Microservices has many benefits
 But also challenges
 Dapr
 Runtime for building microservices
 Any platform, any stack, any environment
 Takes care of a lot of the challenges
 Open Source
 Community
 Demo repo:
 https://github.com/MoaidHathot/Azure-Israel-Dapr-2020
71
Q
A
72
Moaid Hathot
Software Architect
moaid.hathot@outlook.com
@MoaidHathot
https://moaid.codes
https://meetup.com/Code-Digest

More Related Content

What's hot (11)

PPTX
Intellias CQRS Framework
Sergey Seletsky
 
PPTX
Show me the problem- Our insights journey at Netflix
Suudhan Rangarajan
 
PDF
Cloud computing
Nagesh Ramamoorthy
 
PPTX
RightScale Webinar: How RightScale Architects Its Databases (for Worldwide Sc...
RightScale
 
PDF
Introduction to Virtual Kubelet
Mitchell Pronschinske
 
PPTX
Introduction to AWS Kinesis
Steven Ensslen
 
PPTX
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
HostedbyConfluent
 
PPTX
Payara Micro from Raspberry Pi to Cloud
Payara
 
PDF
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
Miho Yamamoto
 
PPTX
NextGen IBM Cloud Monitoring and Logging
Nagesh Ramamoorthy
 
PPTX
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
Intellias CQRS Framework
Sergey Seletsky
 
Show me the problem- Our insights journey at Netflix
Suudhan Rangarajan
 
Cloud computing
Nagesh Ramamoorthy
 
RightScale Webinar: How RightScale Architects Its Databases (for Worldwide Sc...
RightScale
 
Introduction to Virtual Kubelet
Mitchell Pronschinske
 
Introduction to AWS Kinesis
Steven Ensslen
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
HostedbyConfluent
 
Payara Micro from Raspberry Pi to Cloud
Payara
 
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
Miho Yamamoto
 
NextGen IBM Cloud Monitoring and Logging
Nagesh Ramamoorthy
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 

Similar to Distributed Application Runtime (Dapr) - Azure Israel 2020 (20)

PPTX
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
CodeValue
 
PPTX
Dapr- Distributed Application Runtime
Moaid Hathot
 
PPTX
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
PDF
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller
 
PDF
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
Marc Müller
 
PPTX
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
ssuserfb6acb
 
PPTX
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
Amresh Krishnamurthy
 
PDF
Dapr - A 10x Developer Framework for Any Language
Bilgin Ibryam
 
PDF
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
LogeekNightUkraine
 
PDF
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Geert van der Cruijsen
 
PDF
Dapr: Dinosaur or Developer Dream? (J-Fall)
Maarten Mulders
 
PDF
Portable Multi-cloud Applications with Dapr.pdf
Nilesh Gule
 
PDF
Dapr: Dinosaur or Developer's Dream? (v1)
Maarten Mulders
 
PPTX
Core Service with Dapr Presentation.pptx
Knoldus Inc.
 
PPTX
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays
 
PDF
Portable Multi-cloud Microservices with Dapr .pdf
Nilesh Gule
 
PDF
2021 JCConf 使用Dapr簡化Java微服務應用開發
Rich Lee
 
PDF
Dapr for-net-developers
平 刘
 
PPTX
Serverless everywhere
Aymeric Weinbach
 
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
CodeValue
 
Dapr- Distributed Application Runtime
Moaid Hathot
 
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
Marc Müller
 
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
ssuserfb6acb
 
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
Amresh Krishnamurthy
 
Dapr - A 10x Developer Framework for Any Language
Bilgin Ibryam
 
Eugene Bova "Dapr (Distributed Application Runtime) in a Microservices Archit...
LogeekNightUkraine
 
Techdays Helsinki - Creating the distributed apps of the future using dapr - ...
Geert van der Cruijsen
 
Dapr: Dinosaur or Developer Dream? (J-Fall)
Maarten Mulders
 
Portable Multi-cloud Applications with Dapr.pdf
Nilesh Gule
 
Dapr: Dinosaur or Developer's Dream? (v1)
Maarten Mulders
 
Core Service with Dapr Presentation.pptx
Knoldus Inc.
 
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays
 
Portable Multi-cloud Microservices with Dapr .pdf
Nilesh Gule
 
2021 JCConf 使用Dapr簡化Java微服務應用開發
Rich Lee
 
Dapr for-net-developers
平 刘
 
Serverless everywhere
Aymeric Weinbach
 
Ad

More from Moaid Hathot (20)

PPTX
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
PPTX
Azure Bicep for Developers
Moaid Hathot
 
PPTX
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
PPTX
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
Moaid Hathot
 
PPTX
What's coming in C# 11
Moaid Hathot
 
PPTX
Introduction to .NET MAUI
Moaid Hathot
 
PPTX
What's new in C# 11
Moaid Hathot
 
PPTX
Best of build 2021 - C# 10 & .NET 6
Moaid Hathot
 
PPTX
What's new in c# 10
Moaid Hathot
 
PDF
Developer cloud roadmap keynote
Moaid Hathot
 
PPTX
What's new in c# 10
Moaid Hathot
 
PPTX
Intro to Azure Static Web Apps
Moaid Hathot
 
PPTX
About me - Atidna
Moaid Hathot
 
PPTX
About me - Rothschild Partnerships
Moaid Hathot
 
PPTX
What's coming in c# 9.0
Moaid Hathot
 
PPTX
What's Coming in C# 9.0
Moaid Hathot
 
PPTX
A serverless IoT Story From Design to Production and Monitoring
Moaid Hathot
 
PPTX
What's new in c# 8.0
Moaid Hathot
 
PPTX
What's coming to c# (Tel-Aviv, 2018)
Moaid Hathot
 
PPTX
Microsoft graph (Insider Dev Tour)
Moaid Hathot
 
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
Azure Bicep for Developers
Moaid Hathot
 
Demystifying C#'s Interpolated string Handlers
Moaid Hathot
 
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
Moaid Hathot
 
What's coming in C# 11
Moaid Hathot
 
Introduction to .NET MAUI
Moaid Hathot
 
What's new in C# 11
Moaid Hathot
 
Best of build 2021 - C# 10 & .NET 6
Moaid Hathot
 
What's new in c# 10
Moaid Hathot
 
Developer cloud roadmap keynote
Moaid Hathot
 
What's new in c# 10
Moaid Hathot
 
Intro to Azure Static Web Apps
Moaid Hathot
 
About me - Atidna
Moaid Hathot
 
About me - Rothschild Partnerships
Moaid Hathot
 
What's coming in c# 9.0
Moaid Hathot
 
What's Coming in C# 9.0
Moaid Hathot
 
A serverless IoT Story From Design to Production and Monitoring
Moaid Hathot
 
What's new in c# 8.0
Moaid Hathot
 
What's coming to c# (Tel-Aviv, 2018)
Moaid Hathot
 
Microsoft graph (Insider Dev Tour)
Moaid Hathot
 
Ad

Recently uploaded (20)

PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 

Distributed Application Runtime (Dapr) - Azure Israel 2020