Escalabilidad y elasticidad
Qué es: la escalabilidad es la capacidad de un sistema de crecer para atender más carga; la elasticidad es crecer y encogerse de forma automática según la demanda de cada momento.
- Escalar vertical (scale up): cambiar a una máquina más grande, con más procesador o memoria.
- Escalar horizontal (scale out): añadir más máquinas iguales que se reparten el trabajo.
- Elasticidad: el escalado ocurre solo, en minutos, y también hacia abajo cuando la demanda baja. Con el pago por uso de la Sesión 1, eso significa que dejas de pagar la capacidad que ya no necesitas.
Analogía: las cajas de un supermercado. Un supermercado escalable puede abrir más cajas si construye espacio para ellas. Uno elástico abre cajas cuando la fila crece y las cierra cuando se vacía. Dónde falla la analogía: el cajero cobra el turno completo aunque cierre su caja; en la nube dejas de pagar en cuanto apagas la capacidad. Además, una máquina nueva tarda unos minutos en estar lista, no segundos.
Ejemplo real: Boletos Faro vende entradas para conciertos. Un día normal le bastan 2 servidores; cuando sale a la venta una gira, el tráfico se multiplica por 40 durante tres horas. Con elasticidad, su sistema sube a 80 servidores en ese pico y vuelve a 2 al terminar. Paga 80 servidores durante tres horas, no todo el mes.
Úsalo cuando: la demanda cambia por horas, días o temporadas, o no puedes predecirla. No lo uses cuando: creas que elasticidad es lo mismo que comprar capacidad para el pico. Esa es la estrategia on-premises que deja servidores ociosos el resto del año. En la Sesión 9 verás el servicio de AWS que automatiza este escalado.
En el examen: “aumentar y reducir la capacidad automáticamente según la demanda” es elasticidad. “Poder crecer para soportar más carga” es escalabilidad. Si la pregunta menciona reducir, piensa en elasticidad.
Trampa común: escalar no es solo crecer. Un sistema que crece pero nunca se reduce es escalable, no elástico, y paga capacidad ociosa.