-
Sistematiza los procedimientos declarativos para automatizar la configuración y así minimizar el tiempo y costo que implica incorporar a nuevos desarrolladores al proyecto.
-
Aclara qué partes varían según el sistema operativo y maximiza la portabilidad entre entornos de ejecución.
-
Es adecuada para el despliegue en plataformas cloud surgidas recientemente y elimina la necesidad de administrar servidores y sistemas.
-
Hace posible la entrega continua para minimizar la diferencia entre el entorno de desarrollo y el de producción y maximizar la agilidad.
-
Permite escalar sin cambiar drásticamente las herramientas, la arquitectura ni la forma de desarrollo.
** The Twelve Factors **
I. Codebase - Una sola base de código bajo control de versiones y múltiples despliegues
II. Dependencias - Dependencias declaradas explícitamente y aisladas
III. Configuración - Configuración almacenada en el entorno (environment)
IV. Servicios de respaldo - Tratar los servicios de backend como recursos conectados
V. Build, release, run - Etapas de compilación y ejecución estrictamente separadas
VI. Procesos - Ejecutar la aplicación como uno o varios procesos sin estado (stateless)
VII. Port binding - Publicar servicios usando port binding
VIII. Concurrencia (Concurrency) - Escalado mediante el modelo de procesos
IX. Desechabilidad (Disposability) - Maximizar la solidez mediante inicio rápido y apagado elegante (graceful shutdown)
X. Paridad entre desarrollo y producción - Mantener desarrollo, staging y producción lo más similares posible
XI. Logs - Tratar los logs como un flujo de eventos
XII. Procesos de admin - Ejecutar tareas de admin/mantenimiento como procesos de una sola ejecución
Aún no hay comentarios.