The Twelve-Factor App
The Twelve-Factor App
Overview
Twelve best practices for building software-as-a-service apps that are portable and resilient.
Highlights (simplified)
- Codebase: one codebase, tracked in version control
- Dependencies: explicit, isolated
- Config: in environment variables
- Backing services: treat as attached resources
- Build, release, run: separate stages
- Processes: stateless and share-nothing
- Logs: treat as event streams
Checklist
- Keep secrets/config out of code
- Build once, deploy many
- Scale via processes
Resources
- 12factor.net