Publicado el

Entornos que se parecen de verdad

Aceptación solo sirve si se parece a producción. Qué puede cambiar entre entornos, qué no debe cambiar nunca y cómo mantener esa diferencia escrita y pequeña.

Línea de servicio Ingeniería de Plataforma

Cuando aceptación miente

Una aplicación pasa todas las pruebas en aceptación y falla en producción. Al investigar aparece la diferencia: otra versión del sistema operativo, otra configuración de red, un servicio que en aceptación estaba simulado y en producción no. Aceptación no estaba probando lo que iba a pasar en producción; estaba probando otra cosa.

Lo que cambia y lo que no

Qué puede cambiar entre entornosMatriz de tres entornos: lo que nunca varía y lo que puede variar si está escrito.PLATAFORMA · ENTORNOSQué puede cambiar y qué noDesarrolloAceptaciónProducciónNUNCA VARÍAArtefacto (huella)idénticoidénticoidénticoPlataforma y versionesidénticoidénticoidénticoMétodo de despliegueidénticoidénticoidénticoForma de la configuraciónidénticoidénticoidénticoPUEDE VARIAR, SI ESTÁ ESCRITOTamañomenormenorcompletoDatospruebapruebarealesValores de secretospropiospropiospropiosDireccionespropiaspropiaspúblicasMismos entornos creados con el mismo código, distintos parámetros.Lo que se configuró a mano acaba siendo distinto.N100F · n100f.com

Entre entornos hay diferencias legítimas y diferencias peligrosas.

Pueden variar, siempre que estén escritas:

  • El tamaño (menos capacidad en desarrollo).
  • Los datos (en aceptación, datos de prueba o anonimizados; nunca personales reales sin protección).
  • Los valores de los secretos (mismos nombres, distintos valores).
  • Las direcciones de publicación.

No deben variar nunca:

  • El artefacto desplegado (la misma huella, como vimos en el artículo anterior).
  • La plataforma de ejecución y sus versiones.
  • El método de despliegue.
  • La forma de la configuración: las mismas claves, aunque cambien los valores.

Cómo se mantiene

  • La configuración por entorno vive aparte del código y tiene la misma estructura en todos.
  • Las diferencias están en un solo sitio, generalmente el registro, y no repartidas en scripts.
  • Los entornos se crean con el mismo código de infraestructura, con parámetros distintos. Si un entorno se configuró a mano, tarde o temprano será distinto de los demás.
  • Se comparan periódicamente: una revisión automática detecta lo que se ha ido separando.

Con artefactos idénticos y entornos comparables, queda la última protección antes de publicar: validar todo lo que se pueda comprobar sin que nadie tenga que mirarlo.


Cómo lo aplicamos: Ingeniería de Plataforma.

Si tu costo cloud crece sin que nadie sepa por qué, o tu arquitectura depende de quien la montó, conversemos.

Conversemos