Arquitectura
Diseño y evolución de sistemas, desde sus requisitos y estructura hasta su operación en producción.
11 guías
Fundamentos
- ¿Qué es la arquitectura de software?
Cómo las decisiones sobre la estructura de un sistema influyen en su evolución y por qué algunas son difíciles de revertir.
- Drivers de arquitectura: qué guía las decisiones de arquitectura
Requisitos y restricciones que orientan el diseño de un sistema. Cómo usarlos para elegir una arquitectura con fundamento.
Dominio y estructura
- Domain-Driven Design (DDD)
Cómo modelar el dominio para que el software refleje el negocio y cuándo vale la pena invertir en este enfoque.
- Monolitos, microservicios y SOA
Distintas formas de dividir y desplegar un sistema: qué implica cada opción y cómo evaluar cuál se adapta al problema.
- Arquitectura de la aplicación
Cómo organizar el código y separar la lógica de negocio de los detalles técnicos, como el acceso a datos y la comunicación con otros sistemas.
Comunicación y datos
- Patrones de comunicación
Elegir entre comunicación síncrona y asíncrona cambia cómo responde un sistema y cómo enfrenta los fallos. Qué implica para la latencia, el acoplamiento y la consistencia.
- Arquitectura de datos
Cómo organizar los datos y definir quién los gestiona. Decisiones de modelado, persistencia y cuándo considerar event sourcing.
Operación
- Resiliencia en sistemas distribuidos
¿Cómo evitar que un fallo parcial se propague por todo el sistema? Mecanismos de resiliencia, cuándo usarlos y cuáles son sus límites.
- Arquitectura de infraestructura y cloud
Cómo elegir dónde ejecutar un sistema, cómo escalarlo y desplegarlo, y cómo recuperar el servicio ante fallos de infraestructura.
- Observabilidad y confiabilidad
Cómo entender qué pasa en producción y definir el nivel de servicio esperado. El papel de las señales de observabilidad, los SLO y los presupuestos de error.
Decisiones
- Cómo comunicar decisiones de arquitectura
Cómo usar diagramas y registros de decisiones (ADR) para explicar la estructura de un sistema y las razones detrás de su diseño.