Arquitectura de escalabilidad automática para Microsoft Azure

NetScaler Console gestiona la distribución del tráfico del cliente mediante Azure DNS o Azure Load Balancer (ALB).

Distribución del tráfico mediante Azure DNS

El siguiente diagrama ilustra cómo se produce el escalado automático basado en DNS utilizando el administrador de tráfico de Azure como distribuidor de tráfico:

Distribución del tráfico Citrix Autoscale con Azure traffic manager

En el escalado automático basado en DNS, DNS actúa como una capa de distribución. El administrador de tráfico de Azure es el balanceador de cargas basado en DNS de Microsoft Azure. El administrador de tráfico dirige el tráfico del cliente a la instancia de NetScaler adecuada que está disponible en el grupo de escalado automático de NetScaler Console.

El administrador de tráfico de Azure resuelve el FQDN en la dirección VIP de la instancia de NetScaler.

Nota

En el escalado automático basado en DNS, cada instancia de NetScaler del grupo Autoscale de NetScaler Console requiere una dirección IP pública.

NetScaler Console desencadena la acción de escalado horizontal o horizontal a nivel de clúster. Cuando se activa un escalamiento horizontal, las máquinas virtuales registradas se aprovisionan y agregan al clúster. Del mismo modo, cuando se activa una escalación, los nodos se eliminan y se desaprovisionan de los clústeres NetScaler VPX.

Distribución del tráfico mediante Azure Load Balancer

El siguiente diagrama ilustra cómo se produce el escalado automático mediante el equilibrador de carga de Azure como distribuidor de tráfico:

Distribución del tráfico Citrix Autoscale con Azure Load Balancer

Azure Load Balancer es el nivel de distribución para los nodos del clúster. ALB administra el tráfico del cliente y lo distribuye a clústeres NetScaler VPX. ALB envía el tráfico del cliente a los nodos del clúster de NetScaler VPX que están disponibles en el grupo de escalado automático de NetScaler Console en todas las zonas de disponibilidad.

Nota

La dirección IP pública está asignada a Azure Load Balancer. Las instancias de NetScaler VPX no requieren una dirección IP pública.

NetScaler Console desencadena la acción de escalado horizontal o horizontal a nivel de clúster. Cuando se activa una ampliación, las máquinas virtuales registradas se aprovisionan y se agregan al clúster. Del mismo modo, cuando se activa una escalación, los nodos se eliminan y se desaprovisionan de los clústeres NetScaler VPX.

Grupo Autoscale de NetScaler Console

El grupo de Autoscale es un grupo de instancias NetScaler que equilibran la carga de las aplicaciones como una sola entidad y activan el escalado automático en función de los valores de parámetros de umbral configurados.

Grupo de recursos

El grupo de recursos contiene los recursos relacionados con el escalado automático de NetScaler. Este grupo de recursos le ayuda a administrar los recursos necesarios para el escalado automático. Para obtener más información, consulte Administrar grupos de recursos.

Conjunto de básculas de máquinas virtuales de fondo de Azure

La escala de máquinas virtuales de Azure es un conjunto de instancias de VM idénticas. El número de instancias de VM puede aumentar o disminuir dependiendo del tráfico del cliente. Este conjunto proporciona alta disponibilidad para sus aplicaciones. Para obtener más información, consulte Conjuntos de escalas de máquinas virtuales.

Zonas de disponibilidad

Las zonas de disponibilidad son ubicaciones aisladas dentro de una región de Azure. Cada región se compone de varias zonas de disponibilidad. Cada zona de disponibilidad pertenece a una sola región. Cada zona de disponibilidad tiene un clúster NetScaler VPX. Para obtener más información, consulte Zonas de disponibilidad en Azure.

Conjuntos de disponibilidad

Un conjunto de disponibilidad es una agrupación lógica de un clúster de NetScaler VPX y servidores de aplicaciones. Los conjuntos de disponibilidad son útiles para implementar instancias de NetScaler en varios nodos de hardware aislados de un clúster. Con un conjunto de disponibilidad, puede garantizar un escalado automático fiable de la consola NetScaler en caso de que se produzca un error de hardware o software en Azure. Para obtener más información, consulte Conjuntos de disponibilidad.

El siguiente diagrama ilustra el escalado automático en un conjunto de disponibilidad:

Conjunto de disponibilidad

La infraestructura de Azure (ALB o Azure Traffic Manager) envía el tráfico del cliente a un grupo de escalado automático de NetScaler Console en el conjunto de disponibilidad. NetScaler Console desencadena la acción de escalado horizontal o horizontal a nivel de clúster.

Cómo funciona el escalado automático

El siguiente diagrama de flujo ilustra el flujo de trabajo de Autoscale:

Diagrama de flujo de Autoscale de Citrix

