The Twelve-Factor App
Twelve principles for building services that deploy and scale cleanly, covering configuration, dependencies, statelessness, logging and parity between environments. An hour, and it explains most modern deployment conventions.
Guide
Other
Adam Wiggins
About an hour
Intermediate
Free
What it is
Twelve short principles for building software as a service application, written from experience running many thousands of applications on a platform.
Why it is still the reference
Almost every convention in modern deployment traces back to one of these. Configuration in the environment rather than in files. Explicit dependency declaration. Processes that are stateless and disposable. Logs as an event stream to standard output rather than files the application manages. Keeping development and production as similar as possible.
Where to apply it first
Configuration and statelessness. Those two account for most of the pain when an application that runs on a laptop refuses to run anywhere else, and both are cheap to fix early and expensive to retrofit.
Best for: backend developers whose deployments are unreliable, and anyone containerising an application for the first time.
Ready to start?
Opens on Adam Wiggins in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Every session is free; a few slots open each week.
Follow along
New writing, resources and project ideas land here first.