The Twelve-Factor App

Aims

  • Use declarative formats for setup automation, minimising time and cost to onboard new engineers.
  • Clean contracts with the underlying operating system for maximum portability between environments.
  • Suited for deployment on cloud platforms, reducing need for traditional system administration.
  • Minimise divergence between deployment and production, enabling Continuous Delivery.
  • Scale up without significant investment in tooling, architecture or development practice.

Factors

  1. Codebase
  2. Dependencies
  3. Configuration
  4. Backing services
  5. Build, release, run
  6. Processes
  7. Port binding
  8. Concurrency
  9. Disposability
  10. Dev/prod parity
  11. Logs
  12. Administrative processes

References


Children
  1. Administrative processes
  2. Backing services
  3. Build, release, run
  4. Codebase
  5. Concurrency
  6. Configuration
  7. Dependencies
  8. Dev/prod parity
  9. Disposability
  10. Logs
  11. Port binding
  12. Processes

Backlinks