SlideShare a Scribd company logo
1 of 8
From Spaghetti
to Microservice Architecture
Stefano Tempesta, VP of Engineering @
@stefanotempesta
Agenda
• Monoliths and Spaghetti
• Publish – Subscribe Pattern
– Azure Service Bus
• Microservice Architecture
• CQRS and ES
– Azure Service Fabric
Monoliths and Spaghetti
Publish – Subscribe Pattern
Q WF
AZURE
SERVICE BUS
CQRS and ES
CONTROLLER
COMMAND COMMAND BUS
COMMAND
HANDLER
AGGREGATE EVENT EVENT BUS
PROCESS
MANAGER
Enqueue
Observe
Create
Raise Enqueue
Observe
Add
Next
Thank you
@stefanotempesta

More Related Content

More from Stefano Tempesta

Measure your teams sentiment
Measure your teams sentimentMeasure your teams sentiment
Measure your teams sentimentStefano Tempesta
 
Electronic signature with blockchain
Electronic signature with blockchainElectronic signature with blockchain
Electronic signature with blockchainStefano Tempesta
 
Best Practices to Secure Your Kubernetes Cluster
Best Practices to Secure Your Kubernetes ClusterBest Practices to Secure Your Kubernetes Cluster
Best Practices to Secure Your Kubernetes ClusterStefano Tempesta
 
Automate Blockchain Workflows
Automate Blockchain WorkflowsAutomate Blockchain Workflows
Automate Blockchain WorkflowsStefano Tempesta
 
Expert Network - Machine Learning Tech Days
Expert Network - Machine Learning Tech DaysExpert Network - Machine Learning Tech Days
Expert Network - Machine Learning Tech DaysStefano Tempesta
 
Expert Network - Financial Predictions with Machine Learning
Expert Network - Financial Predictions with Machine LearningExpert Network - Financial Predictions with Machine Learning
Expert Network - Financial Predictions with Machine LearningStefano Tempesta
 
Designing and Building Decentralized Blockchain Apps
Designing and Building Decentralized Blockchain AppsDesigning and Building Decentralized Blockchain Apps
Designing and Building Decentralized Blockchain AppsStefano Tempesta
 
Smart Unified Service Desk with Machine Learning
Smart Unified Service Desk with Machine LearningSmart Unified Service Desk with Machine Learning
Smart Unified Service Desk with Machine LearningStefano Tempesta
 
Introduction to Dynamics 365 for Talent
Introduction to Dynamics 365 for TalentIntroduction to Dynamics 365 for Talent
Introduction to Dynamics 365 for TalentStefano Tempesta
 
Dynamics 365 Saturday Dubai 2018
Dynamics 365 Saturday Dubai 2018Dynamics 365 Saturday Dubai 2018
Dynamics 365 Saturday Dubai 2018Stefano Tempesta
 
Applied Machine Learning Days Lausanne 2018
Applied Machine Learning Days Lausanne 2018Applied Machine Learning Days Lausanne 2018
Applied Machine Learning Days Lausanne 2018Stefano Tempesta
 
Global Dynamics 365 Bootcamp London 2018
Global Dynamics 365 Bootcamp London 2018Global Dynamics 365 Bootcamp London 2018
Global Dynamics 365 Bootcamp London 2018Stefano Tempesta
 
Blockchain, The Next Frontier of CRM
Blockchain, The Next Frontier of CRMBlockchain, The Next Frontier of CRM
Blockchain, The Next Frontier of CRMStefano Tempesta
 
Programming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkProgramming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkStefano Tempesta
 
GDPR and Russian FL152 Data Privacy Compliance
GDPR and Russian FL152 Data Privacy ComplianceGDPR and Russian FL152 Data Privacy Compliance
GDPR and Russian FL152 Data Privacy ComplianceStefano Tempesta
 
Sentiment Analysis with Azure Machine Learning
Sentiment Analysis with Azure Machine LearningSentiment Analysis with Azure Machine Learning
Sentiment Analysis with Azure Machine LearningStefano Tempesta
 
A.I. Real Case Studies from the Field
A.I. Real Case Studies from the FieldA.I. Real Case Studies from the Field
A.I. Real Case Studies from the FieldStefano Tempesta
 

More from Stefano Tempesta (20)

Measure your teams sentiment
Measure your teams sentimentMeasure your teams sentiment
Measure your teams sentiment
 
Electronic signature with blockchain
Electronic signature with blockchainElectronic signature with blockchain
Electronic signature with blockchain
 
Best Practices to Secure Your Kubernetes Cluster
Best Practices to Secure Your Kubernetes ClusterBest Practices to Secure Your Kubernetes Cluster
Best Practices to Secure Your Kubernetes Cluster
 
Azure Cost Management
Azure Cost ManagementAzure Cost Management
Azure Cost Management
 
Automate Blockchain Workflows
Automate Blockchain WorkflowsAutomate Blockchain Workflows
Automate Blockchain Workflows
 
Expert Network - Machine Learning Tech Days
Expert Network - Machine Learning Tech DaysExpert Network - Machine Learning Tech Days
Expert Network - Machine Learning Tech Days
 
Expert Network - Financial Predictions with Machine Learning
Expert Network - Financial Predictions with Machine LearningExpert Network - Financial Predictions with Machine Learning
Expert Network - Financial Predictions with Machine Learning
 
Designing and Building Decentralized Blockchain Apps
Designing and Building Decentralized Blockchain AppsDesigning and Building Decentralized Blockchain Apps
Designing and Building Decentralized Blockchain Apps
 
Build Better CRM Charts
Build Better CRM ChartsBuild Better CRM Charts
Build Better CRM Charts
 
Azure Blockchain
Azure BlockchainAzure Blockchain
Azure Blockchain
 
Smart Unified Service Desk with Machine Learning
Smart Unified Service Desk with Machine LearningSmart Unified Service Desk with Machine Learning
Smart Unified Service Desk with Machine Learning
 
Introduction to Dynamics 365 for Talent
Introduction to Dynamics 365 for TalentIntroduction to Dynamics 365 for Talent
Introduction to Dynamics 365 for Talent
 
Dynamics 365 Saturday Dubai 2018
Dynamics 365 Saturday Dubai 2018Dynamics 365 Saturday Dubai 2018
Dynamics 365 Saturday Dubai 2018
 
Applied Machine Learning Days Lausanne 2018
Applied Machine Learning Days Lausanne 2018Applied Machine Learning Days Lausanne 2018
Applied Machine Learning Days Lausanne 2018
 
Global Dynamics 365 Bootcamp London 2018
Global Dynamics 365 Bootcamp London 2018Global Dynamics 365 Bootcamp London 2018
Global Dynamics 365 Bootcamp London 2018
 
Blockchain, The Next Frontier of CRM
Blockchain, The Next Frontier of CRMBlockchain, The Next Frontier of CRM
Blockchain, The Next Frontier of CRM
 
Programming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkProgramming the Microsoft Bot Framework
Programming the Microsoft Bot Framework
 
GDPR and Russian FL152 Data Privacy Compliance
GDPR and Russian FL152 Data Privacy ComplianceGDPR and Russian FL152 Data Privacy Compliance
GDPR and Russian FL152 Data Privacy Compliance
 
Sentiment Analysis with Azure Machine Learning
Sentiment Analysis with Azure Machine LearningSentiment Analysis with Azure Machine Learning
Sentiment Analysis with Azure Machine Learning
 
A.I. Real Case Studies from the Field
A.I. Real Case Studies from the FieldA.I. Real Case Studies from the Field
A.I. Real Case Studies from the Field
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

From Spaghetti to Microservices Architecture