Escalabilidad horizontal vs vertical: ¿cuál elegir?
Tu aplicación crece y necesita más capacidad. ¿Agregás más RAM al servidor existente o sumás más servidores? La respuesta depende de tu arquitectura.
Escalabilidad vertical (scale up)
Agregar más recursos al servidor existente: más CPU, más RAM, más disco. Simple de implementar, no requiere cambios en la aplicación. Limitación: hay un techo físico (no podés agregar RAM infinita a un servidor).
Escalabilidad horizontal (scale out)
Agregar más servidores y distribuir la carga entre ellos con un load balancer. Teóricamente ilimitada, pero requiere que tu aplicación sea stateless o que gestiones el estado de forma distribuida.
¿Cuándo escalar verticalmente?
Cuando tu aplicación es un monolito, cuando el cuello de botella es CPU/RAM de un solo proceso (base de datos), cuando no querés complejidad operativa adicional, o como solución rápida mientras planificás horizontal.
¿Cuándo escalar horizontalmente?
Cuando necesitás alta disponibilidad (si un nodo cae, los otros siguen), cuando tu carga es variable (auto-scaling), cuando tu aplicación es stateless (APIs, microservicios), o cuando superás los límites de un solo servidor.
Combinación práctica
La mayoría de arquitecturas usan ambas: escalás verticalmente la base de datos (es difícil distribuirla) y horizontalmente los servidores de aplicación (son stateless). Un load balancer distribuye tráfico entre múltiples instancias de app.
Implementación con Baires Host
Escalado vertical: upgrade de plan VPS o Bare Metal sin migración. Escalado horizontal: múltiples VPS detrás de un load balancer. Contactá al equipo técnico para diseñar la arquitectura correcta para tu caso.