Programming Concepts
Intermediate
What is Twelve-Factor App?
A methodology of twelve best practices for building modern, scalable, maintainable software-as-a-service applications.
The Twelve-Factor App methodology (by Heroku co-founder Adam Wiggins) defines best practices for cloud-native applications: 1) Codebase (one repo per app), 2) Dependencies (explicitly declared), 3) Config (stored in environment variables), 4) Backing Services (treated as attached resources), 5) Build/Release/Run (strictly separated stages), 6) Processes (stateless and share-nothing), 7) Port Binding (self-contained web servers), 8) Concurrency (scale via processes), 9) Disposability (fast startup, graceful shutdown), 10) Dev/Prod Parity (keep environments similar), 11) Logs (treat as event streams), 12) Admin Processes (run as one-off tasks). These principles align naturally with container deployments and cloud platforms.