The 12-Factor App Methodology Explained
Writing Application Code Predates Most Cloud Solutions—Solutions That Most Application Programmers Write Specifically for These Days. to Handle This...
Writing application code predates most cloud solutions—solutions that most application programmers write specifically for these days.
To handle this dissonance, the 12-Factor App methodology has emerged. The 12 factors is an approach that helps programmers write modern apps in a declarative way, using clear contracts deployed via cloud.
In this article, I’ll introduce the 12-factor app methodology and offer a high-level summary of its principles.
What is the 12-Factor app methodology?
In 2012, programmers at Heroku debuted the 12-Factor app methodology. These programmers have developed and deployed hundreds of apps wrote this methodology, drawing on their experience of seeing SaaS apps “in the wild”.
This group considers the methodology a triangulation of:
- Ideal practices to support app development
- The dynamics that occur as an app grows organically
- The relationship and collaboration between codebase developers
- To help avoid software erosion costs
- To raise awareness of systemic problems they’ve observed in modern app development
The group points to two inspirational sources, Patterns of Enterprise Application Architecture and Refactoring, both by professional developer Martin Fowler.
And now, I’ll introduce each of the 12 factors.
Must Read
Principle I. Codebase
“One codebase tracked in revision control, many deploys”
Your code base should have a logical version control system that’s easy to understand.
Every deployment should have its own code repository that can be deployed to multiple environments. Avoid housing multiple applications in the same repository. This makes version control almost impossible to understand and versions will get tangled up, resulting in non-value-added work.