Funcionamiento de los conjuntos de escalado de máquinas virtuales de Azure

Completado

Los conjuntos de escalado de máquinas virtuales de Azure permiten crear y administrar un grupo de máquinas virtuales con equilibrio de carga. La capacidad o el número de instancias de máquina virtual (VM) pueden aumentar o disminuir automáticamente en respuesta a una programación que configure o cuando se alcancen las métricas de rendimiento que defina. Las instancias de máquina virtual de un conjunto de escalado de máquinas virtuales pueden tener la misma configuración o configuraciones diferentes.

Los conjuntos de escalado de máquinas virtuales proporcionan alta disponibilidad y escalado a las aplicaciones. Además, permiten administrar, configurar y actualizar de forma centralizada un gran número de máquinas virtuales. Con Virtual Machine Scale Sets, puede crear servicios a gran escala para áreas tales como proceso, macrodatos y cargas de trabajo de contenedor.

Los conjuntos de escalado están diseñados para la rentabilidad, la escalabilidad y la confiabilidad. Las nuevas instancias de máquina virtual solo se crean cuando son necesarias y se quitan cuando ya no lo son. Cuando se requieren nuevas instancias, estas se generan a partir de una imagen de plantilla que configura las instancias y las aplicaciones. Los conjuntos de escalado de máquinas virtuales de Azure le permite ejecutar un máximo de 1000 máquinas virtuales en un único conjunto de escalado.

Escalado de un conjunto de escalado

Los conjuntos de escalado de máquinas virtuales de Azure dan solución a la necesidad de crear y administrar rápidamente máquinas virtuales para cargas de trabajo variables. Puede configurar dos tipos de escalado para un conjunto de escalado:

  • Escalado programado: puede programar de forma proactiva el conjunto de escalado para implementar una o un número N de instancias adicionales para acomodar un pico en el tráfico y, después, volver a reducir el escalado cuando el pico se reduzca.

  • Escalado automático: si la carga de trabajo es variable y no se puede programar siempre, puede usar el escalado de umbral basado en métricas. El escalado automático realiza un escalado horizontal en función del uso de los nodos. Después, reduce de nuevo el escalado cuando los recursos vuelven a una línea base.

La escalabilidad automática se basa en un conjunto de condiciones, reglas y límites de escala. En una condición de escalado, se combinan el tiempo y un conjunto de reglas de escalado. Si la hora actual se encuentra dentro del período definido en la condición de escalado, se evalúan las reglas de escalado de la condición. Los resultados de esta evaluación determinan si se agregarán instancias al conjunto de escalado o se quitarán de este.

La condición de escalado también define los límites de escalado para el número máximo y mínimo de instancias. Limitar el número máximo de métricas le permite restringir el número de máquinas virtuales que se crearán para que una sobrecarga de tráfico no planeada no le deje automáticamente cargos de suscripción inesperados.

Puede basar el escalado automático en lo siguiente:

  • Programación: use este enfoque si sabe que tendrá una mayor carga de trabajo durante un período de tiempo o una fecha especificada. En el escalado basado en programación se especifica una hora de inicio y finalización, así como el número de instancias que se agregarán al conjunto de escalado.

  • Métricas: ajuste el escalado mediante la supervisión de las métricas de rendimiento asociadas al conjunto de escalado. Cuando estas métricas superan el umbral especificado, el conjunto de escalado puede iniciar automáticamente nuevas instancias de máquinas virtuales. Cuando las métricas indican que los recursos adicionales ya no son necesarios, el conjunto de escalado puede detener las instancias que sobren.