La consola de NetScaler recopila las estadísticas (CPU, memoria y rendimiento) de los clústeres aprovisionados de Autoscale para cada minuto.

Las estadísticas se evalúan con respecto a los umbrales de configuración. En función de las estadísticas, se activa la opción de escalado horizontal o vertical. El escalamiento horizontal se activa cuando las estadísticas superan el umbral máximo. La escalabilidad se activa cuando las estadísticas funcionan por debajo del umbral mínimo.

Si se activa un escalamiento horizontal:

  1. Se aprovisiona el nuevo nodo.

  2. El nodo está conectado al clúster y la configuración se sincroniza desde el clúster al nuevo nodo.

  3. El nodo está registrado en NetScaler Console.

  4. Las nuevas direcciones IP de los nodos se actualizan en el administrador de tráfico de Azure.

Si se activa una escala en escala:

  1. Se identifica el nodo que se va a eliminar.

  2. Detener nuevas conexiones al nodo seleccionado.

  3. Espera el período especificado para que las conexiones se agoten. En el tráfico DNS, también espera el período de tiempo de vida (TTL) especificado.

  4. El nodo se separa del clúster, se cancela el registro de NetScaler Console y, a continuación, se desaprovisiona de Microsoft Azure.

Nota

Cuando se implementa la aplicación, se crea un conjunto de IP en clústeres de cada zona de disponibilidad. A continuación, las direcciones IP de dominio y instancia se registran con el administrador de tráfico de Azure o ALB. Cuando se quita la aplicación, las direcciones IP de dominio y instancia se anulan del registro del administrador de tráfico de Azure o ALB. A continuación, se elimina el conjunto de IP.

Ejemplo de escenario de escalado automático

Tenga en cuenta que ha creado un grupo de Autoscale denominado asg_arn en una sola zona de disponibilidad con la siguiente configuración.

  • Parámetros de umbral seleccionados: Uso de memoria.

  • Límite de umbral establecido para la memoria:

    • Límite mínimo: 40

    • Límite máximo: 85

  • Tiempo de visualización: 2 minutos.

  • Período de enfriamiento: 10 minutos.

  • Tiempo de espera durante la retirada del aprovisionamiento: 10 minutos.

  • Tiempo de vida DNS: 10 segundos.

Una vez creado el grupo de Autoscale, las estadísticas se recopilan del grupo de Autoscale. La directiva Autoscale también evalúa si hay algún evento de Autoscale en curso. Si el escalado automático está en curso, espere a que se complete el evento antes de recopilar las estadísticas.

Gráfico de líneas Citrix Autoscale

La secuencia de eventos

  1. El uso de memoria supera el límite en la T2. Sin embargo, la escala horizontal no se activa porque no se ha infringido durante el tiempo de visualización especificado.

  2. El escalamiento horizontal se activa en T5 después de superar un umbral máximo durante 2 minutos (tiempo de visualización) de forma continua.

  3. No se tomó ninguna medida por la brecha entre la T5-T10 porque el aprovisionamiento del nodo está en curso.

  4. El nodo se aprovisiona en T10 y se agrega al clúster. Se ha iniciado el periodo de enfriamiento.

  5. No se ha tomado ninguna medida por la brecha entre T10-T20 debido al período de tiempo de reutilización. Este período asegura el crecimiento orgánico de instancias de un grupo de Autoscale. Antes de activar la siguiente decisión de escalado, espera a que el tráfico actual se estabilice y promedie en el conjunto actual de instancias.

  6. El uso de memoria cae por debajo del límite mínimo en el T23. Sin embargo, la escala-in no se activa porque no se incumplió durante el tiempo de visualización especificado.

  7. La escalabilidad se activa en el T26 después de superar el umbral mínimo durante 2 minutos (tiempo de visualización) de forma continua. Se identifica un nodo en el clúster para el desaprovisionamiento.

  8. No se tomó ninguna medida en relación con la brecha entre el T26 y el T36 porque la consola NetScaler está esperando para agotar las conexiones existentes. Para el escalado automático basado en DNS, TTL está en vigor.

    Nota

    Para el escalado automático basado en DNS, NetScaler Console espera el período de vida (TTL) especificado. A continuación, espera a que las conexiones existentes se agoten antes de iniciar el desaprovisionamiento de nodos.

  9. No se tomó ninguna medida por la violación entre el T37-T39 porque el desaprovisionamiento del nodo está en curso.

  10. El nodo se elimina y se desaprovisiona en el T40 del clúster.

Todas las conexiones al nodo seleccionado se drenaron antes de iniciar el desaprovisionamiento del nodo. Por lo tanto, el período de reutilización se omite después de que se desaprovisione el nodo.

Arquitectura de escalabilidad automática para Microsoft Azure