Back to glossary

Twelve-Factor App

A methodology of twelve best practices for building modern, scalable, and maintainable software-as-a-service applications that are portable across execution environments and suitable for cloud deployment.

The Twelve-Factor App methodology, published by Heroku co-founder Adam Wiggins, defines twelve principles for building cloud-native applications: codebase (one repo per app), dependencies (explicitly declared), config (stored in environment), backing services (treated as attached resources), build/release/run (strictly separated stages), processes (stateless and share-nothing), port binding (self-contained), concurrency (scale via process model), disposability (fast startup, graceful shutdown), dev/prod parity (keep environments similar), logs (treat as event streams), and admin processes (run as one-off processes).

These principles guide architectural decisions that make applications operationally excellent in cloud environments. Following twelve-factor principles ensures your application can scale horizontally, deploy frequently, recover from failures quickly, and run consistently across development, staging, and production.

For AI applications, twelve-factor principles are especially relevant. Stateless processes ensure model serving scales horizontally. Config in environment variables makes it easy to switch model endpoints between environments. Treating logs as event streams enables model performance monitoring. Disposability supports rapid model deployment and rollback.

Related Terms