Glosario de Desarrollo Backend

100 términos de backend explicados en español — con código ejecutable en cuatro lenguajes, diagramas de arquitectura y tablas comparativas. Nuevos términos se traducen continuamente; el glosario completo en inglés tiene 100 términos.

Arquitectura en la Nube y Modelos de Hosting

Aislamiento entre Staging y Producción en BaaS El aislamiento staging-producción es una práctica de correr apps, bases y claves separadas por entorno para que las pruebas nunca toquen datos reales. Almacenamiento de Objetos Gestionado & Entrega de Assets El almacenamiento de objetos gestionado es un servicio de BaaS que guarda archivos subidos por los SDKs y los sirve por URLs con CDN y control de acceso. Arquitectura Desacoplada (Backend Headless) Arquitectura desacoplada es un diseño donde el frontend y el backend son sistemas separados que se comunican solo por APIs. Arquitectura Serverless La arquitectura serverless es un modelo de ejecución en la nube donde el proveedor corre tu código bajo demanda: nunca aprovisionas ni gestionas servidores. BaaS Open-Source vs. BaaS Propietario Gestionado Un BaaS open-source es una plataforma de backend cuyo núcleo puedes auto-hospedar; un BaaS propietario solo corre en infraestructura que controla el proveedor. BaaS vs. Construir un Backend Propio BaaS vs. backend propio es una decisión de comprar o construir: adoptar un backend listo detrás de un SDK, o diseñar y operar el tuyo. BaaS vs. Serverless Serverless es un modelo de ejecución en el que el proveedor corre el código bajo demanda; BaaS es un modelo serverless que entrega el backend ya construido. CDN (Content Delivery Network) Una CDN es una red de servidores distribuidos que guarda contenido en caché cerca de los usuarios, para que páginas y archivos carguen rápido donde sea. CI/CD (Integración & Entrega Continuas) CI/CD es una práctica que automatiza el build, las pruebas y el lanzamiento de código, para que cada cambio vaya del commit a producción en pasos pequeños. Código Boilerplate de Backend El código boilerplate de backend es una masa de plomería server-side repetitiva — auth, CRUD, config — escrita igual en proyecto tras proyecto. Contenedorización La contenedorización es una forma de empaquetar una app con todas sus dependencias en una unidad aislada que corre de forma idéntica en cualquier host. Desarrollo No-Ops (Zero-Ops) No-Ops es un modelo operativo donde la plataforma automatiza tanto la infraestructura que los desarrolladores lanzan código sin equipo de operaciones. Escalabilidad de Backends de Aplicaciones Modernas Escalar un backend moderno es el proceso de agregar capacidad — cómputo, base de datos, entrega — para que el tráfico creciente siga siendo rápido. Hosting Multi-Tenant en la Nube El hosting multi-tenant en la nube es un modelo donde un conjunto de servidores y software atiende a muchos clientes, con aislamiento lógico entre tenants. IaaS vs. PaaS vs. CaaS vs. FaaS vs. BaaS vs. mBaaS vs. SaaS El espectro de modelos de servicio en la nube es una escalera — IaaS, CaaS, PaaS, FaaS, BaaS, mBaaS, SaaS — ordenada según cuánto opera el proveedor por ti. Infraestructura como Servicio (IaaS) IaaS es un modelo de nube que alquila recursos de cómputo fundamentales — máquinas virtuales, almacenamiento, redes — bajo demanda y con pago por uso. Kubernetes Kubernetes es una plataforma open-source que automatiza el deploy, el escalado y la operación de aplicaciones contenedorizadas en muchas máquinas. mBaaS vs. BaaS mBaaS es la forma mobile-first de Backend as a Service; BaaS es el modelo más amplio que sirve por igual a clientes móviles, web y de servidor. Microservicios vs. Monolito Un monolito es una aplicación con un solo deploy; los microservicios la dividen en servicios pequeños, con deploys independientes, que se comunican por APIs. PaaS vs. BaaS PaaS es un modelo de nube donde el proveedor opera la plataforma sobre la que despliegas tu código, pero tú sigues escribiendo y manteniendo la aplicación. Vendor Lock-In en la Nube El vendor lock-in en la nube es una dependencia de un proveedor tan profunda que cambiar costaría más en dinero, tiempo y riesgo que quedarse.

