SlideShare a Scribd company logo
DISTRIBUTED SYSTEMS
DESIGN
brains might melt… mine did!
@dvdstelt
#blaak

Dennis van der Stelt
Software Architect
http://dennis.bloggingabout.net/
dennis@bloggingabout.net
NServiceBus Community Champ

Dennis van der Stelt
slide heb ik er zelf tussen gezet voor kudos richting mark & sandra! ;-)

Dennis van der Stelt
Dennis van der Stelt
AGENDA

Dennis van der Stelt
“You know nothing, Jon
Snow”

Dennis van der Stelt
Dennis van der Stelt
Distributed Systems Design
8 fallacies
distribute
d
Deutsch
computin
Gosling
g
Dennis van der Stelt
11
fallacies
distribute
Neward
d
computin
g
Dennis van der Stelt
why all the layers?
Separation of concerns
Flexibility & Reusability
Scalability

Dennis van der Stelt
monolithic

A monolithic design is characterized by such tight coupling
among modules that they really have no independent existence.
Dennis van der Stelt
Which layer has the worst coupling?
question
Dennis van der Stelt
reduce
coupling
coupling aspects

Platform

Temporal

Spatial

Dennis van der Stelt
PLATFORM
Also known as ‘interoperability’
http, json, xml, xsd, etc…

Dennis van der Stelt
TEMPORAL

Store Front End

Shipping Service

Dennis van der Stelt
TEMPORAL

Store Front End

Shipping Service

Dennis van der Stelt
TEMPORAL

Store Front End

Order Queue

Shipping Service

Dennis van der Stelt
TEMPORAL

Store Front End

Order Queue

Shipping Service

Dennis van der Stelt
TEMPORAL

Store Front End

Order Queue

Shipping Service

Dennis van der Stelt
SPATIAL

Dennis van der Stelt
SPATIAL

.net
application
.net application

ShipOrder

AssignTask

Dennis van der Stelt
Messaging
 Reduces spatial coupling
 XML for platform coupling
 Asynchronous for temporal coupling

Dennis van der Stelt
Messaging
demo
PERFORMANCE
RPC versus Messaging

Dennis van der Stelt
service
oriented
architecture
Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Tenets



services are autonomous

of service orientation
boundaries are explicit

share schema & contract,
not class & type

compatibility is based on policy

Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
SERVICE ORIENTATION AT RUNTIME

Dennis van der Stelt
Distributed Systems Design
Distributed Systems Design
Don’t do request/reply

Dennis van der Stelt
Dennis van der Stelt
Don’t do request/reply

Dennis van der Stelt
publish events

Dennis van der Stelt
PUBLISH EVENTS
Save event
status locally

Save event
status locally

Customer Disabled
Subscribe to customer status updates

Unpaid Invoices

Subscribe invoice updates

Retrieve companies

Dennis van der Stelt
what is the best pizza?
TEMPORAL COUPLING
Synchronous communication

Place new order
DoesCompanyHaveCredit(companyId)

Company
Order accepted

Dennis van der Stelt
TEMPORAL COUPLING
Asynchronous communication

Place new order
DoesCompanyHaveCredit(companyId)

GotData?

GotData?

:)
GotData?

Order accepted

Dennis van der Stelt
TEMPORAL COUPLING
Event Driven Communication

Publish CompanyHasCredit status

Store data

Place new order
Order accepted

Dennis van der Stelt
A service is the
technical authority
of a specific
business capability

Dennis van der Stelt
SOA
&
EDA

Dennis van der Stelt
the ui is more than meets the eye
Dennis van der Stelt
WHO OWNS THIS SCREEN?

Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Dennis van der Stelt
Now that is
a tasty idea

Dennis van der Stelt
WTF?

Dennis van der Stelt
Service
Business Component

Business Component

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

Warehouse Service
Shipping

Product Service

Products

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

Warehouse Service
Shipping

