Publicado el

Detectar la deriva

La deriva es la distancia entre lo que dice el código y lo que existe de verdad. Siempre aparece; lo que distingue a una infraestructura sana es que la detecta pronto y decide qué hacer con cada diferencia.

Línea de servicio Automatización e IaC

La deriva siempre llega

Por mucha disciplina que haya, la realidad se aleja del código: un cambio de urgencia hecho a mano, un ajuste automático del proveedor, una actualización que modificó una configuración. A esa distancia se le llama deriva.

No es un fracaso que exista. Es un fracaso no saberlo. La deriva no detectada es la que provoca que un cambio inocente en el código "deshaga" un arreglo de urgencia que nadie trasladó, o que un entorno reconstruido desde código no se comporte como el original.

Comprobar con calendario

Diferencias entre código y realidadNúmero de diferencias en doce semanas: con comprobación diaria se mantiene bajo; cada diferencia exige una decisión.IAC · DERIVADiferencias entre código y realidad05101520s1s2s3s4s5s6s7s8s9s10s11s12comprobación diariacomprobación cada dos semanascomprobación y correcciónCADA DIFERENCIA, UNA DECISIÓNLa realidad tenía razónse lleva al códigoEl código tiene razónse vuelve a aplicarDejarla estarno es una opciónDatos ilustrativos, no corresponden a ningún caso realN100F · n100f.com

La detección se hace de forma periódica y automática:

  • Para la infraestructura: se calcula el plan contra el entorno sin aplicarlo. Si el plan no está vacío, hay deriva.
  • Para los servidores: se comprueba cada uno contra su línea base, como vimos en el artículo anterior.

Cuanto más frecuente es la comprobación, más pequeñas son las diferencias y más fácil es saber de dónde salieron.

Cada diferencia, una decisión

Detectar no basta: cada diferencia exige elegir entre dos caminos.

  1. La realidad tenía razón. El cambio a mano era necesario (por ejemplo, un ajuste de urgencia). Se lleva al código, se revisa y se aplica formalmente.
  2. El código tiene razón. El cambio a mano no debía existir. Se vuelve a aplicar el código para devolver la realidad a lo declarado.

Lo que no vale es la tercera opción, la más habitual: dejarla estar. Cada deriva ignorada hace la siguiente más difícil de entender.

Reducir la fuente

La mejor forma de tener poca deriva es dejar poco margen para crearla: permisos de escritura en la consola solo para emergencias, con registro de quién los usa, y la regla de que todo cambio de urgencia se traslada al código ese mismo día.

Con la realidad y el código alineados, se puede afrontar lo que más miedo da: cambiar cosas importantes en producción.


Cómo lo aplicamos: Automatización e IaC.

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

Conversemos