Twelve-Factor App
The Twelve-Factor App is a methodology for building modern, cloud-native software-as-a-service applications. It provides a set of best practices and principles for designing apps that are resilient, scalable, maintainable and suitable for deployment on cloud platforms.
The twelve factors include guidelines like using declarative formats for setup, minimizing divergence between development and production environments, storing configuration in the environment, and designing stateless processes. For example, a Twelve-Factor app would store configurations and credentials in environment variables rather than config files, and its processes would not depend on in-memory sessions or files stored locally. This makes the app easier to scale horizontally across multiple containers. The Twelve-Factor methodology emphasizes loose coupling, service isolation and portability to simplify deployments to the cloud.