SlideShare uma empresa Scribd logo
1 de 72
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
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
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

Mais conteúdo relacionado

Destaque

STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMSfawzmasood
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingfarhan amjad
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing SoftwareSteven Smith
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ AdvancedVivek 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 designConfiz
 
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 templatesfarhan 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 LinuxSherif 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 ARMSherif Mousa
 

Destaque (20)

The Style of C++ 11
The Style of C++ 11The Style of C++ 11
The Style of C++ 11
 
Idiomatic C++
Idiomatic C++Idiomatic C++
Idiomatic C++
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMS
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ Advanced
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
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,...
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
 
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
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
 
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
 
Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)
 
Memory Management In C++
Memory Management In C++Memory Management In C++
Memory Management In C++
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 
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++
 
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...
 
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
 

Semelhante a Distributed Systems Design

Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deploymentDennis 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 mobilityDenis 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 InfrastructureDan Kaminsky
 
DisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display PresentationDisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display PresentationDisplayTen
 
Dell Retail Brochure V3 New url
Dell Retail Brochure V3 New urlDell Retail Brochure V3 New url
Dell Retail Brochure V3 New urlAlex 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
 
Black Ops of Fundamental Defense:
Black Ops of Fundamental Defense:Black Ops of Fundamental Defense:
Black Ops of Fundamental Defense:Recursion Ventures
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talkBen Adam
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hellmimmozzo_
 

Semelhante a Distributed Systems Design (14)

Death of the batch job
Death of the batch jobDeath of the batch job
Death of the batch job
 
Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
 
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)
 
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 ...
 
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
 
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
 
DisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display PresentationDisplayTen Wireless Interactive Display Presentation
DisplayTen Wireless Interactive Display Presentation
 
Dell ppt
Dell pptDell ppt
Dell ppt
 
Dell Retail Brochure V3 New url
Dell Retail Brochure V3 New urlDell Retail Brochure V3 New url
Dell Retail Brochure V3 New url
 
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 ...
 
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]
 
Black Ops of Fundamental Defense:
Black Ops of Fundamental Defense:Black Ops of Fundamental Defense:
Black Ops of Fundamental Defense:
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talk
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
 

Mais de Dennis van der Stelt

Mais de Dennis van der Stelt (7)

Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
 
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
 
Silverlight & WCF RIA
Silverlight & WCF RIASilverlight & WCF RIA
Silverlight & WCF RIA
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 

Último

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Distributed Systems Design

Notas do Editor

  1. Hekelaan recruitersHelaasvindenzewél het werkvoor je, zoals PHP klussen in Limburg.BlaakSelectie : Actief in Zuid-Holland met vacaturesgefilterd op Rotterdam & Den Haag
  2. 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
  3. Wie kent deze plaat?Wie bouwt applicaties volgens deze architectuurWie negeert deze architectuur bewust?
  4. Haight-Ashbury in San Francisco
  5. 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)
  6. 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?!?!?!
  7. 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?
  8. 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.
  9. 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!
  10. 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!!!
  11. - Weinighandvaten HOE we ditbereiken- Run-time aspecten van services alsscalability, availability, en robustnesswordennietbehandeld.
  12. 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
  13. 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
  14. Hoe bouw je een systeem wat nooit down gaat, zelfs niet tijdens updates.
  15. Wat schaalbaar en flexibel is, maar toch te bouwen is door junior ontwikkelaars.
  16. Exceptionsmogenoptredenvanwege bugs, nooitvanwege business errorsTeken je process flow goed!!!