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