Table of Contents
Twelve-Factor App
Return to Cloud Native or Microservices
The Twelve Factors
I. Codebase
One codebase tracked in revision control, many deploys (Continuous deployment)
II. Dependencies
12-Factor Dependencies: Explicitly declare dependencies and isolate dependencies - see Dependency Injection (DI)
III. Config
12-Factor Config: Store config in the environment
IV. Backing services
12-Factor Backing services: Treat backing services as attached resources
V. Build, release, run
12-Factor Build, release, run: Strictly separate build stage and run stages
VI. Processes
12-Factor Processes: Execute the app as one or more stateless processes
VII. Port binding
VIII. Concurrency
12-Factor Concurrency: Scale out via the process model
IX. Disposability
12-Factor Disposability: Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity
12-Factor Dev-Prod parity: Keep development, staging, and production as similar as possible
XI. Logs
12-Factor Logs: Treat logs as event streams
XII. Admin processes
12-Factor Admin processes: Run admin/management tasks as one-off processes