SlideShare a Scribd company logo
Keynote✨✨ ✨✨
The Paper Edition!
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥
Agile, Lean, Rugged
First
.Introductions
@Randommood
Ines Sombra
@adriancolyer
Adrian Colyer
The Rules
Only 5 minutes per paperFoundation
!
Frontier
A challenge!
No Cheating!
A paper tour of
Agile
Foundation
!
We disdain old software
“The only systems that
don’t get changed are
those that are so bad
nobody wants to use
them”
When software gets older
Design for change
Embrace modularity & information hiding
Stress clarity & documentation
Amputate disease-ridden parts
Plan for eventual replacement
Preventative medicine
Frontier
What do we want? We want agile
Development
Testing and
verification
Delivery
and we want
agility of
operations too!
Facebook Scuba
"
Data lives in server’s heap
The problem with state
Restarting a database clears its memory
Reading 120GB of data from disk takes
about 3 hours per server (8 per machine)
Even with orchestrated restarts & partial
queries total of ~12 hours to restart a fleet
Operationally
expensive & slow!
#
“When we shutdown a server
for a planned upgrade, we
know that the memory state
is good… so we decided to
decouple the memory’s
lifetime from the process’s
lifetime“
2-3 minutes per server
Fleet restarts < 1 hour now!
$
A paper tour of
Lean
Foundation
!
Which system is better?
Which system is better?
Single-minded
pursuit of scalability
is the wrong goal
Common wisdom
Effective scaling is
evidence of solid
system building
Why does this happen?
McSherry et al.
Any system can scale
arbitrarily well with a
sufficient lack of care
in its implementation
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
COST
Configuration that outperforms a single
thread
COST of a system is the hardware
platform (number of cores) required before
the platform outperforms a competent
single threaded implementation
“If you’re building a system,
make sure it’s better than
your laptop. If you’re using a
system, make sure it’s better
than your laptop” McSherry
Frontier
Sampling works!
Error bounds & confidence
Don’t ask wasteful
questions
A paper tour of
Rugged
Foundation
!
Strategies to enhance
ruggedness in the
presence of failures
Better way to think about
system availability
Ruggedness as availability
Harvest: fraction of
the complete result
Yield: fraction of
answered queries
Yield as response ruggedness
Close to uptime (% requests answered
successfully) but more useful because it
directly maps to user experience
Failure during high & low traffic generates
different yields. Uptime misses this
Focus on yield rather than uptime
Harvest as quality of response
From Coda Hale’s “You can’t sacrifice partition tolerance”
Server A Server B Server C
Baby AnimalsCute
Harvest as quality of response
From Coda Hale’s “You can’t sacrifice partition tolerance”
Server A Server B Server C
Baby AnimalsCute
X
66% harvest
#1: Probabilistic Availability
Graceful harvest degradation under faults
Randomness to make the worst-case &
average-case the same
Replication of high-priority data for greater
harvest control
Degrading results based on client capability
#2 Decomposition & Orthogonality
Decomposing into subsystems independently
intolerant to harvest degradation (fail by
reducing yield). But app can continue if they fail
Only provide strong consistency for the
subsystems that need it
Orthogonal mechanisms (state vs functionality)
%
Frontier
Ruggedness via verification
Formal
Methods Testing
TOP-DOWN
FAULT INJECTORS, INPUT GENERATORS
BOTTOM-UP
LINEAGE DRIVEN FAULT INJECTORS
WHITE / BLACK BOX
WE KNOW (OR NOT) ABOUT THE SYSTEM
HUMAN ASSISTED PROOFS
SAFETY CRITICAL (TLA+, COQ, ISABELLE)
MODEL CHECKING
PROPERTIES + TRANSITIONS (SPIN, TLA+)
LIGHTWEIGHT FM
BEST OF BOTH WORLDS (ALLOY, SAT)
&
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! "
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥
#$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ %
♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $
MOLLY: Lineage Driven Fault Injection
Reasons backwards from correct
system outcomes & determines if a
failure could have prevented it
MOLLY only injects the failures it can
prove might affect an outcome
Ruggedness with MOLLY
“Without explicitly
forcing a system to
fail, you have no
confidence that it
will operate
correctly in failure
modes”Caitie McCaffrey’s pearls of wisdom
'(
Verifier
Programmer
MOLLY helps us undestand failure
“Presents a middle ground
between pragmatism and
formalism, dictated by the
importance of verifying fault
tolerance in spite of the
complexity of the space of
faults”
Now let’s
.Wrap things
Agile Lean Rugged
tl;dr - foundations
A scalable
system may
not be a lean
system
Pursuing
scalability out
of context can
be COSTly
Designing for
change is
designing for
success
Think about
availability in
terms of yield
and harvest
Graceful
degradation is a
design outcome
! !
Agile Lean Rugged
tl;dr - Frontiers
Asking the
wrong question
is wasteful
Think about
what is truly
needed
Use
approximations
State can be
challenging
Saving state in
shared
memory allows
us to restart
DB processes
faster
Reasoning
backwards from
correct system
output helps us
determine the
execution
failures that
prevent it from
happening
Join your local PWL and
read The Morning Paper!
github.com/Randommood/GotoLondon2015
Papers are a lot of fun!)
✨ ✨
*+ ,- *+ ,- *+ ,- *+ ,- *+ ,- *+ ,
*+,-*+,-*+,-*+,-*+,-*+,
DRANKS!

