Una de las ventajas más importantes del Cloud Computing, es su capacidad elástica, cada vez son más las personas que acuñan el término “Cattle versus Pets”, con lo que pasamos de utilizar las maquinas con cuidado y arreglar el servicio aunque nos llevara horas de mantenimiento, para pasar a un pensamiento de “No funciona, la elimino y creo otra”.

La escalabilidad es una de las razones que han hecho muy útil el uso de la “nube” debido a poder incrementar las capacidades de entorno de forma rápida y eficaz sin caída de servicio.

Microsoft ha conseguido realizar una interfaz simple en la que rápidamente podemos crear un sistema de escalado a través de imágenes.

¿Qué es un Scale Set?

Es un conjunto de máquinas idénticas que se generan a través de una imagen. A cada una de las maquinas que forman parte de un Scale Set, se les denomina “Instancias”.

Este recurso se configura de forma automática sin la necesidad que tengamos que estar creando diferentes máquinas y comunicación entre ellas.

A la hora de crearlo podemos elegir el mínimo de máquinas que queremos que ejecute el servicio y el máximo.

Este conjunto de instancias, crece o decrece según la demanda de forma manual, o utilizando reglas. Estas reglas utilizan métricas para realizar un autoescalado. (Como el consumo de la CPU)

Ventajas de un Scale Set

  • Facilitan la creación y administración de varias máquinas virtuales
  • Proporcionan alta disponibilidad y resistencia de aplicación
  • Permiten escalado automático en base a la demanda
  • Funciona a gran escala

Además de todo esto, si no tenemos suficiente con las imágenes que están disponibles para crearlo, podemos generar una imagen personalizada y subirla al repositorio para poder crearlo con nuestras necesidades.

¿Porque utilizar un Scale Set en vez de máquinas virtuales por separado?

Utilizar un Scale Set nos ayuda a la hora de configurar una infraestructura para un recurso o aplicación sin la necesidad de preocuparnos de tener que utilizar maquinas similares y configurarla una a una, crear comunicación entre ellas, y disponer de un plan de fallo en caso de que la demanda supere las capacidades de computación.

Un escalado automatiza la creación de máquinas idénticas a través de imágenes y las integra de forma automática con un balanceador de carga o un Gateway que además de su función, permite la comunicación directa a las diferentes instancias como el caso del RDP.

Comentar que si queremos conectar por RDP a las maquinas tenemos que dirigirnos al puerto de la instancia, este lo podemos ver en las NAT Rules del Load Balancer.

En el vídeo os mostramos como llevar a cabo un Scale Set a través del Portal, con autoescalado.

Para un Scale Set desde Powershell, tendríamos que realizar los siguientes Scripts.

New-AzureRmVmss -ResourceGroupName "RGScaleSet" -Location "EastUS" -VMScaleSetName "VMScaleSet" -VirtualNetworkName "Vnet" -SubnetName "Subnet" -PublicIpAddressName "PulicIP"-LoadBalancerName "scaleset30052018"-UpgradePolicy "Automatic"

Con esto ya tendríamos nuestro Scale Set. Si queremos ver las instancias:

Get-AzureRmVmssVM -ResourceGroupName "RGScaleSet" -VMScaleSetName "VMScaleSet"

Si queremos incrementar el número de instancias:

Creamos una variable con el ScaleSet

$scaleset = Get-AzureRmVmss -ResourceGroupName "RGScaleSet" -VMScaleSetName "VMScaleSet"

Modificamos el parámetro SKU, para indicar el número:

$scaleset.sku.capacity = 3

Actualizamos las instancias del ScaleSet

Update-AzureRmVmss -ResourceGroupName "RGScaleSet" -Name "VMScaleSet" -VirtualMachineScaleSet $scaleset

Comprobamos las instancias:

Get-AzureRmVmssVM -ResourceGroupName "RGScaleSet" -VMScaleSetName "VMScaleSet"

Si quieres más información acerca de configuración y administración de ScaleSet mediante Powershell, visitar este enlace

 

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.