The Twelve-Factor App
"A methodology for building modern, scalable, maintainable software-as-a-service apps."
Codebase
One codebase tracked in revision control, many deploysDependencies
Explicitly declare and isolate dependenciesConfig
Store config in the environmentBacking services
Treat backing services as attached resourcesBuild, release, run
Strictly separate build and run stagesProcesses
Execute the app as one or more stateless processesPort binding
Export services via port bindingConcurrency
Scale out via the process modelDisposability
Maximize robustness with fast startup and graceful shutdownDev/prod parity
Keep development, staging, and production as similar as possibleLogs
Treat logs as event streamsAdmin Processes
Run admin/management tasks as one-off processes
Top comments (0)