Escalado automático en Azure App Service

Nota

El escalado automático está en versión preliminar. Esta opción está disponible para los planes de tarifa Premium V2 (P1V2, P2V2, P3V2), Premium V3 (P1V3, P2V3, P3V3) y aquellos planes compatibles con todos los tipos de aplicaciones: Windows, Linux y contenedores de Windows. El escalado automático no se admite para el tráfico de ranuras de implementación.

El escalado automático es una nueva opción de escalado horizontal que controla automáticamente las decisiones de escalado de las aplicaciones web y los planes de App Service. Es diferente de la escalabilidad automática de Azure ya existente, que permite definir reglas de escalado basadas en programaciones y recursos. Con el escalado automático, es posible ajustar la configuración de escalado para mejorar el rendimiento de la aplicación y evitar problemas de arranque en frío. La plataforma precalienta las instancias para que actúen como un búfer al escalar horizontalmente, lo que garantizará transiciones de rendimiento fluidas. Puede usar métricas en directo de Application Insights para comprobar el recuento de instancias actual y performanceCounters para ver el historial de recuento de instancias. Se le cobrará por segundo por cada instancia, incluidas las instancias activadas previamente.

Comparación de las opciones de escalado horizontal y reducción de escalado horizontal disponibles en App Service:

  Manual Autoscale Escalado automático
Planes de tarifa disponibles Básico y superiores Estándar y superiores Premium V2 (P1V2, P2V2, P3V2) y Premium V3 (P1V3, P2V3, P3V3)
Escalado basado en reglas No No, la plataforma administra el escalado y la reducción de escalado horizontal en función del tráfico HTTP.
Escalado basado en programación No No
Instancias siempre preparadas No, la aplicación web se ejecuta en el número de instancias escaladas manualmente. No, la aplicación web se ejecuta en otras instancias disponibles durante la operación de escalado horizontal, en función del umbral definido para las reglas de escalabilidad automática. Sí (mínimo 1)
Instancias activadas previamente No No Sí (valor predeterminado 1)
Máximo por aplicación No No

Cómo funciona el escalado automático

Habilite el escalado automático para un plan de App Service y configure un rango de instancias para cada una de las aplicaciones web. A medida que la aplicación web comience a recibir tráfico HTTP, App Service supervisará la carga y agregará instancias. Los recursos se pueden compartir cuando se requieren varias aplicaciones web en un plan de App Service para el escalado horizontal simultáneo.

Estos son algunos escenarios en los que debe realizar el escalado horizontal automáticamente:

  • No se recomienda configurar reglas de escalabilidad automática basadas en métricas de recursos.
  • Se recomienda que las aplicaciones web en el mismo plan de App Service se escalen de forma diferente e independientemente unas de otras.
  • La aplicación web está conectada a una base de datos o a un sistema heredado, que podría no escalar tan rápido como la aplicación web. El escalado permite establecer automáticamente el número máximo de instancias a las que puede escalar con el plan de App Service. Esta configuración ayuda a la aplicación web a no sobrecargar el back-end.

Habilitación del escalado automático

Ráfaga máxima es el número máximo de instancias que se pueden aumentar con el plan de App Service en función de las solicitudes HTTP entrantes. En el caso de los planes Premium v2 y v3, puede establecer una ráfaga máxima de hasta 30 instancias. La ráfaga máxima debe ser igual o mayor que el número de trabajos especificados para el plan de App Service.

Importante

Always ON debe deshabilitarse para usar el escalado automático.

Para habilitar el escalado automático, vaya al menú de la izquierda de la aplicación web y seleccione Escalar horizontalmente (Plan de App Service). Seleccione Automática (versión preliminar), actualice el valor de Ráfaga máxima y haga clic en el botón Guardar.

Automatic scaling in Azure portal

Establecimiento del número mínimo de instancias de aplicación web

Las instancias siempre preparadas son una configuración de nivel de aplicación para especificar el número mínimo de instancias. Si la carga supera lo que las instancias siempre listas pueden controlar, se agregan instancias adicionales (hasta la ráfaga máxima especificada para el plan de App Service).

Para establecer el número mínimo de instancias de aplicación web, vaya al menú izquierdo de la aplicación web y seleccione Escalar horizontalmente (plan de App Service). Actualice el valor Instancias siempre listas y seleccione el botón Guardar.

Screenshot of always ready instances

Establecimiento del número máximo de instancias de aplicación web

El límite de escala máximo establece el número máximo de instancias a las que una aplicación web puede escalar. El límite de escala máximo ayuda cuando un componente de nivel inferior, como una base de datos, tiene un rendimiento limitado. El máximo por aplicación puede estar entre 1 y la ráfaga máxima.

Para establecer el número máximo de instancias de aplicación web, vaya al menú izquierdo de la aplicación web y seleccione Escalar horizontalmente (plan de App Service). Seleccione Aplicar límite de escalabilidad horizontal, actualice el límite de escalado máximo y seleccione el botón Guardar.

Screenshot of maximum scale limit

Actualización de instancias precalentadas

La configuración de instancias actividades previamente proporciona instancias inicializadas como búfer durante los eventos de activación y escala HTTP. Las instancias activadas previamente siguen almacenándose en el búfer hasta que se alcanza el límite máximo de escalabilidad horizontal. El número predeterminado de instancias activadas previamente es 1 y, en la mayoría de los escenarios, este valor debería dejarse en 1.

No puede cambiar la configuración de las instancias activadas previamente en el portal; en su lugar, debe usar la CLI de Azure.

Deshabilitación del escalado automático

Para deshabilitar el escalado automático, vaya al menú de la izquierda de la aplicación web y seleccione Escalar horizontalmente (Plan de App Service). Seleccione Manual y seleccione el botón Guardar.

Screenshot of manual scaling

¿El escalado automático admite las aplicaciones de Azure Functions?

No, solo puede tener aplicaciones web de Azure App Service en el plan de App Service en el que desea habilitar el escalado automático. Si ya tiene aplicaciones de Azure Functions en el mismo plan de App Service, o si crea nuevas aplicaciones Azure Functions, se deshabilita el escalado automático. Para Functions, se recomienda usar el plan Premium de Azure Functions en su lugar.

Más recursos