SlideShare a Scribd company logo
© Turbine Labs. Confidential and proprietary.
Chaos Proxies
1
© Turbine Labs. Confidential and proprietary.
Usual Engineering Loop
2
Define Desired Behavior
Observe System
System is Destabilized
Firefight
Resolve
Baseline
Incident
Planet of the Crepes - @shinypb
© Turbine Labs. Confidential and proprietary.
Chaos Engineering Loop
3
Define Desired Behavior
Observe System
Inject Fault
Analyze System
Tune System
Baseline
Hardening
Planet of the Crepes - @shinypb
© Turbine Labs. Confidential and proprietary.
Service Meshes and Chaos
4
•The more service oriented you are, the more central the network
becomes in your fault model.
•The bad news: networks are notoriously chao@c.
•The good news: the service mesh lets you observe behavior and
quickly apply policy changes.
Food truck name idea: Calamari Damacy - @shinypb
© Turbine Labs. Confidential and proprietary.
Envoy and the Loop
5
•Envoy as the data plane in a service mesh gives you a great set
of capabili'es.
• Global observability
• Global resilience policies
• Fault injec@on
•The control plane gives you faster feedback loops.
•You s@ll need to build prac'ces on top of these primi@ves.
A post apocalyp@c bakery called Judge Bredd - @mccv
© Turbine Labs. Confidential and proprietary.
Choose Your Fighter
6
If a request
exceeds a .me
limit, stop and
return an error.
Timeout
On an error, try
again.
Retry
If too many
requests are in
progress, stop
and return an
error.
Break
If an endpoint
is unhealthy,
don’t use it.
Eject
A falafel truck called Kebab Kebarker - @9len
Dealing With Failure
I'd like to open up a food truck called Pasta La Vista. - @shinypb
© Turbine Labs. Confidential and proprietary.
Dealing With Failure - Ejection
8Korma Police - @shinypb
Simplicity Scalability Fidelity
Health Checks Very Simple Low Low
Outlier Detection Not Simple High High
Serivce Discovery ? ? ?
© Turbine Labs. Confidential and proprietary.
Dealing With Failure - Ejection
9A food truck called Move Fast and Bake Things - @mccv
© Turbine Labs. Confidential and proprietary.
On the Exponential Benefits of Retries
10
A food truck converted from one of those tac@cal swat trucks
called Meal Team 6 - @mccv
90.0%
92.5%
95.0%
97.5%
100.0%
2 Tries 3 Tries 4 Tries
99%
95%
90%
85%
80%
75%
70%
Base Success Rate
© Turbine Labs. Confidential and proprietary.
On the Exponential Risks of Failure
11
0.0%
25.0%
50.0%
75.0%
100.0%
2 3 4 5 6 7
99%
95%
90%
85%
80%
75%
70%
Base Success Rate
Process Steps
Food truck name idea: Entrée the Giant - @shinypb
© Turbine Labs. Confidential and proprietary.
Dealing With Failure - Retries
12Did we already do a breakfast truck called Cereal Bus? - @mccv
Dealing With Slow
A fancy cheese shop called float like a camembert s@nk like a brie - @9len
© Turbine Labs. Confidential and proprietary.
A Typical Latency Curve
14A cinnamon-raisin bread truck called Fruity and the Yeast - @9len
© Turbine Labs. Confidential and proprietary.
Fixing the Latency Curve
15
•Add @meouts to abandon long running requests.
• Timeouts trade success rate for speed.
•Add retries to recover success rate.
•Warnings:
• This won’t get you to 100% success rate.
• This increases overall load on your system.
A medieval-themed hamburger truck called “Knight Slider” - @9len
© Turbine Labs. Confidential and proprietary.
Fixing the Latency Curve
16A bakery truck called “Yeast Common Denominator” - @mccv
Beyond Reactive
food truck idea: serves hand-craged sog drinks named "Helter Seltzer" - @slyphon
© Turbine Labs. Confidential and proprietary.
Steady State is a Myth
18
•We’ve tuned to provide good service in good condi@ons
•Bad things happen to good networks
•If we don’t tune for degrada@on, service will suffer
tracked vehicle food truck named BlintzKrieg - @mccv
© Turbine Labs. Confidential and proprietary.
Running an Example Exercise
19
•The scenario
• Inject packet loss.
• Analyze customer
experience.
• Tune Envoy to restore
customer experience.
A punk rock food truck called sid's dishes - @mccv
•The ergonomics
• Low risk fault injec@on
• Deep visibility into system
behavior
• Fast feedback loop for system
tuning
© Turbine Labs. Confidential and proprietary.
Our Stack
20
Define Desired Behavior
Observe System
Inject Fault
Analyze System
Tune System
Baseline
Hardening
Food truck name idea: Slaw & Order - @shinypb
© Turbine Labs. Confidential and proprietary. 21
Inject
Much Ado About Muffins - @RSGAT
© Turbine Labs. Confidential and proprietary. 22
Inject
Food truck name idea: Vegan Be Heroes (Just For One Day) - @shinypb
© Turbine Labs. Confidential and proprietary.
Attacking and Hardening
23Korma Police - @shinypb
Before/After Graphs
© Turbine Labs. Confidential and proprietary. 24
Analyze
Fantas@c Beets and Where to Find Them - @shinypb
© Turbine Labs. Confidential and proprietary. 25
Tune
Pastry food truck name idea: The Filling Is Mutual - @shinypb
© Turbine Labs. Confidential and proprietary. 26
Observe
Shwarmageddon - @shinypb
Attack 1 Attack 2
Tune Policies
© Turbine Labs. Confidential and proprietary.
Thank you!
27
Me:
mark@turbinelabs.io
twirer.com/mccv
Company:
turbinelabs.io
twirer.com/goturbine
Envoy project:
envoyproxy.github.io
blog.envoyproxy.io/
Lessons from Envoy at scale:
learnenvoy.io
(reply to a DND-themed food truck thread) - “THAC0 Truck” - @zuecrher

