🎁 New User? Get 20% off your first purchase with code NEWUSER20 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

Observer Pattern
A design pattern where an object (subject) maintains a list of dependents (observers) that are notified automatically of state changes.
Unit Testing
Testing individual components or functions of a program in isolation to verify they work correctly.
Data Structure
A way of organizing and storing data in a computer so it can be accessed and modified efficiently.
Race Condition
A bug that occurs when the behavior of software depends on the timing or order of uncontrolled events like thread scheduling.
Design Pattern
A reusable solution template for commonly occurring problems in software design.
Linked List
A linear data structure where elements are stored in nodes, each containing data and a pointer to the next node in the sequence.
View All Programming Concepts Terms →