SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Reasoning about data and consistency in systems
Daniel Norman
CTO, güdTECH
unba.se contributor
Twitter: @DreamingInCode
Caveat emptor!
There is no silver bullet.
TL;DR
● Systems model the physical world
● Don’t annoy the humans
● Many of our systems are global
● We have to be available 24x7x365
● Mind-bending conceptual models of systems
● A view of a plausibly modern system
● No refunds
● Create a model of reality.
● Solve problems by performing computations thereon.
● Profit!
What are we trying to achieve?
Humans have certain expectations
We don’t like it when weird stuff happens – They get irritated.
● Well, do I have a new message or not?
● Why didn’t that save? Oh, it did save? Arghhh!
● Why is this so slow?
● What kind of lousy product is this?
● This should always be available, time is money!
Consistency model:
“A set of all histories of operations allowable under a system”1
In other words:
A contract between the programmer (or agent) and the system, which
provides a set of invariants to which the system will conform.
1. https://aphyr.com/posts/313-strong-consistency-models
● Linearizable
● Serializable
● Sequential
● Causal
● Eventual
● PRAM
● Read Your Writes
● Repeatable Read
● Monotonic Write
● Monotonic Read
● Write Follows Reads...
Some common consistency models
Linearizable Consistency
Eventual Consistency
Casual ConsistencyCausal Consistency
Reality is Causal
Hey, why not use wallclock?
I can use my system clock (AKA wallclock) to order my operations, right?
No.
Definitely NOT.
● NTP is notoriously unreliable
● Bad news: simultaneity isn’t actually a thing
● Time is actually weird and lumpy ( ask a physicist )
Advantages and Disadvantages
● Linearizable Strongly consistent, Single POV, May entail patience.
● Serializable Almost a single POV, allows modest concurrency, patience still required.
● Sequential Concurrent writers go nuts, ordering is arbitrary though, patience required for reads.
● Eventual Concurrent writers and no patience required! It’ll get applied, no promises when.
● Causal No patience required! No waiting for readers or writers, but no single POV either.
What consistency models do we really use?
“Linearizability / Serializability, obviously. End of presentation.”
But actually...
But Wait!
AWS MAGIC CASTLE TECHNOLOGY TO THE RESCUE!
Not so fast – AWS is pretty good, but we must still
reason about their consistency models:
● S3 Read after Write
● DynamoDB Eventual
● SQS Sequential or Linearizable
● Aurora / RDS Serializable
● FIFO makes my life easier
● It works around packet loss
● We’re accustomed to it’s foibles
Why do we like TCP?
● Single POV makes my life easier
● A central gatekeeper helps us ignore our other consistency models
● It works well in the small scale
Why do we like Serializable RDBMS?
It’s nice to avoid coordination, but:
● Incompatible with user’s worldview
● Requires ad-hoc consistency models as an overlay
Why isn’t eventual consistency your final answer?
● LieFi TCP linearizability gone wrong.
● Errant Promotion Asymmetries are problematic.
● Race conditions When two systems race head to head, you lose.
A few scenarios:
Concurrency is either something you’re dealing with,
or something you’re putting off. No exceptions.
Your system is distributed
Our limited comprehension of this complexity eventually leads to:
● Mysterious System Behaviors
● Inefficient Business Processes
● Lapses in Service
● Sadness
Causality is great when you can use it.
Wallclock baad!
Eventual Consistency is seductive, but problematic.
Consistency models are everywhere.
Be mindful of Linearizability / Serializability limitations.
Parting words:
Thank you!
Daniel Norman
CTO, güdTECH
unba.se contributor
Twitter: @DreamingInCode

Weitere ähnliche Inhalte

Ähnlich wie Reasoning about data and consistency in systems

Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...HostedbyConfluent
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistencyseldo
 
AMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionAMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionDaniel Norman
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRed Hat Developers
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018Alex Chistyakov
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automationRicardo Bánffy
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessLinuxaria.com
 
CQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionCQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionMarcelo Santos
 
Database Consistency Models
Database Consistency ModelsDatabase Consistency Models
Database Consistency ModelsSimon Ouellette
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...Stefano Fago
 
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...Anton Chuvakin
 
Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheapMarc Cluet
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Wiktor Żołnowski
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional ProgrammerDave Cross
 
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens
 
CQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPCQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPMarcelo Santos
 

Ähnlich wie Reasoning about data and consistency in systems (20)

Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
Scaling a Core Banking Engine Using Apache Kafka | Peter Dudbridge, Thought M...
 
Distributed systems and consistency
Distributed systems and consistencyDistributed systems and consistency
Distributed systems and consistency
 
AMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interactionAMW43 - Unba.se, Distributed database for human interaction
AMW43 - Unba.se, Distributed database for human interaction
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
 
My slides from SECR'2018
My slides from SECR'2018My slides from SECR'2018
My slides from SECR'2018
 