More Related Content

Viewers also liked

It Probably Works
It Probably WorksIt Probably Works
It Probably Works
Fastly
 
Applying Varnish
Applying VarnishApplying Varnish
Applying Varnish
Fastly
 
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Fastly
 
Secure by design
Secure by designSecure by design
Secure by design
Fastly
 
The future of the edge
The future of the edge The future of the edge
The future of the edge
Fastly
 
Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015
Fastly
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
Fastly
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
Fastly
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
Fastly
 
Making ops life easier
Making ops life easierMaking ops life easier
Making ops life easier
Fastly
 
Next-gen API authentication
Next-gen API authenticationNext-gen API authentication
Next-gen API authentication
Fastly
 
Rails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeRails Caching: Secrets From the Edge
Rails Caching: Secrets From the Edge
Fastly
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restart
Fastly
 
Know your resolvers
Know your resolversKnow your resolvers
Know your resolvers
Fastly
 
Resource Allocation in Computer Networks
Resource Allocation in Computer NetworksResource Allocation in Computer Networks
Resource Allocation in Computer Networks
Fastly
 
Load balancing is impossible
Load balancing is impossibleLoad balancing is impossible
Load balancing is impossible
Fastly
 
Building Customer User Experiences from the Edge
Building Customer User Experiences from the EdgeBuilding Customer User Experiences from the Edge
Building Customer User Experiences from the Edge
Fastly
 
Developing a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemDeveloping a Globally Distributed Purging System
Developing a Globally Distributed Purging System
Fastly
 
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Fastly
 
Debugging Your CDN - Austin Spires at Fastly Altitude 2015
Debugging Your CDN - Austin Spires at Fastly Altitude 2015Debugging Your CDN - Austin Spires at Fastly Altitude 2015
Debugging Your CDN - Austin Spires at Fastly Altitude 2015
Fastly
 

Viewers also liked (20)

It Probably Works
It Probably WorksIt Probably Works
It Probably Works
 
Applying Varnish
Applying VarnishApplying Varnish
Applying Varnish
 
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
Advanced VCL Workshop - Rogier Mulhuijzen and Stephen Basile at Fastly Altitu...
 
Secure by design
Secure by designSecure by design
Secure by design
 
The future of the edge
The future of the edge The future of the edge
The future of the edge
 
Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015Tips for going fast in a slow world: Michael May at OSCON 2015
Tips for going fast in a slow world: Michael May at OSCON 2015
 
Confident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF MeetupConfident Refactoring - Ember SF Meetup
Confident Refactoring - Ember SF Meetup
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
 
Making ops life easier
Making ops life easierMaking ops life easier
Making ops life easier
 
Next-gen API authentication
Next-gen API authenticationNext-gen API authentication
Next-gen API authentication
 
Rails Caching: Secrets From the Edge
Rails Caching: Secrets From the EdgeRails Caching: Secrets From the Edge
Rails Caching: Secrets From the Edge
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restart
 
Know your resolvers
Know your resolversKnow your resolvers
Know your resolvers
 
