The Twelve Factors
One codebase tracked in revision control, many deploys
Explicit dependency declaration and isolation
Store config in the environment
Treat backing services as attached resources
Strict separation of build stage and run stage
Stateless, disposable processes handle application logic
Services exported via port binding
Scale up via the process model
Parity between development and production
Logs are event streams
One-off admin/management tasks