Saltar al contenido
AKOS
Todos los packs
StableArquitecturatwelve-factor-app

Twelve-Factor App

Operationalizes the twelve-factor methodology for building deployable, scalable, portable services: config via environment, stateless processes, explicit dependency declaration, disposability, dev/prod parity, and more.

deploymentconfigstatelessnesscloud-nativedevopsportability

Principios

  • · Aplica los principios documentados en el pack twelve-factor-app.

Patrones

  • · Grep for hardcoded config. URLs, credentials, feature flags in source (even in a "config file" committed to git) — should be env vars supplied at runtime.
  • · The "kill -9 test": can the process be killed at any random moment with no data loss and a clean restart? If not, state has leaked into the process.
  • · The "clone and run" test: can a new team member clone the repo, set env vars, and run the app with zero manual steps beyond documented setup? Friction here signals dependency/config problems.
  • · The "scale by cloning" test: can load be handled by running more identical processes rather than making one process bigger/more complex? If not, statelessness may be violated.
  • · Backing-service swap test: could the local dev database be swapped for a different provider by changing one config value, with zero code changes? If not, the backing service isn't properly abstracted.

Riesgos

  • · Ver anti-patrones específicos del dominio en el pack.

Checklist

  • [ ] No secrets/credentials/environment-varying config committed to source control. (TF1)
  • [ ] Processes hold no correctness-critical state beyond current request/job; state lives in a backing service. (TF3)
  • [ ] Dependencies fully declared with a lockfile; no reliance on pre-installed system packages. (TF2)
  • [ ] Graceful shutdown (SIGTERM handling) implemented; startup time bounded and short. (TF6)
  • [ ] Admin/one-off tasks run with the same codebase/config as the live app. (TF9)
  • [ ] Logs written to stdout/stderr, not self-managed files. (TF8)

Fuentes

En la bibliografía AKOS

Este pack cita las siguientes fuentes registradas en el índice bibliográfico:

Explorar todas las fuentes →