Resource Allocation in Computer Networks
Resource Allocation in Computer NetworksResource Allocation in Computer Networks
Resource Allocation in Computer Networks
 
Load balancing is impossible
Load balancing is impossibleLoad balancing is impossible
Load balancing is impossible
 
Building Customer User Experiences from the Edge
Building Customer User Experiences from the EdgeBuilding Customer User Experiences from the Edge
Building Customer User Experiences from the Edge
 
Developing a Globally Distributed Purging System
Developing a Globally Distributed Purging SystemDeveloping a Globally Distributed Purging System
Developing a Globally Distributed Purging System
 
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
Mitigating Security Threats with Fastly - Joe Williams at Fastly Altitude 2015
 
Debugging Your CDN - Austin Spires at Fastly Altitude 2015
Debugging Your CDN - Austin Spires at Fastly Altitude 2015Debugging Your CDN - Austin Spires at Fastly Altitude 2015
Debugging Your CDN - Austin Spires at Fastly Altitude 2015
 

Similar to Agile, Lean, Rugged: The Paper Edition - Ines Sombra's keynote at GOTO London

AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
Amazon Web Services
 
Failure the-good-parts
Failure the-good-partsFailure the-good-parts
Failure the-good-partslegendofklang
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
Noah Sussman
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Tomas Doran
 
Just the basics_strata_2013
Just the basics_strata_2013Just the basics_strata_2013
Just the basics_strata_2013Ken Mwai
 
Understanding Autovacuum
Understanding AutovacuumUnderstanding Autovacuum
Understanding Autovacuum
Dan Robinson
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos Engineering
Green Custard
 
What Problem Is Your Startup Solving?
What Problem Is Your Startup Solving?What Problem Is Your Startup Solving?
What Problem Is Your Startup Solving?
Zach Nies
 
The Quest for Global Design Principles
The Quest for Global Design PrinciplesThe Quest for Global Design Principles
The Quest for Global Design Principles
Matthias Noback
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Milen Dyankov
 
How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)
Russell Miles
 
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-SubramanyaErlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
Hakka Labs
 
Testing & Integration (The Remix)
 Testing & Integration (The Remix) Testing & Integration (The Remix)
Testing & Integration (The Remix)
Ines Sombra
 
Startupfest 2012 - Coefficients of friction
Startupfest 2012 - Coefficients of frictionStartupfest 2012 - Coefficients of friction
Startupfest 2012 - Coefficients of friction
Startupfest
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
David Rosenblum
 
Device deployment
Device deploymentDevice deployment
Device deployment
Angelo van der Sijpt
 
Engineering Reliability and Resilience
Engineering Reliability and ResilienceEngineering Reliability and Resilience
Engineering Reliability and Resilience
University of Hertfordshire
 
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always WantedThe Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always WantedThoughtworks
 
Surviving SOA
Surviving SOASurviving SOA
Surviving SOA
Energized Work
 

Similar to Agile, Lean, Rugged: The Paper Edition - Ines Sombra's keynote at GOTO London (20)

AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Failure the-good-parts
Failure the-good-partsFailure the-good-parts
Failure the-good-parts
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
 
Just the basics_strata_2013
Just the basics_strata_2013Just the basics_strata_2013
Just the basics_strata_2013
 
Understanding Autovacuum
Understanding AutovacuumUnderstanding Autovacuum
Understanding Autovacuum
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos Engineering
 
What Problem Is Your Startup Solving?
What Problem Is Your Startup Solving?What Problem Is Your Startup Solving?
What Problem Is Your Startup Solving?
 
The Quest for Global Design Principles
The Quest for Global Design PrinciplesThe Quest for Global Design Principles
The Quest for Global Design Principles
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
 
How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)How to be Wrong (or How to be Successful at Being Wrong)
How to be Wrong (or How to be Successful at Being Wrong)
 
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-SubramanyaErlang - Because s**t Happens by Mahesh Paolini-Subramanya
Erlang - Because s**t Happens by Mahesh Paolini-Subramanya
 
Testing & Integration (The Remix)
 Testing & Integration (The Remix) Testing & Integration (The Remix)
Testing & Integration (The Remix)
 
Startupfest 2012 - Coefficients of friction
Startupfest 2012 - Coefficients of frictionStartupfest 2012 - Coefficients of friction
Startupfest 2012 - Coefficients of friction
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
 
