Jump to the navigation menu

The Twelve-Factor App

The Twelve-Factor App

https://12factor.net

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.