Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.91 KB

File metadata and controls

40 lines (32 loc) · 1.91 KB

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.