SlideShare a Scribd company logo
The Hard and Soft Skills
Required to Avoid Outages


              @pascallouis
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
Code   Bless   Ship   Maintain   Profit!   git rm
Tactics



       • Entity bound ids (e.g. Id<T>)
       • Textual ids MWDN-YP89-OLVL-USER
       • Testable configurations
       • etc.
Code       Bless   Ship       Maintain   Profit!   git rm
TDD



       • Not controversial (anymore)
       • Living code documentation
       • Enables collaboration
       • Technique to encode invariants
Code       Bless     Ship    Maintain     Profit!   git rm
Gold Tests



       • Tests which can be changed by a (small)
         subset of engineering
       • Enforced via policy or technology

Code       Bless     Ship     Maintain   Profit!    git rm
Expressive Tests



       • “Change your language and you change
         your thoughts” — Karl Albrecht
       • Can be implementation agnostic

Code       Bless     Ship   Maintain   Profit!   git rm
...
             Given feed PaymentEventFeedListener receives:
       """
               {
                   "payment_id": "EPT-300",
                   "isTivoReplay": false,
                   "merchant": {
                      "token": "m-1"
                   },
                   ...
               }
       """
             Then expect table balance_changing_events order by id:
               | event_type | status      | process_attempts |
               | HOLD       | UNPROCESSED | 1                |
               | CAPTURE    | UNPROCESSED | 0                |
             When then the time is 2012-01-06 17:10:00
             And balance changing event queue processes items
             Then expect table balance_changing_events order by id:
               | event_type | status      | process_attempts |
               | HOLD       | UNPROCESSED | 2                |
               | CAPTURE    | PROCESSED   | 1                |



Code           Bless           Ship           Maintain   Profit!       git rm
Automated

            Manual

  Quality




                               or              or




                                                             Time



Code            Bless   Ship        Maintain        Profit!      git rm
Code Analysis




       • In theory: static vs dynamic
       • In practice: pre vs post-production

Code       Bless     Ship     Maintain   Profit!   git rm
Pre Analysis



       • Type Checking
       • Testing, CI
       • Linters
       • Forbidden Call Analysis
Code       Bless     Ship     Maintain   Profit!   git rm
Post Analysis



       • Logging
       • Metrics
       • Invariant Checking

Code       Bless     Ship     Maintain   Profit!   git rm
Alerting & Reporting

                   Sign
               Res
                  pon
                          al
                                      Precise       Imprecise
                     se


       Immediate                      Alert           Oups!

         Deferred                 Report             Report




Code   Bless                   Ship             Maintain      Profit!   git rm
Metrics vs Checks
    OK

                   ?
WARNING



     1


     0



  200ms



   0ms




 Code     Bless        Ship   Maintain   Profit!   git rm
Code   Bless   Ship   Maintain   Profit!   git rm
Post-Mortem



       • When Anytime there are issues!
       • Why Learn and avoid mistakes of the past
       • How Blameless

Code        Bless     Ship    Maintain   Profit!     git rm
Post-Mortem



       • Go through the timeline
       • The Good, The Bad and the Ugly
       • Action Items

Code        Bless    Ship    Maintain     Profit!   git rm
Root Cause Analysis




Code   Bless   Ship   Maintain   Profit!   git rm
Code   Bless   Ship   Maintain   Profit!   git rm
Proportional Investing



       • When you lose N hours to maintenance, you
         spend an equivalent N hours on improving
         things.



Code        Bless    Ship     Maintain   Profit!     git rm
Wrap Up


• Safety unleashes creativity
• Many touch points, many ways to do it —
  find what’s right for you
• It’s not all about technology, most is about
  the culture and the people

More Related Content

PDF
Hard & Soft Skills to Avoid Outages by Pascal-Louis Perez
PDF
How to Send a Receipt, Topics in Concurrency and Distributed Systems
PDF
Deployment With Subversion - Lorna Mitchell
 
PDF
Agile & ALM tools
PDF
PHP Deployment With SVN
PDF
Git. Transition.
PPTX
ICEflo Implementation Management Solution V1d1
PDF
Taming the Deployment Beast
Hard & Soft Skills to Avoid Outages by Pascal-Louis Perez
How to Send a Receipt, Topics in Concurrency and Distributed Systems
Deployment With Subversion - Lorna Mitchell
 
Agile & ALM tools
PHP Deployment With SVN
Git. Transition.
ICEflo Implementation Management Solution V1d1
Taming the Deployment Beast

Similar to Developing an Immune System — The Hard and Soft Skills required to avoid Outages (20)

PDF
On Failure and Resilience
PDF
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
PDF
Pitfalls of Continuous Deployment
PPTX
A Second Look at Unit Testing by Roy Osherove
PDF
Ln monitoring repositories
PDF
From dev to ops and beyond - getting it done
PDF
Continuous Deployment of Architectural Change
PDF
Git Makes Me Angry Inside
PDF
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
PPTX
Getting From Folsom to Grizzly - A DevOps Upgrade Pattern.pptx
PDF
Practicing Continuous Deployment
PDF
Continuous Delivery: The Dirty Details
PDF
Rails Operations - Lessons Learned
PDF
Process Matters (Cloud2Days / Java2Days conference))
PPTX
Linuxtag 2012 - continuous delivery - dream to reality
PDF
Dev and Ops Collaboration and Awareness at Etsy and Flickr
PPTX
Agility Requires Safety
PDF
Beyond The Timesheet
KEY
How Atlassian made the switch to DVCS
On Failure and Resilience
Integrating Quality into Portfolio Management, PMI Silicon Valley Chapter Din...
Pitfalls of Continuous Deployment
A Second Look at Unit Testing by Roy Osherove
Ln monitoring repositories
From dev to ops and beyond - getting it done
Continuous Deployment of Architectural Change
Git Makes Me Angry Inside
Continuous Deployment & Delivery + Culture Hacks @ QCON 2012
Getting From Folsom to Grizzly - A DevOps Upgrade Pattern.pptx
Practicing Continuous Deployment
Continuous Delivery: The Dirty Details
Rails Operations - Lessons Learned
Process Matters (Cloud2Days / Java2Days conference))
Linuxtag 2012 - continuous delivery - dream to reality
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Agility Requires Safety
Beyond The Timesheet
How Atlassian made the switch to DVCS
Ad

