Qué es un patrón de arquitectura
Clase 13 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
Viendo ahora - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Comprende con claridad qué es un patrón de arquitectura, cómo se organizan los patrones monolíticos y las arquitecturas distribuidas, y por qué la gran bola de lodo puede frenar la evolución de sistemas legacy. Aquí encontrarás una guía directa para distinguir conceptos y actuar con criterio.
¿Qué es un patrón de arquitectura y cómo se decide?
Un patrón de arquitectura son decisiones de diseño ya tomadas que definen un esquema, una estructura o un tipo de comunicación entre componentes. Estas decisiones orientan al equipo y evitan el caos al establecer criterios comunes.
- Define estructura y comunicación entre componentes.
- Alinea decisiones arquitectónicas importantes.
- Evita improvisaciones que llevan a sistemas caóticos.
¿Cómo se combinan patrones monolíticos y distribuidos?
Existen dos grandes mundos: patrones monolíticos y arquitecturas distribuidas. Ambos conviven y se pueden combinar.
- Monolítico: el artefacto se despliega como una sola unidad.
- Distribuido: cada componente se despliega independientemente; el sistema es un sistema de sistemas.
- En distribuido, cada componente interno es, en esencia, un componente monolítico.
- Beneficio clave: un componente puede cambiar sin afectar a los demás.
¿Qué es la gran bola de lodo y por qué aparece?
Cuando el equipo no considera la arquitectura como relevante, el sistema se compone de partes que interactúan y se conocen entre todas. No hay prioridad ni criterios: todo está mezclado. Joseph Yoder llamó a este patrón gran bola de lodo o big ball of mud.
- Surge por la falta de criterios de arquitectura.
- Todas las partes se acoplan y se tratan igual.
- El resultado es caos y dificultad para evolucionar.
- Es común en aplicaciones legacy y monolitos muy grandes.
¿Cómo trabajar con una gran bola de lodo?
Actuar requiere intención y esfuerzo sostenido. El objetivo: pasar del caos a una mejor arquitectura.
- Entender los conceptos existentes que están implícitos.
- Hacer ingeniería inversa de lo que no se decidió ni se modeló.
- Separar en partes para establecer límites claros.
- Aceptar el desafío: las empresas que lo logran invierten mucho dinero y recursos para partir el sistema y ofrecer mejor servicio.
¿Qué habilidades y keywords conviene dominar?
Dominar el vocabulario y las prácticas te ayuda a tomar mejores decisiones y a comunicarte con el equipo.
- Patrones de arquitectura: decisiones de diseño y comunicación entre componentes.
- Patrones monolíticos: despliegue como una sola unidad.
- Arquitecturas distribuidas: componentes con despliegue independiente.
- Sistema de sistemas: componentes que coexisten y pueden cambiar sin afectar a otros.
- Componente monolítico: unidad interna en esquemas distribuidos.
- Decisiones arquitectónicas: acuerdos que evitan improvisación y caos.
- Gran bola de lodo / big ball of mud: sistema sin criterios, acoplado y caótico (Joseph Yoder).
- Aplicaciones legacy: contexto frecuente de gran bola de lodo.
- Ingeniería inversa: técnica para reconstruir lo que no se modeló explícitamente.
- Separar en partes: estrategia para avanzar hacia una mejor arquitectura.
- Invertir recursos: condición práctica para transformar el sistema y mejorar el servicio.
¿Te has enfrentado a una gran bola de lodo o a la transición de monolítico a distribuido? Comparte tus retos y aprendizajes en los comentarios.