Autoscaling
Autoscaling
El autoscaling ajusta automáticamente el número de instancias (réplicas) de un servicio según su carga de CPU: más tráfico, más instancias; calma, vuelta al mínimo.
Activar el autoscaling
En el panel del servicio, pestaña Observabilidad / Scaling:
| Parámetro | Función |
|---|---|
| Min | Número mínimo de instancias (nunca menos) |
| Max | Tope de instancias (nunca más) |
| Objetivo de CPU (%) | Umbral de uso medio que activa el ajuste |
Ejemplo: min 1, max 4, objetivo 70 %. Si el promedio de CPU de las instancias supera el 70 %, se añade una instancia (hasta 4). Cuando la carga baja de forma sostenida, las instancias sobrantes se retiran (hasta 1).
Scaling manual
Sin autoscaling, fijas el número de réplicas a mano en la misma pestaña. Pasar de 1 a 2 instancias duplica la capacidad y aporta redundancia: un reinicio de instancia ya no corta el servicio.
Requisitos del lado de la aplicación
Varias instancias de tu aplicación corren en paralelo detrás del mismo dominio. Tu código debe estar preparado:
- Sin estado en memoria compartido entre peticiones (sesiones, cachés locales): externalízalo en Redis o en la base de datos.
- Subidas y archivos: escribe en un volumen persistente o un almacenamiento de objetos, no en el sistema de archivos local de la instancia.
- Los WebSockets funcionan, pero un cliente está conectado a una instancia: difunde los mensajes entre instancias mediante Redis pub/sub si es necesario.
Elegir bien el objetivo de CPU
- 70 % es un buen valor por defecto: margen suficiente para absorber un pico mientras arranca una instancia.
- Un objetivo demasiado bajo (30 %) escala demasiado pronto y cuesta recursos; demasiado alto (90 %), el servicio se satura antes de que llegue el refuerzo.
- Observa el comportamiento real en las métricas del servicio tras la activación.
El número máximo de instancias sigue limitado por los límites de tu plan (ver Límites y recursos).