Stress Free Change Validation at Netflix

QCon San Francisco 2022

Session Architecture

Stress Free Change Validation at Netflix

Monday Oct 24 / 04:10PM PDT, Ballroom A

Abstract

How do you gain confidence that a system modification does what it’s supposed to do? A refactoring should not cause a functional change, whereas a feature modification should cause a specific kind of change. Tests are great for validating assertions one has already thought of, but for sufficiently complex systems it is infeasible or cost-prohibitive to verify the long tail of possible outcomes through testing. Without high confidence in our code changes, it is difficult to move quickly without breaking things.

I built a framework at Netflix that allows our engineers to define basic characteristics of a service API, and then replays pairs of identical requests against two versions of the service looking for differences in the responses. When changes are found, the framework filters out noise using a variety of techniques which effectively bring noise down to zero. I will share examples of how this has helped accelerate development by unlocking stress-free refactoring in my team’s most critical service, and how we’ve used it to perform large technical debt migrations in record time.

Key Takeaways

  1. Why we need a high confidence change process for maintainable code bases
  2. How zero-noise diffs help close the confidence gap left by tests and canaries
  3. Recommended practices for building a diff system that controls for non-idempotent dependencies and (some) side effects

Interview

 

 

Topics

Architecture
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon San Francisco 2022 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Monday 24 October

10:35 Ballroom A Session Architecture Adopting Continuous Deployment at Lyft Tom Wanielista Senior Staff Software Engineer @Lyft 11:50 Ballroom A Session Enabling Change @ Scale Roundtable Tom Wanielista, Mykyta Protsenko, Tapabrata Pal, Javier Fernandez-Ivern 13:40 Seacliff D Session Unconference: Architecting for Change Shane Hastie Global Delivery Lead for SoftEd and Lead Editor for Culture & Methods at InfoQ.com 14:55 Ballroom A Session Architecture Dark Side of DevOps Mykyta Protsenko Senior Software Engineer @Netflix 16:10 Ballroom A Session Architecture Stress Free Change Validation at Netflix Javier Fernandez-Ivern Staff Software Engineer @Netflix with Over 24 Years in Software Engineering 17:25 Bayview Session Architecture Log4Shell Response Patterns & Learnings From Them Tapabrata Pal Vice President of Architecture @Fidelity