El diagrama que todo el mundo dibuja es el del camino feliz: el usuario llega a la aplicación, la aplicación llega a la base de datos, y listo. Está bien para una pizarra y no sirve para operar un sistema. Producción tiene otra forma, porque producción tiene que sobrevivir a picos de tráfico, fallos de nodos, despliegues y alguna que otra mala tarde. Visualizar esa realidad, y no el boceto ordenado, es lo que convierte un diagrama en una herramienta operativa.
El truco es dejar de dibujar "qué habla con qué" y empezar a dibujar tres vistas superpuestas: la ruta del tráfico, los dominios de fallo y los límites de escalado. La mayoría de los diagramas de producción son confusos porque intentan mostrar las tres a la vez sin intención. Dibújalas a propósito y la imagen se convierte en algo con lo que de verdad puedes razonar a las 3 de la madrugada.
Vista uno: la ruta del tráfico
Sigue una sola petición desde el mundo exterior hasta los datos y de vuelta, y dibuja cada salto que realmente da. En producción es más larga de lo que admite el boceto:
- Una CDN o un edge delante, que sirve los aciertos de caché antes de que tu origen los vea.
- Un balanceador de carga que reparte el tráfico entre instancias.
- Una capa de servidores de aplicación sin estado, no una sola caja.
- Una caché a la que llegan la mayoría de las lecturas antes que a la base de datos.
- Una base de datos primaria para las escrituras y réplicas de lectura para el resto.
- Una ruta asíncrona: una cola y workers para el trabajo que no debe hacerse en línea.
Vista dos: los dominios de fallo
Ahora dibuja las líneas que agrupan las cosas según "qué falla a la vez". Las zonas de disponibilidad son lo obvio: dos o tres columnas, con tu capa de aplicación y tu capa de datos repartidas entre ellas, para que la caída de una zona no te tumbe. Pero los dominios de fallo son más amplios que las zonas. Una caché compartida es un dominio. Una única base de datos primaria es un dominio. La cola es un dominio. Dibujar estos límites hace imposible pasar por alto tus puntos únicos de fallo, porque aparecen como la caja de la que depende todo y que no tiene pareja al lado.
Un diagrama de producción demuestra su valor en el momento en que te enseña la caja que no te puedes permitir perder.
Vista tres: los límites de escalado
Marca qué escala y cómo. La capa de aplicación escala horizontalmente, así que dibújala como un grupo que crece, no como una pareja fija. La base de datos escala de otra forma, verticalmente para las escrituras y horizontalmente con réplicas para las lecturas, y merece la pena mostrar esa asimetría porque es ahí donde los sistemas en producción se topan con un muro. Los grupos de autoescalado, los pools de workers que crecen según la profundidad de la cola y cualquier componente de capacidad fija merecen una nota visible. La historia del escalado es la mitad de la planificación de capacidad, y vive en esta vista.
No olvides las piezas que solo existen en producción
El documento de diseño las omite; producción no puede. La observabilidad (métricas, logs, trazas) toca casi todos los componentes. Los secretos y la configuración vienen de algún sitio. Hay un bastión o una vía de acceso privada para las personas. Las copias de seguridad se ejecutan contra la capa de datos. No hace falta dibujarlo todo en un solo diagrama, y no deberías, pero una imagen de producción que las omite todas es una ficción. Dale una caja a las importantes.
Mantenlo al día, o mentirá
Un diagrama de producción solo es útil si coincide con producción, y producción cambia constantemente. Por eso conviene derivarlo de tu Terraform o de tus manifiestos y regenerarlo con regularidad, en lugar de mantener con mimo a mano un dibujo que se va desviando. Combina el esqueleto generado con tus anotaciones, incrústalo en el runbook y actualízalo cuando la infraestructura cambie. Un diagrama de producción actualizado es uno de los documentos con más impacto que puede tener un equipo.
Dibuja la ruta del tráfico, marca los dominios de fallo, muestra los límites de escalado y genera la base a partir de la infraestructura real para que siga siendo fiel. Ese es el diagrama que de verdad quieres tener abierto durante un incidente.