Die Twelve-Factor App ist eine Methodik mit zwölf Prinzipien für den Bau moderner, cloudtauglicher Software-as-a-Service-Anwendungen. Sie wurde 2011 von Adam Wiggins, einem Mitgründer von Heroku, erstmals veröffentlicht und gilt seither als Referenz für portable, skalierbare und betriebsfreundliche Anwendungen. Die zwölf Prinzipien sind: Codebase, Dependencies, Config, Backing Services, Build/Release/Run, Processes, Port Binding, Concurrency, Disposability, Dev/Prod Parity, Logs und Admin Processes.
Eingesetzt werden die Twelve-Factor-Prinzipien als architektonische Leitplanken bei der Entwicklung von Web-Applikationen, Microservices, Hintergrunddiensten und API-Backends, die in PaaS-Umgebungen (Heroku, Cloud Foundry, Azure App Service) oder Container-Plattformen (Kubernetes) betrieben werden sollen. Insbesondere die Trennung von Code, Konfiguration und Umgebung sowie das Modell "Logs als ungeordneter Event-Stream nach stdout" sind heute selbstverständlicher Bestandteil moderner Build-Pipelines und Container-Bilder.
Der Einsatzzweck und das gelöste Problem liegen in der Kompatibilität mit Plattformen, die Anwendungen automatisiert bauen, deployen und skalieren wollen. Klassische Anwendungen, die Konfiguration in Dateien neben der Binärdatei ablegen, Logs in lokale Dateien schreiben oder lange laufende Hintergrundprozesse pflegen, lassen sich nur schwer in elastischen Umgebungen betreiben. Die Twelve-Factor-Prinzipien adressieren diese Reibung systematisch und bieten eine Checkliste, die Anwendungen "cloud-ready" macht. Auch wenn manche Punkte heute durch Container, Service Meshes und Kubernetes-Features ergänzt werden, bleibt die Liste konzeptionell gültig.
Die Twelve-Factor-Methodik entstand aus der Heroku-Plattform-Erfahrung, die Mitte der 2000er Jahre Tausende von Ruby-, Node.js-, Python-, PHP- und Java-Anwendungen aus dem Stand betreiben musste. 2017 wurde unter dem Stichwort "Beyond the Twelve-Factor App" (Kevin Hoffman, O'Reilly) eine erweiterte Liste mit weiteren Prinzipien — API-First, Telemetry, Authentication and Authorization — vorgestellt, die die ursprünglichen zwölf für die Microservice-Welt aktualisiert.
Eingeführt wurde die Methodik von Adam Wiggins gemeinsam mit James Lindenbaum, Orion Henry und weiteren Heroku-Engineers. Heroku selbst war Anfang der 2010er Jahre die "Anschauungsmaschine" der Twelve-Factor-Prinzipien — die Plattform-Bedingungen erzwangen ihre Einhaltung schlicht durch das Deployment-Modell. Das hat die Verbreitung der Liste maßgeblich befördert: Wer auf Heroku deployen wollte, musste die Prinzipien implizit befolgen. Dass viele dieser Prinzipien heute in Kubernetes, OpenShift und ähnlichen Plattformen wiederzufinden sind, ist kein Zufall, sondern eine direkte Linie aus der Heroku-Frühzeit.