๐ŸŽ 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

Composition over Inheritance
A design principle favoring object composition (has-a relationships) over class inheritance (is-a relationships) for code reuse.
Version Control
A system that records changes to files over time, allowing you to recall specific versions, collaborate, and track history.
Thread
The smallest unit of execution within a process, allowing concurrent operations to run within a single program.
Race Condition
A bug that occurs when the behavior of software depends on the timing or order of uncontrolled events like thread scheduling.
Hash Table
A data structure that maps keys to values using a hash function, providing average O(1) time complexity for lookups, insertions, and deletions.
DRY (Don't Repeat Yourself)
A software development principle that aims to reduce code duplication by abstracting common patterns into reusable components.
View All Programming Concepts Terms โ†’