Bases de Datos y Escalabilidad

Aislamiento de Tenants en Bases Compartidas El aislamiento de tenants es una disciplina de muros dentro de sistemas compartidos: controles que mantienen a cada tenant sellado frente a todos los demás. APIs de Base de Datos Generadas Automáticamente (GraphQL y REST) Una API de base de datos generada automáticamente es una interfaz creada por una herramienta que lee tu esquema y expone endpoints REST o GraphQL. Arquitectura de Base de Datos Multi-Tenant La arquitectura de base de datos multi-tenant es un diseño para almacenar muchos clientes en una capa de datos, aislados por fila, esquema o base separada. Campos Pointer vs. Relation en el Modelado BaaS Un campo pointer es una referencia tipada a un solo objeto; un campo relation es un join gestionado que enlaza muchos objetos con muchos. Capa de Abstracción de Base de Datos Una capa de abstracción de base de datos es una API entre tu código y la base de datos que oculta qué motor, dialecto y driver hay debajo. Consultas de Base de Datos Una consulta de base de datos es una solicitud estructurada — filtrar, ordenar, proyectar, paginar — en un lenguaje que el motor puede planear y ejecutar. Consultas Geoespaciales & Indexación por Ubicación Una consulta geoespacial es una búsqueda en la base de datos que filtra y ordena registros por ubicación — cerca de un punto, dentro de un radio o de un área. Consultas Relacionales (Joins) en Bases de Documentos Una consulta relacional en una base de documentos es un join hecho con referencias y lookups en vez de claves foráneas — o evitado al embeber. Esquema de Base de Datos Un esquema de base de datos es un plano que define cómo se organizan los datos — las clases, columnas, tipos y relaciones, pero no los datos. Gestión Visual de Base de Datos (Interfaces tipo Hoja de Cálculo) La gestión visual de base de datos es una forma de trabajar con datos mediante una interfaz gráfica — grids, formularios, filtros — en vez de queries crudas. Índice de Base de Datos Un índice de base de datos es una estructura de búsqueda ordenada que permite al motor encontrar las filas directamente, en vez de escanear toda la tabla. Modelado de Datos El modelado de datos es un proceso que mapea entidades, atributos y relaciones antes de decidir cómo la base de datos los almacenará. NoSQL vs. SQL Una base de datos SQL es un almacén relacional con tablas fijas y joins; NoSQL es un paraguas de modelos flexibles diseñados para escalar horizontalmente. Operaciones CRUD CRUD es la abreviatura de crear, leer, actualizar y eliminar: las cuatro operaciones básicas que todo almacén de datos persistente debe soportar. Permisos a Nivel de Clase (CLPs) y Seguridad de Esquema Un permiso a nivel de clase es una regla en el esquema de una clase que controla qué usuarios o roles pueden ejecutar cada operación en esa clase. Point-in-Time Recovery (PITR) & Backups en BaaS Point-in-time recovery es un método de restauración que reaplica un log de cambios sobre un backup base para reconstruir la base de datos en cualquier segundo. Pooling de Conexiones en Bases Gestionadas Serverless El pooling de conexiones serverless es una técnica que comparte pocas conexiones reales de base de datos entre muchas instancias de función efímeras. Replicación de Base de Datos Multi-Región & Optimización de Latencia La replicación multi-región es una topología de base de datos que copia datos entre regiones geográficas para reducir latencia de lectura y sobrevivir caídas. Seguridad a Nivel de Fila (RLS) La seguridad a nivel de fila es un mecanismo de base de datos que filtra qué filas puede ver o modificar cada usuario, aplicado por políticas en cada consulta. Seguridad en la Capa de Datos vs. en la Capa de Aplicación La seguridad en la capa de aplicación es un guardia en tu código; la de la capa de datos, un guardia sobre los datos mismos: un sistema real necesita ambas. Transacciones ACID Una transacción ACID es un grupo de operaciones de base de datos que hace commit como una sola unidad — atómica, consistente, aislada y durable.

APIs y Tiempo Real

