AgentSkillsCN

fifteen-factor-app

现代云原生SaaS应用的十五因素应用方法论。当规划SaaS工具、产品软件架构、微服务设计、PRP/PRD,或云原生应用开发时,应自动调用此技能。在原有十二因素应用原则基础上新增三个因素(API优先、遥测、安全)。触发关键词包括“十五因素”、“12因素”、“SaaS架构”、“云原生设计”、“应用架构”、“微服务最佳实践”,或处于规划/架构会议时。

SKILL.md
--- frontmatter
name: fifteen-factor-app
description: The Fifteen-Factor App methodology for modern cloud-native SaaS applications. This skill should be automatically invoked when planning SaaS tools, product software architecture, microservices design, PRPs/PRDs, or cloud-native application development. Extends the original Twelve-Factor App principles with three additional factors (API First, Telemetry, Security). Trigger keywords include "fifteen factor", "12 factor", "SaaS architecture", "cloud-native design", "application architecture", "microservices best practices", or when in a planning/architecture session.
user-invocable: false

Fifteen-Factor App Methodology

Overview

The Fifteen-Factor App methodology extends the original Twelve-Factor App principles (created by Heroku in 2012) with three additional factors essential for modern cloud-native applications: API First, Telemetry, and Security.

This methodology provides architectural principles and guidelines for building software-as-a-service applications that are:

  • Performant - Optimised for speed and efficiency
  • Scalable - Designed for horizontal scaling without significant changes
  • Manageable - Easy to deploy, monitor, and maintain
  • Resilient - Robust against failures with graceful degradation

When to Apply This Methodology

Apply the Fifteen-Factor principles during:

  1. Architecture Planning - When designing new applications or microservices
  2. PRP/PRD Creation - When documenting technical requirements and specifications
  3. Code Reviews - When evaluating whether implementations follow best practices
  4. Migration Planning - When modernising legacy applications for cloud deployment
  5. Technical Debt Assessment - When identifying architectural improvements

The Fifteen Factors at a Glance

FactorPrincipleKey Concept
I. CodebaseOne codebase, many deploysSingle repo per app, version controlled
II. DependenciesExplicitly declare and isolateNo implicit system-wide packages
III. ConfigStore in environmentNever hardcode configuration
IV. Backing ServicesTreat as attached resourcesDatabases, caches are swappable resources
V. Build, Release, RunStrict separationImmutable releases, no runtime changes
VI. ProcessesStateless and share-nothingHorizontal scaling, no sticky sessions
VII. Port BindingExport via portSelf-contained, no runtime injection
VIII. ConcurrencyScale out via process modelHorizontal over vertical scaling
IX. DisposabilityFast startup, graceful shutdownMaximise robustness
X. Dev/Prod ParityKeep environments similarContinuous deployment
XI. LogsTreat as event streamsSeparate generation from processing
XII. Admin ProcessesRun as one-off processesSame environment as app
XIII. API FirstDesign contracts firstEnable parallel development
XIV. TelemetryMonitor everythingAPM, health checks, domain metrics
XV. SecurityAuthentication & AuthorisationRBAC, identity per request

Architecture Checklist

When creating a PRP, PRD, or architecture plan, evaluate the design against each factor. Use this checklist for quick validation:

code
□ Single codebase in version control
□ All dependencies explicitly declared
□ Configuration externalised to environment
□ Backing services abstracted and swappable
□ Build, release, run stages separated
□ Stateless processes (no sticky sessions)
□ Services self-contained with port binding
□ Designed for horizontal scaling
□ Fast startup and graceful shutdown
□ Dev/staging/prod environments aligned
□ Logs streamed to external aggregator
□ Admin tasks automated and reproducible
□ API contracts defined before implementation
□ Telemetry: APM, health checks, metrics
□ Security: Authentication and authorisation

Resources

Detailed documentation for each factor is available in the references directory:

  • references/overview.md - Complete factor summary with diagrams
  • references/original-factors.md - Factors I-XII with implementation examples
  • references/modern-extensions.md - Factors XIII-XV (API First, Telemetry, Security)
  • references/setup-and-tools.md - Tooling recommendations and quick start

Read the appropriate reference file for detailed guidance on specific factors.