Twelve Factor App
The Twelve-Factor App is a methodology for building software-as-a-service applications that are portable, deployable on modern cloud platforms, and scalable without significant architectural changes. Originally published in 2011 by Adam Wiggins (Heroku), the methodology was open-sourced in November 2024 and is now actively maintained at github.com/heroku/12factor with community-driven updates for Kubernetes, containers, and GitOps workflows.
SOURCE: https://12factor.net/blog/open-source-announcement (accessed 2026-02-26)
The Twelve Factors
| Factor | Principle |
|---|
| I. Codebase | One codebase tracked in revision control, many deploys |
| II. Dependencies | Explicitly declare and isolate dependencies |
| III. Config | Store config in the environment |
| IV. Backing services | Treat backing services as attached resources |
| V. Build, release, run | Strictly separate build and run stages |
| VI. Processes | Execute the app as one or more stateless processes |
| VII. Port binding | Export services via port binding |
| VIII. Concurrency | Scale out via the process model |
| IX. Disposability | Maximize robustness with fast startup and graceful shutdown |
| X. Dev/prod parity | Keep development, staging, and production as similar as possible |
| XI. Logs | Treat logs as event streams |
| XII. Admin processes | Run admin/management tasks as one-off processes |
Modern Extensions (Beyond 12-Factor)
Three additional factors are widely adopted in cloud-native practice, established by Kevin Hoffman's Beyond the Twelve-Factor App (O'Reilly, 2016) and formalized in the 15-factor methodology:
| Factor | Principle |
|---|
| XIII. API-First | Design and publish the service API contract before implementing the backing logic |
| XIV. Telemetry | Treat observability (metrics, traces, structured logs) as a first-class operational requirement |
| XV. Authentication and Authorization | Elevate identity, authn, and authz to first-class concerns in service design |
SOURCE: https://www.oreilly.com/library/view/beyond-the-twelve-factor/9781492042631/ (accessed 2026-02-26)
Reference Categories
Methodology Overview
Background, goals, target audience, and design philosophy.
Codebase and Dependencies (Factors I and II)
Version control discipline and explicit dependency management.
Configuration and Backing Services (Factors III and IV)
Environment-based config and treating backing services as swappable attached resources.
Build, Release, Run (Factor V)
Strict separation of the three stages that transform a codebase into a running deploy.
Processes and Port Binding (Factors VI and VII)
Stateless share-nothing process execution and self-contained service export via port binding.
Concurrency and Disposability (Factors VIII and IX)
Scaling via the process model and building robust disposable processes.
Dev/Prod Parity and Logs (Factors X and XI)
Minimizing environment gaps and treating logs as event streams.
Admin Processes (Factor XII)
Running one-off administrative and maintenance tasks as processes in the same environment as the app.
Modern Evolution
Open-source governance, narrow-conduit concept, 15-factor extensions, Reactive Principles, and monolith modernization patterns.
Quick Compliance Checklist
Use this to audit an application against the methodology: