SlideShare a Scribd company logo
Dapr
APIs for building secure and
reliable microservices
Mark Cupito
Watts Water Technologies
👋 Hello!
• Been at Watts 2 years
• Been developing hybrid cloud and fully cloud native
applications for 12 years
• Favorite tech stack: React, .NET, Azure
• Dapr enthusiast
Mark Cupito
Engineering Manager,
Watts Digital
Introduction
• Watts is a global leader in quality water solutions, but is a family of brands
• Each Watts brand owns the manufacturing, distribution, and connectivity of IoT-
enabled hardware across a broad spectrum, from Thermostats to Water Heaters
• On a journey the last 5 years to make our sensors and equipment ‘Smart &
Connected’
• Recently shifted focus to develop a new platform, a foundation that all Watts
equipment can connect to that we can use to supercharge connectivity across
the enterprise
About our solution
We’re building a solution that gives our customers remote visibility and management into their
plumbing system, with a ‘digital twin’ representation of their mechanical room.
Real-time Equipment Dashboard
System Map – a real-time view
of your mechanical room
How Dapr fit perfectly into our use-cases
MassTransit (.NET)
Service B
Service A
CRON
Binding
.NET ecosystem focused solution. What about
polyglot apps?
New Application means a new URL for other
apps have in their config
CRON job? Better spin up an Azure Function
or rely on Quartz/Hangfire & write + deploy
your scheduler
Pub/Sub
Service-to-Service
CRON
Framework-specific SDKs
SDK-fatigue & learning new APIs
State Store
Is there a better way?
 Developers should be focused on building features that
differentiated our application
 We needed to accelerate our time to production
 We needed something that felt familiar
 We wanted to stay away from tool-sprawl
 Wanted optionality for languages & frameworks
 A great DevEx is a must, with emphasis on local development and
traceability
How we stumbled upon Dapr
Kubernetes is great, but our DevOps team was only a team of
2 with 3 other apps to support. Let’s keep exploring..
Azure Container Apps – A quick start landing zone for
serverless distributed apps with built-in KEDA, Orchestration,
and plug-and-play Dapr configuration.
(for now)
Local Development
name: nexa
services:
- name: api-gateway
project:
src/ApiGateway/ApiGateway.csproj
bindings:
- port: 5000
protocol: http
name: http
- port: 5050
protocol: https
name: https
- name: admin-service
project: src/Admin/Admin.csproj
bindings:
- port: 5001
extensions:
- name: dapr
log-level: debug
components-path:
"./components/local"
Tye.yaml (.NET-focused but it’s OK)
Launch 1..N services with a
simple config file
Extremely clear bindings
Limited tools and runtimes to
build distributed applications.
Dapr
dapr init
Telemetry processing
Ingest Telemetry
Publish Telemetry
Received Event
Start
Receive
Telemetry
Evaluate
Telemetry
End
Cache Latest
Telemetry
Send Alert via
Channels
Alert Created
Bindings
Update real-time
system map
Publish Telemetry
Received Event
Telemetry processing
Ingest Telemetry
Publish Telemetry
Received Event
Start
Receive
Telemetry
Evaluate
Telemetry
End
Cache Latest
Telemetry
Send Alert via
Channels
Alert Created
Bindings
Update real-time
system map
Publish Telemetry
Received Event
Telemetry processing with Dapr: Over 75 million events per month and
growing!
Message
broker
Ingestion
Service
Workflow
Service
MQTT Broker
Admin
Service
Alerting
Service
Message
broker
Twilio
Message
broker
State Store
SysMap
Service
Receive
Telemetry
Dapr is the catapult we needed
 Developers are able focus on features because security, tracing, resiliency are
available out of the box with Dapr. That’s 1000s of lines of code that we didn’t
have to write
 Dapr’s component model makes development in distributed environments plug-
and-play
 Dapr’s Docs are great, we saw references to Project Tye and examples in .NET
that made it feel familiar
 Dapr let’s us get up and running with very little overheard or tooling – install dapr
