System Design Space
Knowledge graphSettings

Updated: February 21, 2026 at 11:59 PM

The Twelve-Factor App

mid

Heroku methodology for SaaS: codebase, dependencies, config, backing services, build/release/run and other cloud-native principles.

Source

The Twelve-Factor App

Original manifesto from Heroku developers

12factor.net

The Twelve-Factor App

Authors: Adam Wiggins and the Heroku team
Year: 2011
Format: Manifesto/methodology

A methodology for building modern SaaS applications based on experience in developing and operating hundreds of thousands of applications on the Heroku platform. 12 principles that ensure portability, scalability and maintainability.

Foundation

Operating system: overview

12‑Factor relies on a pure application contract with the OS.

Читать обзор

Why is this necessary?

The 12-Factor App is a set of principles for creating apps that:

Use declarative formats for automating setup
Have clean contract with OS for maximum portability
Suitable for cloud platforms without server administration
Scalable no architecture changes

Related topic

Cloud Native

Containers, Functions, Data - cloud-native development practices

Read review

Principles of the 12-Factor App

The 12 factors are grouped by application area. Click on a group to highlight related principles, or on a card for a detailed description:

Click on a group to highlight related principles

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

I.

Codebase

One codebase tracked in revision control, many deploys

One repository - many deployments. Each application has a single code base in Git, from which all environments are deployed.

The right approach
Git repo → dev, staging, prod deploys
Antipattern
Different branches for different environments

Foundation

Containerization

Containers are a practical implementation of the 12‑Factor approach.

Читать обзор

Modern Application

Containers

Docker and Kubernetes are the ideal implementation of 12-Factor: isolation, port binding, env vars, disposability.

Serverless

AWS Lambda, Cloud Functions - stateless processes, automatic scaling, managed by backing services.

GitOps

ArgoCD, Flux - declarative configuration, versioning of everything, automated deployments.

Beyond Twelve-Factor

Since 2011, the industry has evolved. Modern practices complement the original 12 factors:

XIII.API First — API design before implementation
XIV.Telemetry - built-in monitoring and observability
XV.Security — security as part of design (DevSecOps)

Main conclusions

12-Factor - the foundation of cloud-native development
Stateless processes are the key to horizontal scaling
Configuration via env vars, not via files
Backing services as connected resources
Dev/prod parity minimizes surprises in production
Logs are event streams, not files

Source

12factor.net
Original manifesto

Enable tracking in Settings

System Design Space

© 2026 Alexander Polomodov