• The Twelve-Factor App methodology
    • Drafted by developers at Heroku based upon their observations of what made good apps
    • First presented by Adam Wiggins circa 2011 (then published in 2012)
  • The Factors
    • 1 - Codebase: one codebase tracked in revision control, many deploys
    • 2 - Dependencies: explicitly declare and isolate dependencies
    • 3 - Config: strict separation of config from code
    • 4 - Backing services: foster loose coupling by treating backing services as attached resources
    • 5 - Build, release, run: strictly separate build and run stages
    • 6 - Processes: processes are stateless and share-nothing
    • 7 - Port binding: export services via port binding
    • 8 - Concurrency: scale out via the process model
    • 9 - Disposability: processes are disposable, they can be started or stopped at a moment’s notice
    • 10 - Dev/prod parity: Keep development, staging, and production as similar as possible
    • 11 - Logs: treat logs as event streams, don't manage log files
    • 12 - Admin processes: admin and utility code ships with app code to avoid synchronization issues
  • What's Missing?
    • 7 years since first being published, what changes should be made to make it more relevant for today?
      • Some have argued for adding 3 additional factors:
        • Telemetry
        • Security
        • "API First"-philosophy

For a full transcription of this episode, please visit the episode webpage.

End song:
Flowerchild (Roy England Remix) by Owen Ni - Make Mistakes

We'd love to hear from you! You can reach us at:

  • Web: https://mobycast.fm
  • Voicemail: 844-818-0993
  • Email: ask@mobycast.fm
  • Twitter: https://twitter.com/hashtag/mobycast
  • Reddit: https://reddit.com/r/mobycast