The Twelve-Factor App es una metodología (conjunto de recomendaciones para ser más exacto) para construir aplicaciones Software-As-A-Service.
Estas normas aplican a cualquier lenguaje de programación y a cualquier combinación de Backend Services (Base Datos, colas, caché,…):
Aparte de los 12 factores me parece muy interesante las recomendaciones:
· Usar formatos declarativos para automatizar el setup
· Reducir el tiempo y coste para que los desarrolladores empiecen a trabajar en el proyecto (fundamental!)
· Ofrecer portabilidad entre entornos de ejecución
· Estar preparadas para el despliegue en entornos Cloud
· Minimizar las divergencias entre desarrollo y producción
· Habilitar el despliegue continuo para maximizar la agilidad
· Escalar sin cambios significativos en las herramientas, arquitectura y prácticas de desarrollo
Van aquí los 12 Factores:
I. Codebase
One codebase tracked in revision control, many deploys
II. Dependencies
Explicitly declare and isolate dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as attached resources
V. Build, release, run
Strictly separate build and run stages
VI. Processes
Execute the app as one or more stateless processes
VII. Port binding
Export services via port binding
VIII. Concurrency
Scale out via the process model
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity
Keep development, staging, and production as similar as possible
XI. Logs
Treat logs as event streams
XII. Admin processes
Run admin/management tasks as one-off processes

Deja un comentario