๐ŸŽ New User? Get 20% off your first purchase with code NEWUSER20 ยท โšก Instant download ยท ๐Ÿ”’ Secure checkout Register Now โ†’
Menu

Categories

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.

Related Terms

Algorithm
A step-by-step procedure for solving a problem or performing a computation, defined as a finite sequence of instructions.
Composition over Inheritance
A design principle favoring object composition (has-a relationships) over class inheritance (is-a relationships) for code reuse.
Memoization
An optimization technique that caches function results for given inputs, avoiding redundant computations for repeated calls.
Clean Code
Code that is easy to read, understand, and maintain โ€” following consistent conventions, meaningful naming, and single-responsibility functions.
API Design
The practice of designing application programming interfaces that are consistent, intuitive, and maintainable for developers to consume.
Race Condition
A bug that occurs when the behavior of software depends on the timing or order of uncontrolled events like thread scheduling.
View All Programming Concepts Terms โ†’