More Related Content

Similar to Chaos proxies

Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teamsLyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
Agile Lietuva
 
Workmanship Essentials
Workmanship EssentialsWorkmanship Essentials
Workmanship Essentials
Ernie Marks
 
Hands-On Lab: Learn How to Harness CA Application Performance Management Di...
Hands-On Lab: Learn How to Harness CA Application Performance Management  Di...Hands-On Lab: Learn How to Harness CA Application Performance Management  Di...
Hands-On Lab: Learn How to Harness CA Application Performance Management Di...
CA Technologies
 
Tests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be MissingTests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be Missing
Gene Gotimer
 
Nephele 2.0: How to get the most out of your Nephele results
Nephele 2.0: How to get the most out of your Nephele resultsNephele 2.0: How to get the most out of your Nephele results
Nephele 2.0: How to get the most out of your Nephele results
Bioinformatics and Computational Biosciences Branch
 
GPS 2023
GPS 2023GPS 2023
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
Amazon Web Services
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at Netflix
Gareth Bowles
 
High-throughput and Automated Process Development for Accelerated Biotherapeu...
High-throughput and Automated Process Development for Accelerated Biotherapeu...High-throughput and Automated Process Development for Accelerated Biotherapeu...
High-throughput and Automated Process Development for Accelerated Biotherapeu...
KBI Biopharma
 
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay PrewerSmoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
JAXLondon_Conference
 
AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo  AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo
Amazon Web Services
 
A better faster pipeline for software delivery, even in the government
A better faster pipeline for software delivery, even in the governmentA better faster pipeline for software delivery, even in the government
A better faster pipeline for software delivery, even in the government
Gene Gotimer
 
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
Flink Forward
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
Amazon Web Services
 
Reliability Through Correlation and Colaboration
Reliability Through Correlation and ColaborationReliability Through Correlation and Colaboration
Reliability Through Correlation and Colaboration
Chad Broussard
 
Continuous integration testing 2019 08
Continuous integration testing 2019 08Continuous integration testing 2019 08
Continuous integration testing 2019 08
David Stanke
 
Introduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft AzureIntroduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft Azure
Ana Medina
 
StormCon 2014
StormCon 2014StormCon 2014
StormCon 2014
Todd Wacome
 
Rcm 4 hour overview for rcm teams
Rcm 4 hour overview for rcm teamsRcm 4 hour overview for rcm teams
Rcm 4 hour overview for rcm teams
Matthew Clemens
 
Twisted Pair Technologies Ltd Overview
Twisted Pair Technologies Ltd OverviewTwisted Pair Technologies Ltd Overview
Twisted Pair Technologies Ltd Overview
Russell Grigg
 

