Aplicaciones de doce Factores

Introducción

En este post quisiera compartir lo que encuentro relevante de las apliaciones de 12 factores, aunque puedes encontrar su descripción completa en la pagina https://12factor.net/ (en mi caso lo tomo como apuntes y recordatorio de como se debiera estructurar una aplicación actualmente).

Que significa una aplicación de 12 factores

  • En la era moderna, el software se entrega comúnmente como un servicio: llamadas aplicaciones web o software como servicio . La aplicación de doce factores es una metodología para crear aplicaciones de software como servicio.

  • La metodología de doce factores (12 Factor) fue creada en el año 2012 por varios desarrolladores de aplicaciones en Heroku y consiste en un enfoque o filosofía de trabajo en la que se deben considerar doce principios para desarrollar aplicaciones en la nube (Cloud Computing Apps). A través de estos 12 puntos clave se facilita la construcción correcta y el desarrollo óptimo de un servicio en la nube.

Los Doce Factores

I. Base de código (Codebase)

  • Seguimiento de una base de código en el control de revisiones, muchas implementaciones

II. Dependencias (Dependencies)

  • Declarar y aislar dependencias explícitamente

III. Configuración (Config)

  • Almacenar la configuración en el entorno

IV. Servicios de respaldo (Backing services)

  • Trate los servicios de respaldo como recursos adjuntos

V. Construir, lanzar, ejecutar (Build, release, run)

  • Etapas de construcción y ejecución estrictamente separadas

VI. Procesos (Process)

  • Ejecute la aplicación como uno o más procesos sin estado

VII. Enlace de puerto (Port binding)

  • Exportar servicios a través de la vinculación de puertos

VIII. Concurrencia (Concurrency)

  • Escalar horizontalmente a través del modelo de proceso

IX. Desechabilidad (Disposability)

  • Maximice la solidez con un inicio rápido y un apagado elegante

X. Paridad desarrollo / producción (Dev/prod parity)

  • Mantenga el desarrollo, la puesta en escena y la producción lo más similar posible

XI. Registros (Logs)

  • Trate los registros como transmisiones de eventos

XII. Procesos de administración (Admin processes)

  • Ejecute tareas de administración / gestión como procesos únicos

  • Ayudame a seguir generando esta clase de contenido con tu aporte voluntario, escribeme a mi correo hernandez.hs@gmail.com y tomemonos un cafe Donate