API (Interfaz de Programación de Aplicaciones) Una API es un conjunto de reglas que permite a una aplicación solicitar datos y funcionalidad de otra sin conocer su código interno. API REST Una API REST es una API que sigue el estilo arquitectónico REST: recursos en URLs, solicitudes sin estado y métodos HTTP estándar. Arquitectura de API Gateway Un API gateway es una puerta de entrada gestionada para tus APIs: un punto único que enruta, autentica y aplica rate limiting a cada solicitud. CORS (Cross-Origin Resource Sharing) CORS es un mecanismo del navegador que permite al servidor declarar qué otros origins pueden llamarlo, relajando a propósito la política de same-origin. El Problema de Consultas N+1 El problema de consultas N+1 es un patrón donde leer N registros dispara una consulta extra por registro — N+1 idas a la base en lugar de una o dos. Endpoint de API Un endpoint de API es una URL específica donde una API recibe solicitudes para un recurso — junto con un método HTTP, define una operación. GraphQL GraphQL es un lenguaje de consultas para APIs y un runtime server-side que devuelve exactamente los campos que cada cliente pide en una sola solicitud. GraphQL Subscriptions vs. WebSockets Una GraphQL subscription es un stream de eventos tipado y definido por el schema; un WebSocket es el transporte crudo sobre el que suele viajar. GraphQL vs. REST REST es un estilo de API con muchos endpoints fijos; GraphQL es un lenguaje de consultas donde los clientes piden a un endpoint solo los campos que necesitan. Live Queries en Tiempo Real Una live query es una suscripción a una consulta de base de datos: el servidor envía eventos create, update y delete de los registros coincidentes al ocurrir. Notificaciones Push vs. Live Queries Una notificación push es una alerta que entrega el sistema operativo y alcanza apps cerradas; una live query transmite cambios con la app abierta. Optimización de Payload de API La optimización de payload de API es la práctica de achicar lo que una API envía — menos campos, páginas acotadas, compresión — para responder rápido. Overfetching & Underfetching Overfetching es un problema de API donde las respuestas traen más datos de los que el cliente necesita; underfetching fuerza solicitudes extra para completar. Patrón Pub/Sub (Publicación-Suscripción) Pub/sub es un patrón de mensajería donde los publicadores envían mensajes a topics en un broker, y cada suscriptor del topic recibe una copia. Presencia (Status Online) La presencia es una señal en tiempo real que indica si un usuario está online, ausente u offline, mantenida fresca por conexiones y heartbeats. Rate Limiting & Throttling de API Rate limiting es un control que limita cuántas solicitudes puede hacer un cliente por ventana de tiempo; throttling desacelera el exceso en vez de rechazarlo. SDK de Backend Un SDK de backend es un kit de librerías y utilidades que permite a las apps hablar con un servicio de backend en su propio lenguaje, sin HTTP crudo. Sincronización de Datos Offline-First La sincronización offline-first es una arquitectura donde la app lee y escribe primero en un store local y luego reconcilia con el servidor al volver online. SSE vs. WebSockets vs. Polling El polling es un modelo de pull donde el cliente pregunta repetidamente; SSE y WebSockets mantienen una conexión abierta y el servidor hace push en tiempo real. WebSockets y Sincronización en Tiempo Real Un WebSocket es una conexión persistente y bidireccional entre cliente y servidor que permite a ambos lados enviar mensajes en el instante en que ocurren.

Autenticación y Seguridad