Similar to Chaos proxies (20)

Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teamsLyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
Lyndsay Prewer - Smoothing the continuous delivery path - a tale of two teams
 
Workmanship Essentials
Workmanship EssentialsWorkmanship Essentials
Workmanship Essentials
 
Hands-On Lab: Learn How to Harness CA Application Performance Management Di...
Hands-On Lab: Learn How to Harness CA Application Performance Management  Di...Hands-On Lab: Learn How to Harness CA Application Performance Management  Di...
Hands-On Lab: Learn How to Harness CA Application Performance Management Di...
 
Tests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be MissingTests Your Pipeline Might Be Missing
Tests Your Pipeline Might Be Missing
 
Nephele 2.0: How to get the most out of your Nephele results
Nephele 2.0: How to get the most out of your Nephele resultsNephele 2.0: How to get the most out of your Nephele results
Nephele 2.0: How to get the most out of your Nephele results
 
GPS 2023
GPS 2023GPS 2023
GPS 2023
 
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
Reliability of the Cloud: How AWS Achieves High Availability (ARC317-R1) - AW...
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at Netflix
 
High-throughput and Automated Process Development for Accelerated Biotherapeu...
High-throughput and Automated Process Development for Accelerated Biotherapeu...High-throughput and Automated Process Development for Accelerated Biotherapeu...
High-throughput and Automated Process Development for Accelerated Biotherapeu...
 
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay PrewerSmoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
Smoothing the continuous delivery path – a tale of two teams - Lyndsay Prewer
 
AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo  AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo
 
A better faster pipeline for software delivery, even in the government
A better faster pipeline for software delivery, even in the governmentA better faster pipeline for software delivery, even in the government
A better faster pipeline for software delivery, even in the government
 
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
Flink Forward Berlin 2018: Wei-Che (Tony) Wei - "Lessons learned from Migrati...
 
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
More Nines for Your Dimes: Improving Availability and Lowering Costs using Au...
 
Reliability Through Correlation and Colaboration
Reliability Through Correlation and ColaborationReliability Through Correlation and Colaboration
Reliability Through Correlation and Colaboration
 
Continuous integration testing 2019 08
Continuous integration testing 2019 08Continuous integration testing 2019 08
Continuous integration testing 2019 08
 
Introduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft AzureIntroduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft Azure
 
StormCon 2014
StormCon 2014StormCon 2014
StormCon 2014
 
Rcm 4 hour overview for rcm teams
Rcm 4 hour overview for rcm teamsRcm 4 hour overview for rcm teams
Rcm 4 hour overview for rcm teams
 
Twisted Pair Technologies Ltd Overview
Twisted Pair Technologies Ltd OverviewTwisted Pair Technologies Ltd Overview
Twisted Pair Technologies Ltd Overview
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 

