The Twelve-Factor App


The Twelve-Factor App is a methodology for building Software as a Service apps

The Twelve Factors are:

  • I. Codebase - One codebase tracked in revision control, many deploys
  • II. Dependencies - Explicitly declare and isolate dependencies
  • III. Config - Store config in the environment
  • IV. Backing services - Treat backing services as attached resources
  • V. Build, release, run - Strictly separate build and run stages
  • VI. Processes - Execute the app as one or more stateless processes
  • VII. Port binding - Export services via port binding
  • VIII. Concurrency - Scale out via the process model
  • IX. Disposability - Maximize robustness with fast startup and graceful shutdown
  • X. Dev/prod parity - Keep development, staging, and production as similar as possible
  • XI. Logs - Treat logs as event streams
  • XII. Admin processes - Run admin/management tasks as one-off processes

More Information#

There might be more information for this subject on one of the following: