¿Qué es la escalabilidad?
También llamado: escalado horizontal, escalado vertical, autoescalado, scaling
Definición
La escalabilidad es la capacidad de un sistema para atender más carga (más visitas, más datos, más usuarios) añadiendo recursos, sin tener que rediseñarlo y sin que empeore la experiencia.
Hay dos formas de escalar:
- Vertical (scale up): un servidor más grande, con más CPU y memoria. Es lo más sencillo, pero tiene un techo y suele requerir un reinicio.
- Horizontal (scale out): más servidores iguales detrás de un balanceador de carga. No tiene un límite práctico y además da redundancia, pero exige que la aplicación esté preparada.
Ejemplo
Para escalar horizontalmente, la aplicación no debe guardar nada importante en el servidor donde se ejecuta:
❌ Sesiones en archivos locales → ✅ Sesiones en Redis
❌ Imágenes subidas al disco local → ✅ Almacenamiento de objetos compartido
❌ Tareas programadas en cada servidor → ✅ Una cola de trabajos central
Así, cualquier servidor puede atender cualquier petición y se pueden añadir o quitar servidores sin problema.
Antes de añadir servidores
Muchas veces el cuello de botella no es la cantidad de servidores:
- Caché de página y de objetos.
- CDN para los archivos estáticos.
- Consultas lentas a la base de datos (índices).
- Después, escalado vertical; y solo cuando haga falta, horizontal.
Cosas que conviene saber
- Autoescalado: en la nube se pueden añadir y quitar servidores automáticamente según la carga.
- La base de datos suele ser lo más difícil de escalar horizontalmente; se recurre a réplicas de lectura antes que a soluciones más complejas.
¿Tienes un producto o servicio relacionado con Escalabilidad? Anúnciate en este término.
Términos relacionados
- Balanceador de cargaUn balanceador de carga reparte las peticiones de los usuarios entre varios servidores para...
- Hosting cloudEl hosting cloud es alojamiento que se ejecuta sobre un conjunto de servidores en...
- KubernetesKubernetes es un sistema que gestiona contenedores en un grupo de servidores: decide dónde...
- CachéUna caché es un almacén temporal de copias de datos para servirlos más rápido...
- ServerlessServerless es un modelo en el que subes funciones de código y el proveedor...
- VPSUn VPS (Virtual Private Server) es un servidor virtual con recursos reservados (CPU, memoria...