Product Service

Products

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

Regular
Customers

?

Strategic
Customers
Warehouse Service

Shipping

Product Service

Products

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

subscribe

Regular
Customers

Strategic
Customers
Warehouse Service

Shipping

Product Service

Products

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

publish

Regular
Customers

Strategic
Customers
Warehouse Service

Shipping

Product Service

Products

Dennis van der Stelt
strategic customer

regular customer

Sales Service
Ordering

Warehouse Service
Shipping

Product Service

Products

Dennis van der Stelt
ARCHITECTURAL STYLES
Sales Service
Ordering

3 Tier

Warehouse Service
Shipping

CQRS & Event Sourcing

Product Service

Products

CRUD

Dennis van der Stelt
Dennis van der Stelt
A service is the
technical authority
of a specific
business capability
If you share data over services you likely
have your boundaries wrong

Dennis van der Stelt
race conditions do not exist
system that never goes down

Dennis van der Stelt
juniors building to scale

Dennis van der Stelt
Dennis van der Stelt
SOA is business agility
find me.
http://dennis.bloggingabout.net
dvdstelt@outlook.com

Dennis van der Stelt
Ad

More Related Content

Viewers also liked (20)

The Style of C++ 11
The Style of C++ 11The Style of C++ 11
The Style of C++ 11
Sasha Goldshtein
 
Idiomatic C++
Idiomatic C++Idiomatic C++
Idiomatic C++
Federico Ficarelli
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMS
fawzmasood
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
farhan amjad
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
Steven Smith
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ Advanced
Vivek Das
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
Northeastern University
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Complement Verb
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
Northeastern University
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL
乐群 陈
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
Confiz
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++
shammi mehra
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
Dennis van der Stelt
 
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
farhan amjad
 
Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)
farhan amjad
 
Memory Management In C++
Memory Management In C++Memory Management In C++
Memory Management In C++
ShriKant Vashishtha
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
Sherif Mousa
 
Abstract Base Class and Polymorphism in C++
Abstract Base Class and Polymorphism in C++Abstract Base Class and Polymorphism in C++
Abstract Base Class and Polymorphism in C++
Liju Thomas
 
Keys to Continuous Delivery Success - Mark Warren, Product Director, Perforc...
Keys to Continuous  Delivery Success - Mark Warren, Product Director, Perforc...Keys to Continuous  Delivery Success - Mark Warren, Product Director, Perforc...
Keys to Continuous Delivery Success - Mark Warren, Product Director, Perforc...
Perforce
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMS
fawzmasood
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
farhan amjad
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
Steven Smith
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ Advanced
Vivek Das
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Complement Verb
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL
乐群 陈
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
Confiz
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++
shammi mehra
 
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
farhan amjad
 
Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)
farhan amjad
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
Sherif Mousa
 
Abstract Base Class and Polymorphism in C++
Abstract Base Class and Polymorphism in C++Abstract Base Class and Polymorphism in C++
Abstract Base Class and Polymorphism in C++
Liju Thomas
 
Keys to Continuous Delivery Success - Mark Warren, Product Director, Perforc...
Keys to Continuous  Delivery Success - Mark Warren, Product Director, Perforc...Keys to Continuous  Delivery Success - Mark Warren, Product Director, Perforc...
Keys to Continuous Delivery Success - Mark Warren, Product Director, Perforc...
Perforce
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
 

Similar to Distributed Systems Design (13)

Death of the batch job
Death of the batch jobDeath of the batch job
Death of the batch job
Dennis van der Stelt
 
Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
Dennis van der Stelt
 
World Wide Technology TEC37 Webinar - Windows 10 (Transcript)
World Wide Technology TEC37 Webinar -  Windows 10 (Transcript)World Wide Technology TEC37 Webinar -  Windows 10 (Transcript)
World Wide Technology TEC37 Webinar - Windows 10 (Transcript)
World Wide Technology
 
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
David Jones
 
