Ejercicio: Escalado vertical de una aplicación web

Completado

El escalado vertical proporciona recursos más eficaces para ejecutar una aplicación web. También aumenta el número de instancias disponibles para el escalado horizontal.

En el sistema de reservas de hotel, es necesario realizar un escalado horizontalmente para controlar el número creciente de personas que visitan la aplicación web. El escalado vertical le permite llevar a cabo un escalado horizontal todavía mayor. El escalado vertical también es probable que sea necesario para admitir la nueva funcionalidad que agregue a la aplicación web.

En este ejercicio, escala verticalmente la aplicación web del sistema de reservas de hotel que ha implementado anteriormente. Ejecute la misma aplicación cliente de prueba que ha usado antes y supervisará el rendimiento de la aplicación web.

Consulta del plan de tarifa actual de la aplicación web

Importante

Para realizar este ejercicio, se necesita una suscripción de Azure propia y puede que se apliquen cargos. Si aún no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.

  1. Inicie sesión en Azure Portal.

  2. En el menú de Azure Portal o la página Inicio, seleccione Todos los recursos y luego vaya a su plan de App Service.

  3. En Configuración, seleccione Escalar verticalmente (plan de App Service). Verá los detalles del plan de tarifa de su plan de App Service. El plan de tarifa es S1, que proporciona 100 unidades de proceso de Azure y 1,75 GB de memoria, que se ejecutan en una máquina virtual de serie A.

    Screenshot of the pricing tier details for the App Service plan S1.

Ejecución de la aplicación cliente de prueba

  1. En la ventana de Cloud Shell a la derecha de la pantalla, vaya a la carpeta ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient:

    cd ~/mslearn-hotel-reservation-system/src/HotelReservationSystemTestClient
    
  2. Ejecute la aplicación cliente. Deje que el sistema se ejecute durante un par de minutos. Al principio del ejercicio anterior, las respuestas son lentas. Las solicitudes de cliente pronto producirán errores HTTP 408 (tiempo de espera).

    dotnet run
    
  3. Siga ejecutando la aplicación. Espere otros cinco minutos. Después, vaya al gráfico en el que se muestran las métricas de la aplicación web en el panel de Azure Portal. Al igual que en el ejercicio anterior, verá que las estadísticas indican un tiempo de respuesta relativamente lento y muchos errores HTTP 4xx.

Escalado vertical de la aplicación web y supervisión de los resultados

  1. En Azure Portal, vuelva a la página del plan de App Service.

  2. En Configuración, seleccione Escalar verticalmente (plan de App Service).

  3. Seleccione el plan de tarifa P2V2 y seleccione Aplicar. Este plan de tarifa proporciona 420 ACU (más de cuatro veces la potencia del plan de tarifa S1) y 7 GB de memoria que se ejecuta en una máquina virtual de la serie Dv2. Pero esta máquina virtual cuesta cuatro veces el precio de ejecutar el plan de tarifa S1.

  4. Espere otros cinco minutos y, después, eche un vistazo al gráfico de rendimiento en el panel de Azure Portal.

  5. Mientras se realiza el escalado vertical del sistema, es posible que se muestren algunos otros errores del servidor HTTP. Las solicitudes de cliente en curso que se anularon cuando el hardware conmutado por el sistema provocan estos errores. Después del escalado vertical, el tiempo de CPU aumenta porque existen más procesadores. Tal vez no observe la misma reducción en el tiempo de respuesta que percibió al realizar el escalado horizontal. Este comportamiento se debe a que todavía usa una sola instancia. La carga de las solicitudes no está siendo equilibrada como lo estaba cuando se escaló. Pero ahora tiene la oportunidad de realizar el escalado horizontal en más instancias que antes, concretamente en 20.

    En el gráfico de esta imagen se muestra un ejemplo de las métricas de rendimiento de la aplicación web. Se muestra el punto en el que se ha producido el escalado vertical del sistema.

    Screenshot of the performance chart for the web app, with the point of scale-up noted.

  6. Vuelva a la instancia de Cloud Shell en la que se ejecuta la aplicación cliente. Seleccione Entrar para detener la aplicación.