¿Es correcta la metodología de la aplicación Twelve-Factor?

Doce factores son “correctos” en el sentido de que si lo sigue al pie de la letra, su capa de aplicación se puede escalar fácilmente horizontalmente.

También es bastante aceptable como un conjunto de mejores prácticas. Eso no quiere decir que nunca debas desviarte de ellos, pero si lo haces, debes saber por qué te estás desviando de ellos si lo haces.

Mucho de 12 Factor no es nuevo, es una colección de cosas que se consideran las mejores prácticas en lenguaje de script y comunidades de desarrollo web. Esto es algo bueno, ya que significa que han sido examinados durante años y cuentan con el respaldo del ecosistema de software. Donde 12 Factor se desvía (como la configuración), hace un trabajo bastante bueno.

Me he encontrado con algunas deficiencias de 12 Factor. Estoy seguro de que hay otros, pero estos son los que he encontrado.

  • Las variables de configuración son buenas para cadenas y números, pero no para listas o mapas de valores.
  • El uso del control de versiones para los valores de configuración es conveniente para configurar nuevos desarrolladores, y el control de versiones de los valores de configuración es una buena ventaja.
  • A veces, el estado en el servidor es realmente una buena idea y se puede hacer sin dañar la escalabilidad horizontal, como el almacenamiento en caché de una estructura de datos compleja. 12 Factor no lo permite.