Curso de Arquitectura de software
Diseñá sistemas a nivel arquitectura: decisiones caras de revertir, características y trade-offs, estilos, DDD, puertos y adaptadores, funciones de aptitud, métricas y software verde. Para quien ya programa y ahora tiene que decidir la forma del sistema.
- Unidades
- 8 unidades
- Lecciones
- 16 lecciones
- Ejercicios
- 112 ejercicios
- Niveles
- Intermedio → Avanzado
Niveles del curso
Intermedio
3 unidades · 6 lecciones
Avanzado
5 unidades · 10 lecciones
Temario completo
1. Qué es arquitectura y qué hace un arquitecto
IntermedioDistinguir las decisiones arquitectónicas del resto del código, entender el rol del arquitecto y registrar decisiones con ADRs.
No todo el código es arquitectura. Lo arquitectónico son las decisiones caras de revertir: las que seis meses después ya no se cambian con un refactor de una tarde. Martin Fowler le atribuye a Ralph Johnson la definición más honesta que circula: arquitectura es the important stuff — whatever that is. Qué es importante depende del contexto.
Lecciones
- Qué cuenta como decisión arquitectónica
- El ascensor, los niveles y el Advice Process
2. Características arquitectónicas y trade-offs
IntermedioElegir y priorizar las -ilities que manda el negocio, y medir acoplamiento, cohesión y quantum para entender qué se paga por cada una.
Neal Ford y Mark Richards abren con la Primera Ley de la Arquitectura de Software: everything in software architecture is a trade-off; if you think you've found something that isn't a trade-off, you haven't looked hard enough. Y agregan una segunda: *el why importa más que el how***.
Lecciones
- Las -ilities y la ley del trade-off
- Acoplamiento, cohesión y quantum arquitectónico
3. Estilos arquitectónicos
IntermedioConocer capas, monolito modular, microkernel, service-based, event-driven y space-based, y elegir a partir de las características priorizadas.
Un estilo no se elige por moda: se elige a partir de las características que priorizaste. Primero decidís qué tiene que cumplir el sistema; recién después mirás qué estilo lo cumple con el costo que estás dispuesto a pagar.
Lecciones
- Capas, monolito modular y microkernel
- Service-based, event-driven y space-based
4. Domain-Driven Design
AvanzadoLenguaje ubicuo, subdominios, bounded contexts, agregados y los patrones de context mapping que ordenan la relación entre equipos.
DDD no es una tecnología: es dejar que el negocio decida los límites del software. Learning Domain-Driven Design, de Vlad Khononov, lo presenta como herramientas estratégicas y tácticas para alinear la arquitectura con la estrategia del negocio.
Lecciones
- Lenguaje ubicuo, subdominios y bounded contexts
- Agregados y context mapping
5. Patrones de arquitectura en el código
AvanzadoPuertos y adaptadores, repositorio, unit of work, capa de servicio, eventos de dominio y CQRS, con el código de esta misma app como ejemplo.
Architecture Patterns with Python, de Harry Percival y Bob Gregory, reúne los patrones que hacen que la arquitectura se note en el código y no solo en un diagrama.
Lecciones
- Puertos y adaptadores en la práctica
- Repositorio, unit of work, eventos y CQRS
6. Arquitectura evolutiva
AvanzadoFunciones de aptitud como tests ejecutables de la arquitectura, cambio guiado e incremental y gobernanza automatizada.
Neal Ford, Rebecca Parsons y Patrick Kua definen una arquitectura evolutiva como la que soporta cambio guiado e incremental en múltiples dimensiones: guiado (no a la deriva), incremental (no big bang) y en muchas dimensiones (técnica, datos, seguridad, performance). La segunda edición lleva el subtítulo Automated Software Governance.
Lecciones
- Funciones de aptitud
- Cambio guiado y gobernanza automatizada
7. Métricas y diseño con significado
AvanzadoQué medir de una arquitectura —acoplamiento, complejidad, entrega— y cómo sostener el significado de nombres y diagramas mientras el sistema crece.
Una característica arquitectónica que no se puede evaluar no se puede sostener. Medir es lo que convierte una intención en una función de aptitud.
Lecciones
- Qué medir de una arquitectura
- De métricas a funciones de aptitud, y el significado
8. Systems thinking y software verde
AvanzadoRazonar sobre el sistema completo en vez de sus partes, y tratar la eficiencia de carbono, energía y hardware como una característica arquitectónica más.
Learning Systems Thinking, de Diana Montalion, presenta el pensamiento sistémico como herramientas para entender de forma holística cómo se conectan, interactúan e influyen las partes de un sistema de software o de una organización, en contraste con los enfoques puramente reduccionistas. Recorre la integridad conceptual, la dinámica de equipo con sus lazos de realimentación y el modelado colaborativo.
Lecciones
- Pensar en sistemas
- Software verde como característica arquitectónica
Qué vas a saber al terminar
- Qué es arquitectura y qué hace un arquitecto: Distinguir las decisiones arquitectónicas del resto del código, entender el rol del arquitecto y registrar decisiones con ADRs.
- Características arquitectónicas y trade-offs: Elegir y priorizar las -ilities que manda el negocio, y medir acoplamiento, cohesión y quantum para entender qué se paga por cada una.
- Estilos arquitectónicos: Conocer capas, monolito modular, microkernel, service-based, event-driven y space-based, y elegir a partir de las características priorizadas.
- Domain-Driven Design: Lenguaje ubicuo, subdominios, bounded contexts, agregados y los patrones de context mapping que ordenan la relación entre equipos.
- Patrones de arquitectura en el código: Puertos y adaptadores, repositorio, unit of work, capa de servicio, eventos de dominio y CQRS, con el código de esta misma app como ejemplo.
- Arquitectura evolutiva: Funciones de aptitud como tests ejecutables de la arquitectura, cambio guiado e incremental y gobernanza automatizada.
- Métricas y diseño con significado: Qué medir de una arquitectura —acoplamiento, complejidad, entrega— y cómo sostener el significado de nombres y diagramas mientras el sistema crece.
- Systems thinking y software verde: Razonar sobre el sistema completo en vez de sus partes, y tratar la eficiencia de carbono, energía y hardware como una característica arquitectónica más.
Seguí con estos cursos
- Tu oficio con IA
- Clientes con IA para tu oficio
- Pensar y escalar con IA
- Imágenes con IA para tu negocio
- Videos con IA para tu negocio
- Marketing con IA para tu negocio
- Conectá tu IA a tus herramientas de trabajo
- IA local: qué es, qué necesita y para qué sirve
- Fundamentos de IA
- Programación con Python
- Fundamentos de TypeScript
- Git y versionado
- Sistemas distribuidos
- Claude Code
- Creá tu MCP y publicalo como conector de Claude
- Construí tu primera Alexa Skill con Claude Code
- LangChain
- LangGraph
- LangSmith
- Sistemas multiagente
- Gentle-AI y Engram
- Automatizá tu productividad
- n8n
- Automatizá tus redes con Claude y OpenClaw
- Domótica conectada a la IA
- SEO, GEO y AEO
- Emprendé con IA desde tu casa
- GoHighLevel para técnicos
- OpenClaw
- Hermes Agent
- Atlantis
- Forward Deployed Engineer