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.