SlideShare a Scribd company logo
1 of 22
Download to read offline
LEARNING TO BUILD
DISTRIBUTED SYSTEMS
THE HARD WAY
@iconara
NEW
and improved!
LEARNING TO BUILD
DISTRIBUTED SYSTEMS
THE HARD WAY
@iconara
NEW
and improved!
speakerdeck.com/iconara
Theo / @iconara
chief architect at BURT
FAILURE
embrace it
SCALE
how hard can it be? let’s worry about that later.
KNOW YOUR LIMITS
who’s the largest customer you could sign?
what would happen if you did?
BALANCE
“customer” is a really bad shard key,
find something that distributes evenly & uniformly
SCALE OUT, NOT UP
bigger boxes aren’t going to save you
<
START WITH TWO
OF EVERYTHING
going from one to two is the hardest,
force yourself to solve the scaling problem up front
START WITH TWO
OF EVERYTHING
you’ll solve the scaling problem,
and need less overcapacity
THREE
LIMITS
we’ll probably never run out of memory
BACK PRESSURE
what happens when the system is working at full
capacity? what happens next?
PRODUCTION = QA
production is where the weird shit happens,
can you test production traffic without
deploying to production?
=
MONOLITHS
running all the things on the same box is really fast.
what could ever go wrong?
1:4:9
DECOUPLE
UNTIL IT BREAKS
moving things to separate services means that you
will be able to scale them independently
PROCESSING
& STORAGE
separate processing from storage,
they almost never scale together.
SCALE
exponential scaling is also scaling,
but you want it as cheaply as possible
SCALE
your CFO may not agree that O(2n) = O(n)
GÖTEBORG,
DISTRIBUTED
@gbgdistr
meetup.com/gbgdistributed
KTHXBAI
@iconara
github.com/iconara
architecturalatrocities.com
burtcorp.com

More Related Content

Viewers also liked

Red cross 72 hour survival kit
Red cross 72 hour survival kitRed cross 72 hour survival kit
Red cross 72 hour survival kitheu_av
 
พนักงานราชการ กศน
พนักงานราชการ กศนพนักงานราชการ กศน
พนักงานราชการ กศนPaweena Kumpor
 
95944832006
9594483200695944832006
95944832006nahilis
 
It’s for your health nutrition
It’s for your health nutritionIt’s for your health nutrition
It’s for your health nutritionJodi Dingman
 
Understanding Brand
Understanding BrandUnderstanding Brand
Understanding Brandmanumaxnanda
 
Schedule 08 feb11
Schedule 08 feb11Schedule 08 feb11
Schedule 08 feb11heu_av
 
Building a CQL driver
Building a CQL driverBuilding a CQL driver
Building a CQL driverTheo Hultberg
 
Cloud expo John Darlington - Imperial College
Cloud expo   John Darlington - Imperial CollegeCloud expo   John Darlington - Imperial College
Cloud expo John Darlington - Imperial CollegeCloudExpoEurope
 
Zimolvediba uznemuma attistibai
Zimolvediba uznemuma attistibaiZimolvediba uznemuma attistibai
Zimolvediba uznemuma attistibaiMartins Baranovs
 

Viewers also liked (12)

Mundo In tacto
Mundo In tactoMundo In tacto
Mundo In tacto
 
Red cross 72 hour survival kit
Red cross 72 hour survival kitRed cross 72 hour survival kit
Red cross 72 hour survival kit
 
พนักงานราชการ กศน
พนักงานราชการ กศนพนักงานราชการ กศน
พนักงานราชการ กศน
 
95944832006
9594483200695944832006
95944832006
 
It’s for your health nutrition
It’s for your health nutritionIt’s for your health nutrition
It’s for your health nutrition
 
CCI Brochure
CCI BrochureCCI Brochure
CCI Brochure
 
Understanding Brand
Understanding BrandUnderstanding Brand
Understanding Brand
 
Schedule 08 feb11
Schedule 08 feb11Schedule 08 feb11
Schedule 08 feb11
 
Building a CQL driver
Building a CQL driverBuilding a CQL driver
Building a CQL driver
 
Cloud expo emer coleman
Cloud expo   emer colemanCloud expo   emer coleman
Cloud expo emer coleman
 
Cloud expo John Darlington - Imperial College
Cloud expo   John Darlington - Imperial CollegeCloud expo   John Darlington - Imperial College
Cloud expo John Darlington - Imperial College
 
Zimolvediba uznemuma attistibai
Zimolvediba uznemuma attistibaiZimolvediba uznemuma attistibai
Zimolvediba uznemuma attistibai
 

Similar to Learn to Build Distributed Systems the Hard Way

Y Combinator Startup Class #12 : Building for the Enterprise
Y Combinator Startup Class #12 : Building for the EnterpriseY Combinator Startup Class #12 : Building for the Enterprise
Y Combinator Startup Class #12 : Building for the EnterpriseFabien Grenet
 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Christian Heilmann
 
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Sonatype
 
A People's History of Microservices
A People's History of MicroservicesA People's History of Microservices
A People's History of MicroservicesCamille Fournier
 
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Mozaic Works
 
Rapid growth | 10 Challenges and Opportunities
Rapid growth | 10 Challenges and OpportunitiesRapid growth | 10 Challenges and Opportunities
Rapid growth | 10 Challenges and OpportunitiesNick Caldwell
 
Usability Testing
Usability TestingUsability Testing
Usability TestingAndy Budd
 
Getting Business Exec Buy-in for Architecture Change
Getting Business Exec Buy-in for Architecture ChangeGetting Business Exec Buy-in for Architecture Change
Getting Business Exec Buy-in for Architecture ChangeDominica DeGrandis
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Stealmozilla.presentations
 
