Escalabilidad automática de una aplicación web mediante métricas personalizadas

En este artículo se describe cómo configurar la escalabilidad automática de una aplicación web mediante una métrica personalizada en Azure Portal.

La escalabilidad automática permite agregar y quitar recursos para controlar los aumentos y las disminuciones de carga. En este artículo, le mostraremos cómo configurar la escalabilidad automática de una aplicación web mediante una de las métricas de Application Insights para escalar y reducir horizontalmente la aplicación web.

Nota

El escalado automático en métricas personalizadas de Application Insights solo se admite para las métricas publicadas en espacios de nombres Standard y Azure.ApplicationInsights. Si se usan otros espacios de nombres para métricas personalizadas en Application Insights, devolverá el error Unsupported Metric (Métrica no compatible).

La escalabilidad automática de Azure Monitor se aplica a:

Requisito previo

Necesita una cuenta de Azure con una suscripción activa. También puede crear una cuenta de forma gratuita.

Información general

Para crear una aplicación web con escalabilidad automática:

  1. Si no tiene ninguno, cree un plan de App Service. No se puede configurar la escalabilidad automática para los niveles gratuitos o básicos.
  2. Si aún no tiene ninguna, cree una aplicación web mediante el plan de servicio.
  3. Configure la escalabilidad automática para el plan de servicio.

Creación de un plan de App Service

Un plan de App Service define un conjunto de recursos de proceso para la ejecución de una aplicación web.

  1. Abra Azure Portal.

  2. Busque y seleccione Planes de App Service.

    Screenshot that shows searching for App Service plans.

  3. En la página Plan de App Services, seleccione Crear.

  4. Seleccione un Grupo de recursos o cree uno.

  5. Escriba un Nombre para el plan.

  6. Seleccione un Sistema operativo y una Región.

  7. Seleccione una SKU y un tamaño.

    Nota

    No se puede usar la escalabilidad automática con niveles gratuitos o básicos.

  8. Seleccione Revisar y crear>Crear.

    Screenshot that shows the Basics tab of the Create App Service Plan screen on which you configure the App Service plan.

Creación de una aplicación web

  1. Busque y seleccione App Services.

    Screenshot that shows searching for App Services.

  2. En la página App Services, seleccione Crear.

  3. En la pestaña Aspectos básicos, escriba un Nombre y seleccione una Pila en tiempo de ejecución.

  4. Seleccione el Sistema operativo y la Región que eligió al definir el plan de App Service.

  5. Seleccione el Plan de App Service que creó anteriormente.

  6. Seleccione la pestaña Supervisión.

    Screenshot that shows the Basics tab of the Create Web App page where you set up a web app.

  7. En la pestaña Supervisión, seleccione para habilitar Application Insights.

  8. Seleccione Revisar y crear>Crear.

    Screenshot that shows the Monitoring tab of the Create Web App page where you enable Application Insights.

Configuración de escalado automático

Configure las opciones de escalabilidad automática para el plan de App Service.

  1. Busque y seleccione Escalabilidad automática en la barra de búsqueda o seleccione Escalabilidad automática en Monitor en la barra de menús de la izquierda.

  2. Seleccione su plan de App Service. Solo puede configurar planes de producción.

    Screenshot that shows the Autoscale page where you select the resource to set up autoscale.

Configuración de una regla de escalabilidad horizontal

Configure una regla de escalabilidad horizontal para que Azure ponga en marcha otra instancia de la aplicación web cuando la aplicación web controle más de 70 sesiones por instancia.

  1. Seleccione Escalabilidad automática personalizada.

  2. En la sección Reglas de la condición de escalabilidad predeterminada, seleccione Agregar una regla.

    Screenshot that shows the Autoscale setting page where you set up the basic autoscale settings.

  3. En la lista desplegable Origen de métrica, seleccione Otro recurso.

  4. En Tipo de recurso, seleccione Application Insights.

  5. En la lista desplegable Recurso, seleccione la aplicación web.

  6. Seleccione un Nombre de métrica en el que basar el escalado. Por ejemplo, use Sesiones.

  7. Seleccione la casilla Habilitar división de métrica por recuento de instancias para que se mida el número de sesiones por instancia.

  8. En la lista desplegable Operador, seleccione Mayor que.

  9. Escriba el Umbral de métrica para desencadenar la acción de escalado. Por ejemplo, use 70.

  10. En Acción, establezca Operación en Aumentar recuento en. Establezca Recuento de instancias en 1.

  11. Seleccione Agregar.

    Screenshot that shows the Scale rule page where you configure the scale-out rule.

Configuración de una regla de reducción horizontal

Configure una regla de reducción horizontal para que Azure reduzca una de las instancias cuando el número de sesiones que controla la aplicación web sea inferior a 60 por instancia. Azure reduce el número de instancias cada vez que se ejecuta esta regla hasta que se alcanza el número mínimo de instancias.

  1. En la sección Reglas de la condición de escalabilidad predeterminada, seleccione Agregar una regla.

  2. En la lista desplegable Origen de métrica, seleccione Otro recurso.

  3. En Tipo de recurso, seleccione Application Insights.

  4. En la lista desplegable Recurso, seleccione la aplicación web.

  5. Seleccione un Nombre de métrica en el que basar el escalado. Por ejemplo, use Sesiones.

  6. Seleccione la casilla Habilitar división de métrica por recuento de instancias para que se mida el número de sesiones por instancia.

  7. En la lista desplegable Operador, seleccione Menor que.

  8. Escriba el Umbral de métrica para desencadenar la acción de escalado. Por ejemplo, use 60.

  9. En Acción, establezca Operación en Reducir recuento en y establezca Recuento de instancias en 1.

  10. Seleccione Agregar.

    Screenshot that shows the Scale rule page where you configure the scale-in rule.

Limitación del número de instancias

  1. Establezca el número máximo de instancias que se pueden poner en marcha en el campo Máximo de la sección Límites de instancia. Por ejemplo, use 4.

  2. Seleccione Guardar.

    Screenshot that shows the Autoscale setting page where you set up instance limits.

Limpieza de recursos

Si no va a seguir usando esta aplicación, elimine los recursos.

  1. En la página de información general de App Service, seleccione Eliminar.

    Screenshot that shows the App Service page where you can delete the web app.

  2. En la página Configuración de escalabilidad automática, en la pestaña JSON, seleccione el icono de papelera junto al nombre de la configuración de escalabilidad automática. Tenga en cuenta que la configuración de escalabilidad automática no se elimina junto con el plan de App Service a menos que elimine el grupo de recursos. Si no elimina la configuración de escalabilidad automática y vuelve a crear un plan de App Service con el mismo nombre, este heredará la configuración de escalabilidad automática original.

  3. En la página Planes de App Service, seleccione Eliminar.

    Screenshot that shows the App Service plans page where you can delete the App Service plan.

Pasos siguientes

Para más información sobre el escalado automático, consulte los siguientes artículos: