Recursos

Glosario de Arquitectura de Software

Definiciones claras y concisas de los términos más importantes en arquitectura de software moderna.

A

ACL (Anti-Corruption Layer)
Capa de traducción que protege un bounded context de modelos externos incompatibles, evitando que conceptos ajenos contaminen el dominio propio.
ADR (Architecture Decision Record)
Documento breve que registra una decisión arquitectónica importante: contexto, decisión tomada, consecuencias y alternativas consideradas.
API Gateway
Punto de entrada único que centraliza el enrutamiento, autenticación, rate limiting y transformación de peticiones hacia los microservicios internos.
Arquitectura de Software
Conjunto de decisiones estructurales fundamentales sobre un sistema: cómo se organiza en componentes, cómo se comunican entre sí y qué restricciones aplican.
Asincronía
Modelo de comunicación donde el emisor no espera una respuesta inmediata del receptor. Común en sistemas basados en eventos y colas de mensajes.

B

BFF (Backend for Frontend)
Patrón que crea un backend específico para cada tipo de cliente (web, mobile, IoT), adaptando las respuestas a las necesidades de cada interfaz.
Blue-Green Deployment
Estrategia de despliegue que mantiene dos entornos idénticos (blue y green), alternando cuál recibe tráfico para lograr deploys sin downtime.
Bounded Context
Límite explícito dentro del cual un modelo de dominio particular es definido y aplicable. Concepto central de Domain-Driven Design.
Broker de Mensajes
Intermediario que recibe, almacena y distribuye mensajes entre productores y consumidores. Ejemplos: RabbitMQ, Apache Kafka, Amazon SQS.

C

Canary Release
Estrategia de despliegue que envía un porcentaje pequeño de tráfico a la nueva versión antes de hacer el rollout completo.
CI/CD
Continuous Integration / Continuous Delivery. Prácticas de automatización para integrar código frecuentemente y desplegarlo de forma confiable.
Circuit Breaker
Patrón de resiliencia que detecta fallos en servicios externos y corta las llamadas temporalmente, evitando cascadas de errores.
CQRS
Command Query Responsibility Segregation. Patrón que separa las operaciones de lectura y escritura en modelos independientes.
Consistencia Eventual
Modelo donde los datos pueden estar temporalmente desincronizados entre nodos, pero convergen a un estado consistente con el tiempo.

D

DDD (Domain-Driven Design)
Enfoque de diseño de software que centra la arquitectura en el dominio del negocio, usando un lenguaje ubicuo compartido entre técnicos y expertos de dominio.
Dead Letter Queue
Cola especial donde se envían mensajes que no pudieron ser procesados después de varios intentos, para análisis posterior.
Deployment Pipeline
Secuencia automatizada de pasos (build, test, deploy) que lleva el código desde el commit hasta producción.
Docker
Plataforma de contenedores que empaqueta aplicaciones con todas sus dependencias para garantizar ejecución consistente en cualquier entorno.

E

Event Bus
Canal de comunicación que permite a los servicios publicar y suscribirse a eventos de forma desacoplada.
Event Sourcing
Patrón que persiste el estado como una secuencia de eventos inmutables, permitiendo reconstruir el estado en cualquier punto del tiempo.
Event-Driven Architecture
Estilo arquitectónico donde los componentes se comunican mediante la producción y consumo de eventos asincrónicos.

H

Health Check
Endpoint que reporta el estado de salud de un servicio, usado por load balancers y orquestadores para decidir si enviar tráfico.
Hexagonal Architecture
Arquitectura que organiza el código en capas concéntricas con puertos y adaptadores, aislando la lógica de negocio de la infraestructura.

I

Idempotencia
Propiedad de una operación que produce el mismo resultado sin importar cuántas veces se ejecute. Esencial en sistemas distribuidos.
Infrastructure as Code (IaC)
Práctica de gestionar infraestructura mediante archivos de configuración versionados en lugar de procesos manuales.

K

Kubernetes
Plataforma de orquestación de contenedores que automatiza el despliegue, escalado y gestión de aplicaciones containerizadas.

L

Latencia
Tiempo que tarda una petición en viajar desde el cliente hasta el servidor y recibir respuesta. Métrica clave de rendimiento.
Load Balancer
Componente que distribuye el tráfico entrante entre múltiples instancias de un servicio para optimizar uso de recursos y disponibilidad.
Logging
Práctica de registrar eventos y datos relevantes durante la ejecución de un sistema para diagnóstico y auditoría.

M

Microservicios
Estilo arquitectónico que estructura una aplicación como un conjunto de servicios pequeños, independientes y desplegables por separado.
Monolito
Arquitectura donde toda la aplicación se despliega como una única unidad. Más simple de desarrollar inicialmente pero más difícil de escalar.
Métricas
Datos numéricos que miden el comportamiento del sistema: latencia, throughput, tasa de errores, uso de recursos, etc.

O

Observabilidad
Capacidad de entender el estado interno de un sistema a partir de sus salidas externas: logs, métricas y trazas.
Outbox Pattern
Patrón que garantiza la publicación confiable de eventos almacenándolos en una tabla de la base de datos antes de enviarlos al broker.

R

Rate Limiting
Técnica que limita la cantidad de peticiones que un cliente puede hacer en un período de tiempo, protegiendo al sistema de sobrecarga.
Resiliencia
Capacidad de un sistema para continuar operando correctamente ante fallos parciales, degradando funcionalidad de forma controlada.
Retry Pattern
Patrón que reintenta automáticamente operaciones fallidas con backoff exponencial, útil para fallos transitorios.

S

Saga Pattern
Patrón para gestionar transacciones distribuidas como una secuencia de transacciones locales, cada una con su compensación en caso de fallo.
Service Mesh
Capa de infraestructura que gestiona la comunicación entre microservicios, proporcionando observabilidad, seguridad y control de tráfico.
Shared Kernel
Subconjunto del modelo de dominio compartido entre dos bounded contexts, mantenido de forma coordinada por ambos equipos.
SLA/SLO/SLI
Service Level Agreement/Objective/Indicator. Métricas y compromisos que definen la calidad esperada de un servicio.
SOLID
Cinco principios de diseño orientado a objetos: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.

T

Throughput
Cantidad de operaciones o peticiones que un sistema puede procesar por unidad de tiempo.
Timeout
Límite de tiempo máximo para esperar una respuesta. Si se excede, la operación se cancela para evitar bloqueos indefinidos.
Tracing Distribuido
Técnica que rastrea una petición a través de múltiples servicios, asignando un ID de correlación para reconstruir el flujo completo.