Estas métricas se usan habitualmente para supervisar un conjunto de escalado de máquinas virtuales:

  • Porcentaje de CPU: esta métrica indica el uso de CPU en todas las instancias. Un valor elevado muestra que las instancias realizan un uso intensivo de CPU, lo que podría retrasar el procesamiento de las solicitudes cliente.

  • Flujos de entrada y flujos de salida: estas métricas muestran la rapidez con la que el tráfico de red entra y sale de las máquinas virtuales en el conjunto de escalado.

  • Operaciones de lectura de disco por segundo y operaciones de escritura en disco por segundo: estas métricas muestran el volumen de E/S de disco en el conjunto de escalado.

  • Profundidad de cola del disco de datos: esta métrica muestra el número de solicitudes de E/S que están en espera de mantenimiento solo en los discos de datos de las máquinas virtuales.

Un conjunto de escalado de máquinas virtuales puede contener muchas condiciones de escalado. Se actúa sobre todas las condiciones de escalado que coinciden. Un conjunto de escalado también puede contener una condición de escalado predeterminada que se usa si ninguna otra coincide con la hora actual y las métricas de rendimiento.

La condición de escalado predeterminada siempre está activa. No contiene ninguna regla de escalado, actuando eficazmente como una condición de escalado null que no se escala vertical u horizontalmente. Sin embargo, puede modificar la condición de escalado predeterminada para establecer un recuento de instancias predeterminado, o puede agregar un par de reglas de escalado que se escalan horizontalmente y, de nuevo, verticalmente.

Conjuntos de escalado con instancias de acceso puntual de Azure Spot

Un conjunto de escalado de máquinas virtuales compuesto por máquinas virtuales de instancias de acceso puntual de Azure Spot permite usar recursos de proceso de Azure con una reducción de costos de hasta el 80 %. En la infraestructura global de Azure, los recursos de proceso infrautilizados suelen estar disponibles. Un conjunto de escalado que usa instancias de acceso puntual le permite ahorrar dinero mediante esta funcionalidad de proceso poco utilizada.

Nota

Al usar estas máquinas virtuales, tenga en cuenta que son temporales. La disponibilidad depende del tamaño, la región, la hora del día, etc. Estas máquinas virtuales no tienen ningún contrato de nivel de servicio.

Cuando Azure necesita de nuevo la potencia informática, recibirá una notificación de que la máquina virtual se quitó del conjunto de escalado. El uso de las instancia de acceso puntual en los conjuntos de escalado es útil para cargas de trabajo que se ejecutan con interrupciones, o bien cuando se necesitan máquinas virtuales de mayor tamaño con un costo mucho menor. Tenga en cuenta que no puede controlar cuándo es posible que se quite una máquina virtual.

Diferencia entre los conjuntos de escalado de máquinas virtuales y los grupos de máquinas virtuales manuales

Los conjuntos de escalado se generan a partir de máquinas virtuales. Con los conjuntos de escalado las capas de administración y automatización sirven para ejecutar y escalar sus aplicaciones. Antes de la disponibilidad de Virtual Machine Scale Sets, las organizaciones a menudo crean y administran manualmente máquinas virtuales individuales, o bien las herramientas existentes integradas para crear un nivel similar de automatización.

En esta tabla se describen las ventajas de los conjuntos de escalado en comparación con la administración manual de varias instancias de máquina virtual.

Escenario Grupo manual de máquinas virtuales Virtual Machine Scale Sets
Agregue instancias de máquina virtual adicionales Proceso manual para crear, configurar y garantizar el cumplimiento Creación automática a partir de la configuración central
Equilibrio y distribución del tráfico Proceso manual para crear y configurar una instancia de Azure Load Balancer o Application Gateway Posibilidad de crear e integrar automáticamente con Azure Load Balancer o Application Gateway
Alta disponibilidad y redundancia Creación manual de conjuntos de disponibilidad o distribución y seguimiento manual de las máquinas virtuales en las distintas zonas de disponibilidad Distribución automática de instancias de máquina virtual a través de las zonas de disponibilidad o conjuntos de disponibilidad
Escalado de máquinas virtuales Supervisión manual y Azure Automation Escalado automático basado en las métricas de host, las métricas de invitado, Application Insights o programación