The 12 factor app states that applications should read config from environment variables. It implies separation of code and config. That’s about it, but there’s good bones here. I want something bigger from this factor. Specifically that applications may be deployed to new environments without any code changes. This requires a few additions:

  1. Configure the process through command options and environment variables
  2. Prefer explicit configuration over implicit configuration
  3. Use a dry run option to verify config sanity
  4. Fail fast on any configuration error

Mentioned in Show

  • Where, What, and How to Test on the Ruby Testing Podcast

Freebies

  • Mastering the Third Way of DevOps use the Toyota Kata for continuous improvement
  • Free DevOps Course much more detailed than what we can cover in the podcast
  • Products over Projects expand flow, feedback, and learning to the entire organization

Resources

  • Transcript
  • The 12 Factor App
  • My Review & Analysis on The DevOps Handbook
  • My Review & Analysis on Accelerate
  • Software Development in 3 Principles & 4 Metrics

Books

  • The DevOps Handbook by Gene Kim, Jez Humble, John Willis, Patrick Debois
  • Accelerate by Nicole Forsgren, Jez Humble, Gene Kim