Chaos proxies

  • 1. © Turbine Labs. Confidential and proprietary. Chaos Proxies 1
  • 2. © Turbine Labs. Confidential and proprietary. Usual Engineering Loop 2 Define Desired Behavior Observe System System is Destabilized Firefight Resolve Baseline Incident Planet of the Crepes - @shinypb
  • 3. © Turbine Labs. Confidential and proprietary. Chaos Engineering Loop 3 Define Desired Behavior Observe System Inject Fault Analyze System Tune System Baseline Hardening Planet of the Crepes - @shinypb
  • 4. © Turbine Labs. Confidential and proprietary. Service Meshes and Chaos 4 •The more service oriented you are, the more central the network becomes in your fault model. •The bad news: networks are notoriously chao@c. •The good news: the service mesh lets you observe behavior and quickly apply policy changes. Food truck name idea: Calamari Damacy - @shinypb
  • 5. © Turbine Labs. Confidential and proprietary. Envoy and the Loop 5 •Envoy as the data plane in a service mesh gives you a great set of capabili'es. • Global observability • Global resilience policies • Fault injec@on •The control plane gives you faster feedback loops. •You s@ll need to build prac'ces on top of these primi@ves. A post apocalyp@c bakery called Judge Bredd - @mccv
  • 6. © Turbine Labs. Confidential and proprietary. Choose Your Fighter 6 If a request exceeds a .me limit, stop and return an error. Timeout On an error, try again. Retry If too many requests are in progress, stop and return an error. Break If an endpoint is unhealthy, don’t use it. Eject A falafel truck called Kebab Kebarker - @9len
  • 7. Dealing With Failure I'd like to open up a food truck called Pasta La Vista. - @shinypb
  • 8. © Turbine Labs. Confidential and proprietary. Dealing With Failure - Ejection 8Korma Police - @shinypb Simplicity Scalability Fidelity Health Checks Very Simple Low Low Outlier Detection Not Simple High High Serivce Discovery ? ? ?
  • 9. © Turbine Labs. Confidential and proprietary. Dealing With Failure - Ejection 9A food truck called Move Fast and Bake Things - @mccv
  • 10. © Turbine Labs. Confidential and proprietary. On the Exponential Benefits of Retries 10 A food truck converted from one of those tac@cal swat trucks called Meal Team 6 - @mccv 90.0% 92.5% 95.0% 97.5% 100.0% 2 Tries 3 Tries 4 Tries 99% 95% 90% 85% 80% 75% 70% Base Success Rate
  • 11. © Turbine Labs. Confidential and proprietary. On the Exponential Risks of Failure 11 0.0% 25.0% 50.0% 75.0% 100.0% 2 3 4 5 6 7 99% 95% 90% 85% 80% 75% 70% Base Success Rate Process Steps Food truck name idea: Entrée the Giant - @shinypb
  • 12. © Turbine Labs. Confidential and proprietary. Dealing With Failure - Retries 12Did we already do a breakfast truck called Cereal Bus? - @mccv
  • 13. Dealing With Slow A fancy cheese shop called float like a camembert s@nk like a brie - @9len
  • 14. © Turbine Labs. Confidential and proprietary. A Typical Latency Curve 14A cinnamon-raisin bread truck called Fruity and the Yeast - @9len
  • 15. © Turbine Labs. Confidential and proprietary. Fixing the Latency Curve 15 •Add @meouts to abandon long running requests. • Timeouts trade success rate for speed. •Add retries to recover success rate. •Warnings: • This won’t get you to 100% success rate. • This increases overall load on your system. A medieval-themed hamburger truck called “Knight Slider” - @9len
  • 16. © Turbine Labs. Confidential and proprietary. Fixing the Latency Curve 16A bakery truck called “Yeast Common Denominator” - @mccv
  • 17. Beyond Reactive food truck idea: serves hand-craged sog drinks named "Helter Seltzer" - @slyphon
  • 18. © Turbine Labs. Confidential and proprietary. Steady State is a Myth 18 •We’ve tuned to provide good service in good condi@ons •Bad things happen to good networks •If we don’t tune for degrada@on, service will suffer tracked vehicle food truck named BlintzKrieg - @mccv
  • 19. © Turbine Labs. Confidential and proprietary. Running an Example Exercise 19 •The scenario • Inject packet loss. • Analyze customer experience. • Tune Envoy to restore customer experience. A punk rock food truck called sid's dishes - @mccv •The ergonomics • Low risk fault injec@on • Deep visibility into system behavior • Fast feedback loop for system tuning
  • 20. © Turbine Labs. Confidential and proprietary. Our Stack 20 Define Desired Behavior Observe System Inject Fault Analyze System Tune System Baseline Hardening Food truck name idea: Slaw & Order - @shinypb
  • 21. © Turbine Labs. Confidential and proprietary. 21 Inject Much Ado About Muffins - @RSGAT
  • 22. © Turbine Labs. Confidential and proprietary. 22 Inject Food truck name idea: Vegan Be Heroes (Just For One Day) - @shinypb
  • 23. © Turbine Labs. Confidential and proprietary. Attacking and Hardening 23Korma Police - @shinypb Before/After Graphs
  • 24. © Turbine Labs. Confidential and proprietary. 24 Analyze Fantas@c Beets and Where to Find Them - @shinypb
  • 25. © Turbine Labs. Confidential and proprietary. 25 Tune Pastry food truck name idea: The Filling Is Mutual - @shinypb
  • 26. © Turbine Labs. Confidential and proprietary. 26 Observe Shwarmageddon - @shinypb Attack 1 Attack 2 Tune Policies
  • 27. © Turbine Labs. Confidential and proprietary. Thank you! 27 Me: mark@turbinelabs.io twirer.com/mccv Company: turbinelabs.io twirer.com/goturbine Envoy project: envoyproxy.github.io blog.envoyproxy.io/ Lessons from Envoy at scale: learnenvoy.io (reply to a DND-themed food truck thread) - “THAC0 Truck” - @zuecrher