Cloud accounting software uk
Cloud accounting software ukCloud accounting software uk
Cloud accounting software uk
 
Monitoring and automation
Monitoring and automationMonitoring and automation
Monitoring and automation
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
CQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter versionCQRS and Event Sourcing with PHP - shorter version
CQRS and Event Sourcing with PHP - shorter version
 
Database Consistency Models
Database Consistency ModelsDatabase Consistency Models
Database Consistency Models
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...
 
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
SANS Webinar: The Future of Log Centralization for SIEMs and DFIR – Is the En...
 
Rust Primer
Rust PrimerRust Primer
Rust Primer
 
Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheap
 
Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014Reversed Tests Pyramid - Agile Prague 2014
Reversed Tests Pyramid - Agile Prague 2014
 
The Professional Programmer
The Professional ProgrammerThe Professional Programmer
The Professional Programmer
 
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big DataVoxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
Voxxed Athens 2018 - Methods and Practices for Guaranteed Failure in Big Data
 
Magical monolith
Magical monolithMagical monolith
Magical monolith
 
Messaging
MessagingMessaging
Messaging
 
CQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHPCQRS and Event Sourcing with PHP
CQRS and Event Sourcing with PHP
 

Kürzlich hochgeladen

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Reasoning about data and consistency in systems

  • 1. Reasoning about data and consistency in systems Daniel Norman CTO, güdTECH unba.se contributor Twitter: @DreamingInCode
  • 2. Caveat emptor! There is no silver bullet.
  • 3. TL;DR ● Systems model the physical world ● Don’t annoy the humans ● Many of our systems are global ● We have to be available 24x7x365 ● Mind-bending conceptual models of systems ● A view of a plausibly modern system ● No refunds
  • 4. ● Create a model of reality. ● Solve problems by performing computations thereon. ● Profit! What are we trying to achieve?
  • 5. Humans have certain expectations We don’t like it when weird stuff happens – They get irritated. ● Well, do I have a new message or not? ● Why didn’t that save? Oh, it did save? Arghhh! ● Why is this so slow? ● What kind of lousy product is this? ● This should always be available, time is money!
  • 6. Consistency model: “A set of all histories of operations allowable under a system”1 In other words: A contract between the programmer (or agent) and the system, which provides a set of invariants to which the system will conform. 1. https://aphyr.com/posts/313-strong-consistency-models
  • 7. ● Linearizable ● Serializable ● Sequential ● Causal ● Eventual ● PRAM ● Read Your Writes ● Repeatable Read ● Monotonic Write ● Monotonic Read ● Write Follows Reads... Some common consistency models
  • 12. Hey, why not use wallclock? I can use my system clock (AKA wallclock) to order my operations, right? No. Definitely NOT. ● NTP is notoriously unreliable ● Bad news: simultaneity isn’t actually a thing ● Time is actually weird and lumpy ( ask a physicist )
  • 13. Advantages and Disadvantages ● Linearizable Strongly consistent, Single POV, May entail patience. ● Serializable Almost a single POV, allows modest concurrency, patience still required. ● Sequential Concurrent writers go nuts, ordering is arbitrary though, patience required for reads. ● Eventual Concurrent writers and no patience required! It’ll get applied, no promises when. ● Causal No patience required! No waiting for readers or writers, but no single POV either.
  • 14. What consistency models do we really use? “Linearizability / Serializability, obviously. End of presentation.”
  • 16. But Wait! AWS MAGIC CASTLE TECHNOLOGY TO THE RESCUE! Not so fast – AWS is pretty good, but we must still reason about their consistency models: ● S3 Read after Write ● DynamoDB Eventual ● SQS Sequential or Linearizable ● Aurora / RDS Serializable
  • 17. ● FIFO makes my life easier ● It works around packet loss ● We’re accustomed to it’s foibles Why do we like TCP?
  • 18. ● Single POV makes my life easier ● A central gatekeeper helps us ignore our other consistency models ● It works well in the small scale Why do we like Serializable RDBMS?
  • 19. It’s nice to avoid coordination, but: ● Incompatible with user’s worldview ● Requires ad-hoc consistency models as an overlay Why isn’t eventual consistency your final answer?
  • 20. ● LieFi TCP linearizability gone wrong. ● Errant Promotion Asymmetries are problematic. ● Race conditions When two systems race head to head, you lose. A few scenarios:
  • 21. Concurrency is either something you’re dealing with, or something you’re putting off. No exceptions. Your system is distributed Our limited comprehension of this complexity eventually leads to: ● Mysterious System Behaviors ● Inefficient Business Processes ● Lapses in Service ● Sadness
  • 22. Causality is great when you can use it. Wallclock baad! Eventual Consistency is seductive, but problematic. Consistency models are everywhere. Be mindful of Linearizability / Serializability limitations. Parting words:
  • 23. Thank you! Daniel Norman CTO, güdTECH unba.se contributor Twitter: @DreamingInCode