Saltar al contenido
aprendeaws.dev

Módulo 15 · Arquitectura y migración/Lección 96

Documentar una arquitectura

Diagramas de contexto, lógicos y de despliegue, decisiones registradas, supuestos y riesgos: lo que permite que otros entiendan y defiendan un diseño.

⏱ 10 min

Al terminar podrás

  • →Elegir el nivel de diagrama correcto para cada audiencia
  • →Registrar decisiones con ADR
  • →Declarar supuestos, riesgos y temas abiertos

Un diseño que vive solo en la cabeza de quien lo hizo no se puede revisar, operar ni defender. Documentar una arquitectura no es llenar plantillas: es dejar claro qué existe, por qué se eligió así, qué se supuso y qué falta decidir.

Un diagrama por nivel

El modelo C4 (c4model.com) propone diagramas por niveles de zoom: contexto, contenedores, componentes y código, más diagramas de apoyo como el de despliegue. Para una arquitectura en la nube, tres niveles cubren casi todo:

CriterioContextoContenedores (lógico)Despliegue
Pregunta que responde¿Qué es el sistema y con quién habla?¿De qué piezas está hecho y cómo se comunican?¿Dónde corre cada pieza?
Qué muestraEl sistema como una caja, sus usuarios y los sistemas externosAplicaciones, APIs, bases de datos, colas y sus flujosProveedor → región → zona → red → subred → plataforma → carga
AudienciaNegocio, dirección, otros equiposArquitectos y desarrolladoresOperaciones, seguridad, auditoría
Qué no llevaTecnologías ni servicios de AWSIPs, subredes ni zonasLógica de negocio

En C4, «contenedor» significa una unidad que se ejecuta o guarda datos (una aplicación web, una API, una base de datos), no necesariamente un contenedor Docker. Las vistas de plano de este curso siguen el estilo del nivel de despliegue: mira la de la ciudad VPC, que va de la región a la subred y al servicio.

Lo que todo diagrama debe decir

  • Título y propósito: qué muestra y para qué decisión sirve.
  • Versión, fecha y estado: borrador, propuesto, aprobado u obsoleto.
  • Leyenda: qué significa cada color, línea y forma. Sin leyenda, cada lector inventa la suya.
  • Supuestos y decisiones abiertas: lo que no está resuelto también se dibuja, marcado como tal.
  • Flujo consistente: de izquierda a derecha, usuarios a la izquierda y datos a la derecha, en todos los diagramas del sistema.
  • Límites de confianza: dónde cambia el nivel de confianza. Internet → borde, una cuenta → otra, tu sistema → un tercero. Ahí van los controles de seguridad, y ahí mira primero un revisor.
  • AWS Architecture Icons

    Los símbolos estándar del mapa

    El paquete oficial de iconos de AWS, para PowerPoint y como archivos sueltos. Se actualiza varias veces al año: usa la versión vigente.
  • AWS Architecture Center

    Arquitecturas de referencia, guías y patrones por industria y caso de uso. Buen punto de partida antes de dibujar desde cero.
  • AWS Well-Architected Tool

    Revisa una carga contra los pilares de Well-Architected y lentes especializados, como el SaaS Lens, y deja registro de riesgos y mejoras.

Registrar decisiones con ADR

Un diagrama dice qué. Un registro de decisión de arquitectura (ADR, Architecture Decision Record) dice por qué. Es un documento corto con cuatro partes: contexto, decisión, alternativas consideradas y consecuencias, buenas y malas.

ADR-007: Base de datos de pedidos en Aurora PostgreSQL
Estado: Aceptada · 2026-10-14 · Reemplaza a: ninguna

Contexto
  Los pedidos necesitan transacciones entre tablas y reportes en SQL.
  El equipo ya opera PostgreSQL. Objetivos: RPO 1 minuto, RTO 30 minutos.

Decisión
  Aurora PostgreSQL Multi-AZ en la región principal, con Aurora Global
  Database hacia una región secundaria.

Alternativas consideradas
  - DynamoDB: escala sin esfuerzo, pero los reportes ad hoc son difíciles.
  - PostgreSQL en EC2: más control, mucha más operación (parches, réplicas).

Consecuencias
  + Cambio de región administrado; sin curva de aprendizaje para el equipo.
  - Dependencia elegida: Global Database es propio de Aurora.
    Salida: replicación lógica hacia cualquier PostgreSQL.
  - Revisar cada trimestre el costo de la región secundaria.

Un ADR aceptado no se edita: si la decisión cambia, escribes uno nuevo que lo reemplaza y marcas el anterior como reemplazado. Así queda la historia completa de por qué el sistema es como es. Las consecuencias negativas son la parte más útil: es donde quedan escritas las dependencias elegidas, como las de portabilidad y dependencia del proveedor.

De «tiene que estar siempre arriba» a números

Los atributos de calidad (disponibilidad, latencia, durabilidad, seguridad, costo) solo sirven si se pueden medir. Un requisito que no se puede verificar no se puede cumplir.

Lo que dice el negocioEl requisito medible
«Tiene que estar siempre arriba»SLO: 99,9 % de peticiones exitosas en 30 días. RTO: 1 horaQué se mide (el SLI) y en qué ventana, escrito
«No podemos perder pedidos»RPO casi cero para pedidos confirmados; 24 horas para reportesUn objetivo por componente, no uno para todo
«Tiene que ser rápido»p95 del checkout por debajo de 300 ms, medido en el balanceadorPercentil, ventana y punto de medición explícitos
«Tiene que aguantar el día de ofertas»El triple del pico del año pasado, con el mismo p95Se prueba con una prueba de carga antes de la fecha

Las cifras de la tabla son ejemplos. Las reales salen de una conversación con el negocio sobre cuánto cuesta cada hora caída y cada dato perdido. Profundiza en SLI y SLO y en RPO y RTO a fondo.

Supuestos, restricciones, riesgos y temas abiertos

Qué declararQué es
SupuestosLo que das por cierto sin haberlo comprobado«El tráfico crecerá menos del doble este año.» Si falla, el diseño se revisa
RestriccionesLo que no puedes cambiar«Los datos de clientes no salen del país.» «El equipo no tiene experiencia en Kubernetes»
RiesgosLo que podría salir mal, con probabilidad, impacto y mitigación«La región secundaria no tiene cuota para escalar.» Mitigación: revisar cuotas cada trimestre
Temas abiertosDecisiones pendientes, con dueño y fecha«¿Activo-activo para el catálogo? Decide Ana antes del 30 de noviembre»

Lo que más daño hace es lo implícito: un supuesto que nadie escribió y que todos creían distinto. Escribirlo cuesta una línea; descubrirlo en un incidente cuesta mucho más.

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.La gerencia quiere entender qué hace el sistema nuevo y con qué sistemas externos se conecta. ¿Qué diagrama le muestras?

  2. 2.El equipo de seguridad necesita saber en qué subredes y zonas corre cada servicio. ¿Qué nivel de diagrama necesita?

  3. 3.Una decisión registrada en un ADR aceptado hace un año ya no aplica. ¿Qué haces?

  4. 4.El negocio pide que el sistema «esté siempre arriba». ¿Cuál es el mejor siguiente paso?

  5. 5.«El equipo no tiene experiencia en Kubernetes» aparece en la documentación. ¿Qué es?