Twelve-Factor App

Noun · Development · Origin: 2011

Definitions

  1. A methodology for building software-as-a-service applications, published by Heroku engineers in 2011, that codifies twelve practices for apps intended to run on modern cloud platforms. The central commitments are storing configuration in the environment rather than in code, treating backing services as attached resources swappable by URL, keeping processes stateless and share-nothing so they can be scaled horizontally, and maintaining strict parity between development and production. It also calls for explicit dependency declaration, logs as event streams written to stdout rather than files, and disposable processes with fast startup and graceful shutdown. The manifesto predates Kubernetes but describes almost exactly the application shape containers assume, which is why it remains the default mental model for cloud-native design even where its specifics have aged.

    In plain English: A set of twelve best practices for building web applications that are easy to deploy, scale, and maintain — like a checklist for modern software architecture.

Related Terms