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

12-Factor Port binding: Export services via 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