Intro to the Twelve-Factor App
The Twelve-Factor App is a methodology with 12 different aspects or factors that cover good practices to follow while designing a web system. They aim to provide clarity and simplify some of the possibilities, detailing patterns that are known to work.
The factors are generic enough to not be prescriptive in how to implement them or force the use of specific tools, and at the same time, give clear direction. The Twelve-Factor App Methodology is opinionated in the sense that it aims to cover cloud services in a scalable way, and also promotes the idea of Continuous Integration (CI) as a critical aspect of these kinds of operations. This also leads to a reduction in the differences between a local, development environment and a production environment.
These two aspects, consistency between local and production deployments, and CI, interact, as it allows the system to be tested in a consistent way, both in a development environment and while running...