Escalabilidad y elasticidad
¿Qué es el escalado automático en SaaS?
¿Qué es el escalado automático?
El escalado automático es una función que ajusta los recursos de una aplicación SaaS hacia arriba o hacia abajo según el uso actual. Cuando hay más usuarios, el escalado automático aumenta los recursos disponibles; por otro lado, los disminuye durante los períodos de inactividad. El Horizontal Pod Autoscaler de Kubernetes, por ejemplo, comprueba el uso cada 15 segundos por defecto.
¿Cómo funciona el escalado automático de SaaS?
Las empresas SaaS necesitan autoescalado porque a menudo no saben cuándo el tráfico va a subir o bajar. Aunque a veces es predecible (p. ej., un lanzamiento de producto), los eventos globales repentinos y los picos inesperados son los casos en los que se debe implementar el autoescalado.
¿Cuáles son los beneficios clave del escalado automático para las empresas SaaS y sus clientes?
Razones Para para utilizar el autoescalado en su negocio SaaS incluyen:
- Rendimiento: Utiliza el escalado automático para que tu sitio o aplicación funcione de manera óptima durante los periodos de mayor actividad; sin él, podrías experimentar interrupciones del servicio.
- Disponibilidad: El autoescalado garantiza la disponibilidad de sitios, productos y servicios a medida que la demanda fluctúa, mientras que un balanceador de carga gestiona la distribución del tráfico entre servidores autoescalados.
- Optimización de costos: Utiliza el escalado automático para escalar hacia arriba y hacia abajo en función del uso en tiempo real; te arriesgas a gastos innecesarios si utilizas un método alternativo.
¿Qué métricas se utilizan normalmente para desencadenar eventos de escalado automático?
El autoescalado se activa por métricas de rendimiento en la nube, verificadas a intervalos (cada 15 segundos por defecto en Kubernetes), como:
- Utilización de la CPU: La cantidad de CPU que se utiliza en un momento dado.
- Uso de memoria: Cuánta memoria está utilizando una aplicación o sitio web en tiempo real.
- Tráfico de red: Datos recibidos y enviados a través de la red.
- Latencia de solicitud: Tiempos de respuesta a las solicitudes de los usuarios; esto en parte depende de cuántos usuarios haya en el mismo servidor.
- Longitud de la cola: Solicitudes de cola pendientes; el escalado automático se activa cuando este es más alto.
¿Cuáles son los diferentes tipos de políticas de escalado automático y cuándo usaría cada una?
Diferentes políticas de escalado automático funcionan en diferentes escenarios. Aquí tienes una lista de algunas comunes y cuándo deberías usarlas:
- Seguimiento de objetivos: Mueve recursos basándose en una métrica como la longitud promedio de la cola; AWS lo recomienda encarecidamente para EC2 Auto Scaling (AWS).
- Escalado por pasos: Escala dentro de los umbrales que establezcas, en pasos ajustados a la desviación; usar cuando el seguimiento de objetivos no sea suficiente.
- Escalado programado: Escala según horarios programados; úsalo si conoces los patrones de tráfico diarios o semanales.
| Tipo de política | Características clave | Mejores casos de uso |
|
Enfoque de escalado |
||
| Seguimiento de objetivos | Ajusta los recursos en función de métricas específicas, como la longitud promedio de las colas | La mayoría de los casos, según la guía de EC2 Auto Scaling de AWS |
| Escalado por pasos | Escala los recursos dentro de umbrales predefinidos por el usuario | Cuando el seguimiento de objetivos no sea suficiente |
| Escalado programado | Escala los recursos en momentos predeterminados | Cuando los patrones de tráfico diarios o semanales son consistentes |
|
Consideraciones de escalabilidad |
||
| Flexibilidad | Seguimiento de objetivos: el más adaptable | Escalado programado: Menor flexibilidad |
¿Cuáles son algunos ejemplos del mundo real de empresas SaaS que utilizan con éxito el escalado automático para satisfacer la demanda fluctuante?
Ejemplos de empresas SaaS que utilizan el escalado automático según la demanda:
- Shopify: Ejecuta microservicios en Google Kubernetes Engine, que Google afirma que escala durante picos de tráfico como el Black Friday (Google Cloud).
- Slack: Autoescala rápidamente su capa de aplicación web cuando los trabajadores se saturan (Slack Engineering, 2020).
- Netflix: Los parámetros de autoescalado están configurados para gestionar el tráfico cuando hay más espectadores en línea (p. ej.., noches, como un patente de Netflix sobre escalado predictivo presentada en 2013 describe).
Conclusión
Las empresas de SaaS deben utilizar el escalado automático para gestionar los recursos durante la actividad alta y baja. Amazon Web Services, Pepperdata y Google Cloud son tres herramientas con escalado automático. Considera si necesitas seguimiento de objetivos, escalado por pasos o escalado programado.