and you’re 50% there
 Dapr is vendor agnostic – by default it provides optionality for languages &
frameworks
 DevEx is a hot topic these days – and Dapr gets it right. Dapr replaced SDK-
sprawl, scattered retry login, hardcoded URLs, and so much more
Thank you!

More Related Content

Similar to Watts Water Dapr Community Call - Building Distributed Systems with Dapr (20)

PDF
Docker and Cloud - Enables for DevOps - by ACA-IT
Stijn Wijndaele
 
PDF
A hitchhiker‘s guide to the cloud native stack
QAware GmbH
 
PDF
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
PDF
Reference architectures shows a microservices deployed to Kubernetes
Rakesh Gujjarlapudi
 
PDF
.NET Cloud-Native Bootcamp
VMware Tanzu
 
PDF
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
PDF
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
PDF
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
confluent
 
PDF
56K.cloud Docker Training
Brian Christner
 
PPTX
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
MayaData Inc
 
PDF
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
azuredayit
 
PDF
Docker Application to Scientific Computing
Peter Bryzgalov
 
PPTX
Improving Your Company’s Health with Middleware Takeout
VMware Tanzu
 
PDF
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
PDF
Micro service in aws meetup
Kiran Divekar
 
PDF
Accelerate Digital Transformation with IBM Cloud Private
Michael Elder
 
PDF
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Claudia Ring
 
PPTX
What's New in Docker - February 2017
Patrick Chanezon
 
PDF
prodops.io k8s presentation
Prodops.io
 
PPTX
Programming the world with Docker
Patrick Chanezon
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Stijn Wijndaele
 
A hitchhiker‘s guide to the cloud native stack
QAware GmbH
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
Reference architectures shows a microservices deployed to Kubernetes
Rakesh Gujjarlapudi
 
.NET Cloud-Native Bootcamp
VMware Tanzu
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
DIMT 2023 SG - Hands-on Workshop_ Getting started with Confluent Cloud.pdf
confluent
 
56K.cloud Docker Training
Brian Christner
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
MayaData Inc
 
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
azuredayit
 
Docker Application to Scientific Computing
Peter Bryzgalov
 
Improving Your Company’s Health with Middleware Takeout
VMware Tanzu
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
Micro service in aws meetup
Kiran Divekar
 
Accelerate Digital Transformation with IBM Cloud Private
Michael Elder
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Claudia Ring
 
What's New in Docker - February 2017
Patrick Chanezon
 
prodops.io k8s presentation
Prodops.io
 
Programming the world with Docker
Patrick Chanezon
 

Recently uploaded (20)

PPTX
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
PDF
aAn_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
PPTX
MODULE 03 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PPTX
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
PDF
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
PDF
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PDF
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
PPTX
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
PDF
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Distribution reservoir and service storage pptx
dhanashree78
 
PPTX
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
PDF
Submit Your Papers-International Journal on Cybernetics & Informatics ( IJCI)
IJCI JOURNAL
 
PDF
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
PDF
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
AN EMPIRICAL STUDY ON THE USAGE OF SOCIAL MEDIA IN GERMAN B2C-ONLINE STORES
ijait
 
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
aAn_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
MODULE 03 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
Final Major project a b c d e f g h i j k l m
bharathpsnab
 
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
mbse_An_Introduction_to_Arcadia_20150115.pdf
henriqueltorres1
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Distribution reservoir and service storage pptx
dhanashree78
 
OCS353 DATA SCIENCE FUNDAMENTALS- Unit 1 Introduction to Data Science
A R SIVANESH M.E., (Ph.D)
 
Submit Your Papers-International Journal on Cybernetics & Informatics ( IJCI)
IJCI JOURNAL
 
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
AN EMPIRICAL STUDY ON THE USAGE OF SOCIAL MEDIA IN GERMAN B2C-ONLINE STORES
ijait
 
Ad

