The Twelve Factors
One code repo, many deploys
Explicit dependency declaration and isolation
Store config in the environment
Treat backing services as attached resources
Separate build and run stages
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