Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why You Might Not Need Yet Another Environment

Why You Might Not Need Yet Another Environment

Multiple environments are a staple of software development projects, but do they actually help us make better software? Do they help us get it into the hands of customers faster? In this talk, I look at the goal of every development team -- delivering quality software. I review how environments have historically helped achieve this goal as well as the problems they have caused along the way. Finally, I look at alternative techniques that can be used in lieu of environments.

bradgignac

April 14, 2015
Tweet

More Decks by bradgignac

Other Decks in Programming

Transcript

  1. Development DI CI Test Staging Production Stable Development DI CI

    Test Staging Production Stable Development DI CI Test Staging Production Stable Development DI CI Test Staging Production Stable Development DI CI Test Staging Production Stable
  2. Parallel Code Paths 0 25 50 75 100 2:00 2:30

    3:00 3:30 4:00 4:30 5:00 5:30 6:00 6:30 7:00 7:30 8:00 8:30 9:00 9:30 10:00 Total Mismatch
  3. Canary v1 v1 v1 v1 v1 v1 v1 v1 Standby

    DC Production DC Release
  4. Canary v2 v2 v2 v2 v1 v1 v1 v1 Standby

    DC Production DC Release
  5. Canary v2 v2 v2 v2 v2 v2 v2 v2 Standby

    DC Production DC Release
  6. Lessons Learned Test everything. Measure everything. Feature flags by default.

    Operational viability matters. Team culture matters most.