🎁 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

Algorithm
A step-by-step procedure for solving a problem or performing a computation, defined as a finite sequence of instructions.
Functional Programming
A programming paradigm that treats computation as the evaluation of mathematical functions, avoiding state changes and mutable data.
DRY (Don't Repeat Yourself)
A software development principle that aims to reduce code duplication by abstracting common patterns into reusable components.
Unit Testing
Testing individual components or functions of a program in isolation to verify they work correctly.
Agile
A software development methodology that emphasizes iterative development, collaboration, and rapid response to change.
Singleton Pattern
A design pattern that restricts a class to a single instance and provides a global point of access to that instance.
View All Programming Concepts Terms →