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