Device deployment
Device deploymentDevice deployment
Device deployment
 
Engineering Reliability and Resilience
Engineering Reliability and ResilienceEngineering Reliability and Resilience
Engineering Reliability and Resilience
 
Software Testing_Overview
Software Testing_OverviewSoftware Testing_Overview
Software Testing_Overview
 
The Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always WantedThe Enterprise Architecture You Always Wanted
The Enterprise Architecture You Always Wanted
 
Surviving SOA
Surviving SOASurviving SOA
Surviving SOA
 

More from Fastly

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
Fastly
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Fastly
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Fastly
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup Stream
Fastly
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
Fastly
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Fastly
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Fastly
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Fastly
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
Fastly
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Fastly
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Fastly
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Fastly
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
Fastly
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
Fastly
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly Workshop
Fastly
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Fastly
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF Workshop
Fastly
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
Fastly
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop Docs
Fastly
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
Fastly
 

More from Fastly (20)

Revisiting HTTP/2
Revisiting HTTP/2Revisiting HTTP/2
Revisiting HTTP/2
 
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at ScaleAltitude San Francisco 2018: Preparing for Video Streaming Events at Scale
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
 
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the InternetAltitude San Francisco 2018: Building the Souther Hemisphere of the Internet
Altitude San Francisco 2018: Building the Souther Hemisphere of the Internet
 
Altitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup StreamAltitude San Francisco 2018: The World Cup Stream
Altitude San Francisco 2018: The World Cup Stream
 
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our DestinyAltitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: We Own Our Destiny
 
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
Altitude San Francisco 2018: Scale and Stability at the Edge with 1.4 Billion...
 
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless MigrationAltitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
Altitude San Francisco 2018: Moving Off the Monolith: A Seamless Migration
 
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub PagesAltitude San Francisco 2018: Bringing TLS to GitHub Pages
Altitude San Francisco 2018: Bringing TLS to GitHub Pages
 
Altitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation WorkshopAltitude San Francisco 2018: HTTP Invalidation Workshop
Altitude San Francisco 2018: HTTP Invalidation Workshop
 
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and WoeAltitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
 
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
Altitude San Francisco 2018: How Magento moved to the cloud while maintaining...
 
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per dayAltitude San Francisco 2018: Scaling Ethereum to 10B requests per day
Altitude San Francisco 2018: Scaling Ethereum to 10B requests per day
 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
 
Altitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly WorkshopAltitude San Francisco 2018: Testing with Fastly Workshop
Altitude San Francisco 2018: Testing with Fastly Workshop
 
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORKAltitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
Altitude San Francisco 2018: Fastly Purge Control at the USA TODAY NETWORK
 
Altitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF WorkshopAltitude San Francisco 2018: WAF Workshop
Altitude San Francisco 2018: WAF Workshop
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
 
Altitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop DocsAltitude San Francisco 2018: Video Workshop Docs
Altitude San Francisco 2018: Video Workshop Docs
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Agile, Lean, Rugged: The Paper Edition - Ines Sombra's keynote at GOTO London

  • 2. The Paper Edition! ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥ Agile, Lean, Rugged
  • 6. The Rules Only 5 minutes per paperFoundation ! Frontier A challenge! No Cheating!
  • 7. A paper tour of Agile
  • 9. We disdain old software
  • 10. “The only systems that don’t get changed are those that are so bad nobody wants to use them”
  • 12. Design for change Embrace modularity & information hiding Stress clarity & documentation Amputate disease-ridden parts Plan for eventual replacement Preventative medicine
  • 14. What do we want? We want agile Development Testing and verification Delivery and we want agility of operations too!
  • 15. Facebook Scuba " Data lives in server’s heap
  • 16. The problem with state Restarting a database clears its memory Reading 120GB of data from disk takes about 3 hours per server (8 per machine) Even with orchestrated restarts & partial queries total of ~12 hours to restart a fleet Operationally expensive & slow! #
  • 17. “When we shutdown a server for a planned upgrade, we know that the memory state is good… so we decided to decouple the memory’s lifetime from the process’s lifetime“
  • 18. 2-3 minutes per server Fleet restarts < 1 hour now! $
  • 19. A paper tour of Lean
  • 21. Which system is better?
  • 22. Which system is better?
  • 24. Common wisdom Effective scaling is evidence of solid system building Why does this happen? McSherry et al. Any system can scale arbitrarily well with a sufficient lack of care in its implementation
  • 25. ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥ #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥ #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ COST Configuration that outperforms a single thread COST of a system is the hardware platform (number of cores) required before the platform outperforms a competent single threaded implementation
  • 26.
  • 27. “If you’re building a system, make sure it’s better than your laptop. If you’re using a system, make sure it’s better than your laptop” McSherry
  • 29.
  • 30.
  • 32. Error bounds & confidence
  • 34. A paper tour of Rugged
  • 36. Strategies to enhance ruggedness in the presence of failures Better way to think about system availability Ruggedness as availability
  • 37. Harvest: fraction of the complete result Yield: fraction of answered queries
  • 38. Yield as response ruggedness Close to uptime (% requests answered successfully) but more useful because it directly maps to user experience Failure during high & low traffic generates different yields. Uptime misses this Focus on yield rather than uptime
  • 39. Harvest as quality of response From Coda Hale’s “You can’t sacrifice partition tolerance” Server A Server B Server C Baby AnimalsCute
  • 40. Harvest as quality of response From Coda Hale’s “You can’t sacrifice partition tolerance” Server A Server B Server C Baby AnimalsCute X 66% harvest
  • 41. #1: Probabilistic Availability Graceful harvest degradation under faults Randomness to make the worst-case & average-case the same Replication of high-priority data for greater harvest control Degrading results based on client capability
  • 42. #2 Decomposition & Orthogonality Decomposing into subsystems independently intolerant to harvest degradation (fail by reducing yield). But app can continue if they fail Only provide strong consistency for the subsystems that need it Orthogonal mechanisms (state vs functionality) %
  • 44. Ruggedness via verification Formal Methods Testing TOP-DOWN FAULT INJECTORS, INPUT GENERATORS BOTTOM-UP LINEAGE DRIVEN FAULT INJECTORS WHITE / BLACK BOX WE KNOW (OR NOT) ABOUT THE SYSTEM HUMAN ASSISTED PROOFS SAFETY CRITICAL (TLA+, COQ, ISABELLE) MODEL CHECKING PROPERTIES + TRANSITIONS (SPIN, TLA+) LIGHTWEIGHT FM BEST OF BOTH WORLDS (ALLOY, SAT) &
  • 45. ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥ #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ ! " # $ %♥ ' ! ! "' ! "% # $ %♥ '♥ $ %♥ #$ %♥ ' ! " # $ %♥ ' ! " # $ %♥ ' ! " $ % ♥ ' ! " # $ %♥ ' ! " # $ % # $ %♥♥ ' ! " $ MOLLY: Lineage Driven Fault Injection Reasons backwards from correct system outcomes & determines if a failure could have prevented it MOLLY only injects the failures it can prove might affect an outcome
  • 46. Ruggedness with MOLLY “Without explicitly forcing a system to fail, you have no confidence that it will operate correctly in failure modes”Caitie McCaffrey’s pearls of wisdom '( Verifier Programmer
  • 47. MOLLY helps us undestand failure
  • 48. “Presents a middle ground between pragmatism and formalism, dictated by the importance of verifying fault tolerance in spite of the complexity of the space of faults”
  • 50. Agile Lean Rugged tl;dr - foundations A scalable system may not be a lean system Pursuing scalability out of context can be COSTly Designing for change is designing for success Think about availability in terms of yield and harvest Graceful degradation is a design outcome ! !
  • 51. Agile Lean Rugged tl;dr - Frontiers Asking the wrong question is wasteful Think about what is truly needed Use approximations State can be challenging Saving state in shared memory allows us to restart DB processes faster Reasoning backwards from correct system output helps us determine the execution failures that prevent it from happening
  • 52. Join your local PWL and read The Morning Paper! github.com/Randommood/GotoLondon2015 Papers are a lot of fun!)
  • 53. ✨ ✨ *+ ,- *+ ,- *+ ,- *+ ,- *+ ,- *+ , *+,-*+,-*+,-*+,-*+,-*+, DRANKS!