More from Pascal-Louis Perez (13)

PDF
Fuchsia RFCs
PDF
Products’ Love Story with Biz
PDF
Corporate Finance Primer
PPTX
SLL Conf - Continuous Deployment
PDF
Alchemist Startup Primer - Lean Development Practices
PPTX
Database compatibility
PPTX
Applying Compiler Techniques to Iterate At Blazing Speed
PPTX
Iterate Like a Whirling Dervish
PDF
Extreme Testing at kaChing
PDF
Type Checking JavaScript
PPT
Xignite's Dedicate kaChing Api
PPT
Add (Syntactic) Sugar To Your Java
PPT
kaChing's API garage event
Fuchsia RFCs
Products’ Love Story with Biz
Corporate Finance Primer
SLL Conf - Continuous Deployment
Alchemist Startup Primer - Lean Development Practices
Database compatibility
Applying Compiler Techniques to Iterate At Blazing Speed
Iterate Like a Whirling Dervish
Extreme Testing at kaChing
Type Checking JavaScript
Xignite's Dedicate kaChing Api
Add (Syntactic) Sugar To Your Java
kaChing's API garage event
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Machine Learning_overview_presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
Getting Started with Data Integration: FME Form 101
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Programs and apps: productivity, graphics, security and other tools
SOPHOS-XG Firewall Administrator PPT.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
A Presentation on Artificial Intelligence
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Machine Learning_overview_presentation.pptx
Approach and Philosophy of On baking technology
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Developing an Immune System — The Hard and Soft Skills required to avoid Outages

  • 1. The Hard and Soft Skills Required to Avoid Outages @pascallouis
  • 6. Code Bless Ship Maintain Profit! git rm
  • 7. Tactics • Entity bound ids (e.g. Id<T>) • Textual ids MWDN-YP89-OLVL-USER • Testable configurations • etc. Code Bless Ship Maintain Profit! git rm
  • 8. TDD • Not controversial (anymore) • Living code documentation • Enables collaboration • Technique to encode invariants Code Bless Ship Maintain Profit! git rm
  • 9. Gold Tests • Tests which can be changed by a (small) subset of engineering • Enforced via policy or technology Code Bless Ship Maintain Profit! git rm
  • 10. Expressive Tests • “Change your language and you change your thoughts” — Karl Albrecht • Can be implementation agnostic Code Bless Ship Maintain Profit! git rm
  • 11. ... Given feed PaymentEventFeedListener receives: """ { "payment_id": "EPT-300", "isTivoReplay": false, "merchant": { "token": "m-1" }, ... } """ Then expect table balance_changing_events order by id: | event_type | status | process_attempts | | HOLD | UNPROCESSED | 1 | | CAPTURE | UNPROCESSED | 0 | When then the time is 2012-01-06 17:10:00 And balance changing event queue processes items Then expect table balance_changing_events order by id: | event_type | status | process_attempts | | HOLD | UNPROCESSED | 2 | | CAPTURE | PROCESSED | 1 | Code Bless Ship Maintain Profit! git rm
  • 12. Automated Manual Quality or or Time Code Bless Ship Maintain Profit! git rm
  • 13. Code Analysis • In theory: static vs dynamic • In practice: pre vs post-production Code Bless Ship Maintain Profit! git rm
  • 14. Pre Analysis • Type Checking • Testing, CI • Linters • Forbidden Call Analysis Code Bless Ship Maintain Profit! git rm
  • 15. Post Analysis • Logging • Metrics • Invariant Checking Code Bless Ship Maintain Profit! git rm
  • 16. Alerting & Reporting Sign Res pon al Precise Imprecise se Immediate Alert Oups! Deferred Report Report Code Bless Ship Maintain Profit! git rm
  • 17. Metrics vs Checks OK ? WARNING 1 0 200ms 0ms Code Bless Ship Maintain Profit! git rm
  • 18. Code Bless Ship Maintain Profit! git rm
  • 19. Post-Mortem • When Anytime there are issues! • Why Learn and avoid mistakes of the past • How Blameless Code Bless Ship Maintain Profit! git rm
  • 20. Post-Mortem • Go through the timeline • The Good, The Bad and the Ugly • Action Items Code Bless Ship Maintain Profit! git rm
  • 21. Root Cause Analysis Code Bless Ship Maintain Profit! git rm
  • 22. Code Bless Ship Maintain Profit! git rm
  • 23. Proportional Investing • When you lose N hours to maintenance, you spend an equivalent N hours on improving things. Code Bless Ship Maintain Profit! git rm
  • 24. Wrap Up • Safety unleashes creativity • Many touch points, many ways to do it — find what’s right for you • It’s not all about technology, most is about the culture and the people