The Twelve-Factor App
A methodology for building applications that are portable, resilient, and scalable.
| Factor | Principle | Details |
|---|---|---|
| I. Codebase | One codebase, many deploys | Codebase |
| II. Dependencies | Explicitly declare and isolate | Codebase |
| III. Config | Store in environment variables | Codebase |
| IV. Backing Services | Treat as attached resources | Agnostic Core |
| V. Build, Release, Run | Strictly separate stages | Operations |
| VI. Processes | Execute as stateless processes | Operations |
| VII. Port Binding | Export services via ports | Operations |
| VIII. Concurrency | Scale via the process model | Operations |
| IX. Disposability | Fast startup, graceful shutdown | Operations |
| X. Dev/Prod Parity | Keep environments similar | Operations |
| XI. Logs | Treat as event streams | Operations |
| XII. Admin Processes | Run as one-off processes | Operations |