Adaptadores de Login Social: Integración OAuth en BaaS Un adaptador de login social es un componente de backend que verifica tokens de un proveedor de identidad y los convierte en usuario y sesión. Autenticación Multifactor (MFA) La autenticación multifactor es un control de login que exige dos o más pruebas de tipos distintos — algo que sabes, que tienes o que eres. Autenticación Sin Contraseña (Passwordless) La autenticación sin contraseña es un modelo de login que verifica la identidad con una clave del dispositivo o biometría, no con un secreto memorizado. Autenticación vs. Autorización La autenticación es la verificación de quién eres; la autorización es la decisión de qué puedes hacer en cada solicitud. Todo sistema seguro necesita ambas. Cifrado de Datos en Reposo y en Tránsito El cifrado en reposo es un control que vuelve ilegibles los datos almacenados sin las claves; el cifrado en tránsito protege los datos que cruzan la red. Control de Acceso Basado en Roles (RBAC) El control de acceso basado en roles es un modelo de autorización donde los permisos se asignan a roles y los usuarios solo los reciben a través de sus roles. Gestión de Sesiones La gestión de sesiones es la disciplina de crear, validar y destruir el estado server-side que vincula solicitudes HTTP a un solo usuario. Hardening de Seguridad en BaaS: CLPs, ACLs y Protección de la Master Key El hardening de seguridad en BaaS es un conjunto de controles en capas — CLPs, ACLs y disciplina de claves — que cierra las brechas con que nace un backend. IAM (Gestión de Identidad y Acceso) IAM es un framework de políticas y tecnologías que asegura a los usuarios correctos el acceso correcto a los recursos correctos, en el momento correcto. JSON Web Token (JWT) Un JSON Web Token es un token compacto y seguro para URLs que transporta claims JSON firmadas, y permite verificar solicitudes sin sesiones almacenadas. Listas de Control de Acceso (ACL) Una lista de control de acceso es una lista adjunta a un recurso que nombra qué usuarios o roles pueden acceder a él y qué puede hacer cada uno. OAuth 2.0 y Login Social OAuth 2.0 es un estándar de autorización que permite a una app acceder a tu cuenta en otro servicio — el login social construye el inicio de sesión encima. Prevención de Cross-Site Scripting (XSS) El cross-site scripting es un ataque que inyecta scripts maliciosos en páginas confiables; prevenirlo exige codificar la salida según cada contexto. Seguridad de Claves de API Una clave de API es una cadena única que identifica a la app que llama a una API; la seguridad de claves de API es la disciplina de acotarla y protegerla. Single Sign-On (SSO) El single sign-on es un método de autenticación en el que un solo login en el proveedor de identidad da acceso a muchas aplicaciones independientes.

Lógica de Backend y Cómputo Serverless

Arquitectura Orientada a Eventos (EDA) Arquitectura orientada a eventos es un estilo de diseño donde los servicios anuncian hechos inmutables como eventos y los consumidores reaccionan por su cuenta. Cloud Code (Funciones Serverless) Cloud Code es un modelo serverless donde la lógica de backend se ejecuta como funciones en el servidor, activadas por llamadas, eventos de datos o cron. Cloud Code Programado & Cron Jobs Un cron job es una tarea que corre automáticamente según un horario; el Cloud Code programado aplica la idea a funciones serverless. Cold Starts en Serverless Un cold start es la penalización de latencia que pagas cuando la plataforma serverless debe crear e inicializar un entorno nuevo antes de ejecutar tu código. Edge Computing & Funciones de Edge Edge computing es un modelo que ejecuta cómputo cerca de usuarios o fuentes de datos; las funciones de edge son código serverless que corre en POPs de CDN. Funciones Serverless vs. Microservicios Una función serverless es una unidad única de deploy de lógica de backend; un microservicio es un servicio completo operado de forma independiente. Jobs en Segundo Plano & Programadores de Tareas Un job en segundo plano es una tarea que corre fuera del ciclo de la solicitud: la encola la app, la ejecutan workers, se reintenta si falla. Middleware (Ciclo de Vida de la Solicitud) Middleware es una función del pipeline de solicitudes que inspecciona o modifica solicitudes y respuestas antes de que corra la lógica de tu ruta. Notificaciones Push (APNs y FCM) Una notificación push es un mensaje iniciado en el servidor que los servicios de push de la plataforma entregan al dispositivo, incluso con la app cerrada. Orquestación de APIs Orquestación de APIs es un patrón donde una capa coordinadora llama a varias APIs en secuencia y devuelve un único resultado combinado. Triggers de Base de Datos (beforeSave y afterSave) Un trigger de base de datos es un hook de código que se ejecuta solo en eventos de datos: antes del save para validar, después del save para reaccionar. Webhooks Un webhook es un callback HTTP automatizado: cuando ocurre un evento, un sistema envía un POST con el payload a una URL que otro sistema registró.

IA y Stack Moderno

Frontend y Entrega Web