Watts Water Dapr Community Call - Building Distributed Systems with Dapr

  • 1. Dapr APIs for building secure and reliable microservices Mark Cupito Watts Water Technologies
  • 2. 👋 Hello! • Been at Watts 2 years • Been developing hybrid cloud and fully cloud native applications for 12 years • Favorite tech stack: React, .NET, Azure • Dapr enthusiast Mark Cupito Engineering Manager, Watts Digital
  • 3. Introduction • Watts is a global leader in quality water solutions, but is a family of brands • Each Watts brand owns the manufacturing, distribution, and connectivity of IoT- enabled hardware across a broad spectrum, from Thermostats to Water Heaters • On a journey the last 5 years to make our sensors and equipment ‘Smart & Connected’ • Recently shifted focus to develop a new platform, a foundation that all Watts equipment can connect to that we can use to supercharge connectivity across the enterprise
  • 4. About our solution We’re building a solution that gives our customers remote visibility and management into their plumbing system, with a ‘digital twin’ representation of their mechanical room. Real-time Equipment Dashboard System Map – a real-time view of your mechanical room
  • 5. How Dapr fit perfectly into our use-cases MassTransit (.NET) Service B Service A CRON Binding .NET ecosystem focused solution. What about polyglot apps? New Application means a new URL for other apps have in their config CRON job? Better spin up an Azure Function or rely on Quartz/Hangfire & write + deploy your scheduler Pub/Sub Service-to-Service CRON Framework-specific SDKs SDK-fatigue & learning new APIs State Store
  • 6. Is there a better way?  Developers should be focused on building features that differentiated our application  We needed to accelerate our time to production  We needed something that felt familiar  We wanted to stay away from tool-sprawl  Wanted optionality for languages & frameworks  A great DevEx is a must, with emphasis on local development and traceability
  • 7. How we stumbled upon Dapr Kubernetes is great, but our DevOps team was only a team of 2 with 3 other apps to support. Let’s keep exploring.. Azure Container Apps – A quick start landing zone for serverless distributed apps with built-in KEDA, Orchestration, and plug-and-play Dapr configuration. (for now)
  • 8. Local Development name: nexa services: - name: api-gateway project: src/ApiGateway/ApiGateway.csproj bindings: - port: 5000 protocol: http name: http - port: 5050 protocol: https name: https - name: admin-service project: src/Admin/Admin.csproj bindings: - port: 5001 extensions: - name: dapr log-level: debug components-path: "./components/local" Tye.yaml (.NET-focused but it’s OK) Launch 1..N services with a simple config file Extremely clear bindings Limited tools and runtimes to build distributed applications. Dapr dapr init
  • 9. Telemetry processing Ingest Telemetry Publish Telemetry Received Event Start Receive Telemetry Evaluate Telemetry End Cache Latest Telemetry Send Alert via Channels Alert Created Bindings Update real-time system map Publish Telemetry Received Event
  • 10. Telemetry processing Ingest Telemetry Publish Telemetry Received Event Start Receive Telemetry Evaluate Telemetry End Cache Latest Telemetry Send Alert via Channels Alert Created Bindings Update real-time system map Publish Telemetry Received Event
  • 11. Telemetry processing with Dapr: Over 75 million events per month and growing! Message broker Ingestion Service Workflow Service MQTT Broker Admin Service Alerting Service Message broker Twilio Message broker State Store SysMap Service Receive Telemetry
  • 12. Dapr is the catapult we needed  Developers are able focus on features because security, tracing, resiliency are available out of the box with Dapr. That’s 1000s of lines of code that we didn’t have to write  Dapr’s component model makes development in distributed environments plug- and-play  Dapr’s Docs are great, we saw references to Project Tye and examples in .NET that made it feel familiar  Dapr let’s us get up and running with very little overheard or tooling – install dapr and you’re 50% there  Dapr is vendor agnostic – by default it provides optionality for languages & frameworks  DevEx is a hot topic these days – and Dapr gets it right. Dapr replaced SDK- sprawl, scattered retry login, hardcoded URLs, and so much more