Factor 1. Codebase One codebase tracked in revision control, many deploys
Factor 2. Dependencies Explicitly declare and isolate dependencies
Factor 3. Config Store config in the environment
Factor 4. Backing services Treat backing services as attached resources
Factor 5. Build, release, run Strictly separate build and run stages
Factor 6. Processes Execute the app as one or more stateless processes
Factor 7. Port binding Export services via port binding
Factor 8. Concurrency Scale out via the process model
Factor 9. Disposability Maximize robustness with fast startup and graceful shutdown
Factor 10. Dev/prod parity Keep development, staging, and production as similar as possible
Factor 11. Logs Treat logs as event streams
Factor 12. Admin processes Run admin/management tasks as one-off processes