Be a SPOC but dont be a SPOF
Be a SPOC but dont be a SPOFBe a SPOC but dont be a SPOF
Be a SPOC but dont be a SPOFSethMcBean
 
Bilot 3mode
Bilot 3modeBilot 3mode
Bilot 3modeBilot
 
Introduction to DevOps with Lego and Chocolate simulation game.
Introduction to DevOps with Lego and Chocolate simulation game.Introduction to DevOps with Lego and Chocolate simulation game.
Introduction to DevOps with Lego and Chocolate simulation game.Dana Pylayeva
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsSteve Pember
 

Similar to Learn to Build Distributed Systems the Hard Way (20)

The alignment
The alignmentThe alignment
The alignment
 
Y Combinator Startup Class #12 : Building for the Enterprise
Y Combinator Startup Class #12 : Building for the EnterpriseY Combinator Startup Class #12 : Building for the Enterprise
Y Combinator Startup Class #12 : Building for the Enterprise
 
You are Not Your Customer
You are Not Your CustomerYou are Not Your Customer
You are Not Your Customer
 
Windows 7
Windows 7Windows 7
Windows 7
 
Rewrites in Real Life
Rewrites in Real LifeRewrites in Real Life
Rewrites in Real Life
 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015
 
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
Docker Inside/Out: The 'Real' Real- World World of Stacking Containers in pro...
 
A People's History of Microservices
A People's History of MicroservicesA People's History of Microservices
A People's History of Microservices
 
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
Alex Bolboacă: Usable Software Design at I T.A.K.E. Unconference 2015
 
Rapid growth | 10 Challenges and Opportunities
Rapid growth | 10 Challenges and OpportunitiesRapid growth | 10 Challenges and Opportunities
Rapid growth | 10 Challenges and Opportunities
 
Usability Testing
Usability TestingUsability Testing
Usability Testing
 
Getting Business Exec Buy-in for Architecture Change
Getting Business Exec Buy-in for Architecture ChangeGetting Business Exec Buy-in for Architecture Change
Getting Business Exec Buy-in for Architecture Change
 
SEO and Accessibility
SEO and AccessibilitySEO and Accessibility
SEO and Accessibility
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Steal
 
New Rules Of Engagement
New Rules Of EngagementNew Rules Of Engagement
New Rules Of Engagement
 
Meetup ssc w_ms_slides
Meetup ssc w_ms_slidesMeetup ssc w_ms_slides
Meetup ssc w_ms_slides
 
Be a SPOC but dont be a SPOF
Be a SPOC but dont be a SPOFBe a SPOC but dont be a SPOF
Be a SPOC but dont be a SPOF
 
Bilot 3mode
Bilot 3modeBilot 3mode
Bilot 3mode
 
Introduction to DevOps with Lego and Chocolate simulation game.
Introduction to DevOps with Lego and Chocolate simulation game.Introduction to DevOps with Lego and Chocolate simulation game.
Introduction to DevOps with Lego and Chocolate simulation game.
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and Grails
 

More from Theo Hultberg

AWS Cost Optimization
AWS Cost OptimizationAWS Cost Optimization
AWS Cost OptimizationTheo Hultberg
 
Cassandra for all the Things
Cassandra for all the ThingsCassandra for all the Things
Cassandra for all the ThingsTheo Hultberg
 
Chasing the elephant
Chasing the elephantChasing the elephant
Chasing the elephantTheo Hultberg
 
Learning to build distributed systems the hard way
Learning to build distributed systems the hard wayLearning to build distributed systems the hard way
Learning to build distributed systems the hard wayTheo Hultberg
 
A Guide to the Post Relational Revolution
A Guide to the Post Relational RevolutionA Guide to the Post Relational Revolution
A Guide to the Post Relational RevolutionTheo Hultberg
 
Concurrency and Distributed Systems Using JRuby
Concurrency and Distributed Systems Using JRubyConcurrency and Distributed Systems Using JRuby
Concurrency and Distributed Systems Using JRubyTheo Hultberg
 
Shortcuts around the mistakes I've made scaling MongoDB
Shortcuts around the mistakes I've made scaling MongoDB Shortcuts around the mistakes I've made scaling MongoDB
Shortcuts around the mistakes I've made scaling MongoDB Theo Hultberg
 
Standing on the shoulders of giants with JRuby
Standing on the shoulders of giants with JRubyStanding on the shoulders of giants with JRuby
Standing on the shoulders of giants with JRubyTheo Hultberg
 

More from Theo Hultberg (8)

AWS Cost Optimization
AWS Cost OptimizationAWS Cost Optimization
AWS Cost Optimization
 
Cassandra for all the Things
Cassandra for all the ThingsCassandra for all the Things
Cassandra for all the Things
 
Chasing the elephant
Chasing the elephantChasing the elephant
Chasing the elephant
 
Learning to build distributed systems the hard way
Learning to build distributed systems the hard wayLearning to build distributed systems the hard way
Learning to build distributed systems the hard way
 
A Guide to the Post Relational Revolution
A Guide to the Post Relational RevolutionA Guide to the Post Relational Revolution
A Guide to the Post Relational Revolution
 
Concurrency and Distributed Systems Using JRuby
Concurrency and Distributed Systems Using JRubyConcurrency and Distributed Systems Using JRuby
Concurrency and Distributed Systems Using JRuby
 
Shortcuts around the mistakes I've made scaling MongoDB
Shortcuts around the mistakes I've made scaling MongoDB Shortcuts around the mistakes I've made scaling MongoDB
Shortcuts around the mistakes I've made scaling MongoDB
 
Standing on the shoulders of giants with JRuby
Standing on the shoulders of giants with JRubyStanding on the shoulders of giants with JRuby
Standing on the shoulders of giants with JRuby
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Learn to Build Distributed Systems the Hard Way