How to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobilityHow to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobility
Denis Gundarev
 
Phreebird Suite 1.0: Introducing the Domain Key Infrastructure
Phreebird Suite 1.0:  Introducing the Domain Key InfrastructurePhreebird Suite 1.0:  Introducing the Domain Key Infrastructure
Phreebird Suite 1.0: Introducing the Domain Key Infrastructure
Dan Kaminsky
 
DisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display PresentationDisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display Presentation
DisplayTen
 
Dell ppt
Dell pptDell ppt
Dell ppt
Siddharth Dc
 
Dell Retail Brochure V3 New url
Dell Retail Brochure V3 New urlDell Retail Brochure V3 New url
Dell Retail Brochure V3 New url
Alex Glushchenko
 
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Rien van den Bosch
 
V3.1.Ds Generic Presentation Pptshow [Autosaved]
V3.1.Ds Generic Presentation Pptshow [Autosaved]V3.1.Ds Generic Presentation Pptshow [Autosaved]
V3.1.Ds Generic Presentation Pptshow [Autosaved]
Robert Grawet
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talk
Ben Adam
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
mimmozzo_
 
Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
Dennis van der Stelt
 
World Wide Technology TEC37 Webinar - Windows 10 (Transcript)
World Wide Technology TEC37 Webinar -  Windows 10 (Transcript)World Wide Technology TEC37 Webinar -  Windows 10 (Transcript)
World Wide Technology TEC37 Webinar - Windows 10 (Transcript)
World Wide Technology
 
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...assert(CPA < LTV)  - the most important line of code (AKA Startup Metrics ...
assert(CPA < LTV) - the most important line of code (AKA Startup Metrics ...
David Jones
 
How to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobilityHow to fail or succeed with desktop virtualization and workspace mobility
How to fail or succeed with desktop virtualization and workspace mobility
Denis Gundarev
 
Phreebird Suite 1.0: Introducing the Domain Key Infrastructure
Phreebird Suite 1.0:  Introducing the Domain Key InfrastructurePhreebird Suite 1.0:  Introducing the Domain Key Infrastructure
Phreebird Suite 1.0: Introducing the Domain Key Infrastructure
Dan Kaminsky
 
DisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display PresentationDisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display Presentation
DisplayTen
 
Dell Retail Brochure V3 New url
Dell Retail Brochure V3 New urlDell Retail Brochure V3 New url
Dell Retail Brochure V3 New url
Alex Glushchenko
 
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Brand Commerce - We all know the shiny stuff at the front. But what magic is ...
Rien van den Bosch
 
V3.1.Ds Generic Presentation Pptshow [Autosaved]
V3.1.Ds Generic Presentation Pptshow [Autosaved]V3.1.Ds Generic Presentation Pptshow [Autosaved]
V3.1.Ds Generic Presentation Pptshow [Autosaved]
Robert Grawet
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talk
Ben Adam
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
mimmozzo_
 
Ad

More from Dennis van der Stelt (7)

Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
Dennis van der Stelt
 
Duplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro ServicesDuplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
Silverlight & WCF RIA
Silverlight & WCF RIASilverlight & WCF RIA
Silverlight & WCF RIA
Dennis van der Stelt
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Dennis van der Stelt
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
Dennis van der Stelt
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Dennis van der Stelt
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
Ad

Recently uploaded (20)

Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Unlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive GuideUnlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive Guide
vikasascentbpo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Top 10 IT Help Desk Outsourcing Services
Top 10 IT Help Desk Outsourcing ServicesTop 10 IT Help Desk Outsourcing Services
Top 10 IT Help Desk Outsourcing Services
Infrassist Technologies Pvt. Ltd.
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token ListingTrsLabs Consultants - DeFi, WEb3, Token Listing
TrsLabs Consultants - DeFi, WEb3, Token Listing
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Unlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive GuideUnlocking the Power of IVR: A Comprehensive Guide
Unlocking the Power of IVR: A Comprehensive Guide
vikasascentbpo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Mastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdfMastering Advance Window Functions in SQL.pdf
Mastering Advance Window Functions in SQL.pdf
Spiral Mantra
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 

Distributed Systems Design

Editor's Notes

  • #3: Hekelaan recruitersHelaasvindenzewél het werkvoor je, zoals PHP klussen in Limburg.BlaakSelectie : Actief in Zuid-Holland met vacaturesgefilterd op Rotterdam & Den Haag
  • #6: Disclaimer : Jon Snow doesn’t know everything, me neither! ;-)I will explain concepts, I will answer questionsI will not go into discussion if it’s wrong or right or better or worse
  • #7: Wie kent deze plaat?Wie bouwt applicaties volgens deze architectuurWie negeert deze architectuur bewust?
  • #8: Haight-Ashbury in San Francisco
  • #9: Network is reliableLatency isn’t a problemBandwith isn’t a problemNetwork is secure (only disconnected computer that is turned off!)Topology won’t change (servers moved across domains)Administrator will know what to doTransport cost isn’t a problem (bandwith, serialization)Network is homogeneous (all speak same protocol)
  • #10: System is atomic/monolithicSystem is finishedBusiness logic can and should be centralizedMonolithic, één database, is wat ik altijd bouwdeFinished = greatest trick we ever pulled on businessCentralized = wat alle lagen zijn, wat een webservice is? Mag niet centralized?!?!?!
  • #11: Seperation of concerns : Put the right stuff where it belongs, like business logic. But how many times haven’t you simply used the layers to pass data on to the next layer?Reusability : How many times have you reused business logic related code, like calculating how much something costs? How many times cross applications?Scalability : Have you succesfully scaled out layers over servers?wie schaalt zijn lagen over verschillende servers?wie heeft een database die performance bottleneck is?zien we connectie met de drie additionele fallacies?Database changes, column added. Goes up all the way to user interface to add a single column! What if entire tables change?
  • #12: We creëren eigenlijk continu monolitische applicaties!Maar wat is een monolitische applicatie nu?A system which consists out of modules that all depend on each other.They cannot be used seperatly and cannot be reused by other software.
  • #26: Instead of looking at it as computers, load balancer and physical systems...Look at it as an application, calling out to another application using messages. The messages are transferred to the correct handler by the framework.That way we don’t have a hard spatial coupling to our methods. And we can also choose to route our messages to wherever we want!
  • #29: RPC benchmarks are performed as micro benchmark multiple times.Benchmarks don’t lie, but liers do benchmarks“Connection refused by the remote host”Threads allocate 1MB memory on stack. Data is stored in Generation 0, 1 & 2.GC comes by, tries to free up Gen2 memory & calls everything to complete stop!IIS recycles app pool. DB transactions have to time out though! How long? 5 to 10 minutes!!!
  • #35: - Weinighandvaten HOE we ditbereiken- Run-time aspecten van services alsscalability, availability, en robustnesswordennietbehandeld.
  • #36: Capability -> Generic value-add business capability (3rd party credit card processing or rating components)Activity -> Specific application-level business capabilityProcess -> Orchestration of business processUtility -> Generic infrastructural functionality
  • #38: Websites need companiesContracts need to know which companies are still availableCustomer Services needs to know if bills are paid or not and if it's a higher ranking customerBilling needs to know the price of the products to calculate correct scoreNew requirementProducts need to know if a special discount or bulk discount was made
  • #76: Hoe bouw je een systeem wat nooit down gaat, zelfs niet tijdens updates.
  • #77: Wat schaalbaar en flexibel is, maar toch te bouwen is door junior ontwikkelaars.
  • #79: Exceptionsmogenoptredenvanwege bugs, nooitvanwege business errorsTeken je process flow goed!!!