Files
Vishvananda Abrams d0cfca4de8 initial commit
2024-10-16 08:03:59 -07:00

41 lines
1.9 KiB
Markdown

# Twelve-Factor Vision
The twelve-factor manifesto defines **ideal practices for app development** to
minimize fragility, foster maintainable growth, reduce collaboration friction,
and prevent software erosion. It provides a shared vocabulary for discussing
these practices and offers clear, actionable recommendations.
The essence of Twelve-Factor is a **clear contract between an application and
its execution platform.**
Twelve-Factor focuses on reducing cognitive load for the application developer
and offers prescriptive practices to limit the responsibilities and therefore
concerns of the application. These practices are most powerful when they are
implemented into application frameworks and cloud platforms, enabling
developers to **operationalize for free**.
The manifesto includes three types of content:
* **Factors:** the twelve most important principles for applications and
platforms to follow.
* **Examples:** descriptions that show how the principles apply in different
scenarios.
* **Guidelines:** concrete requirements for complying with the factors.
The content adheres to four basic tenets:
1. **Selective**: deliberately constrained, trading flexibility for focus and
shared understanding.
2. **Specific:** detailed enough to be used by developers, platforms, and
frameworks.
3. **Clear:** easy to understand and apply for all audiences.
4. **Relevant:** timeless concepts and up-to-date examples.
Following Twelve-Factor implies a loss of control at the application layer, but
**it rewards this sacrifice with substantial value.** This value comes from the
factors' emphasis on development practices that improve operability,
**addressing day-two concerns on day one**. As a result, a twelve-factor
application is secure, configurable, observable, predictable, and updatable.
These attributes enable it to scale with changing demand, integrate easily into
larger systems, and remain portable across platforms.