Bit - loader

Alta disponibilidad de máquinas virtuales en Azure


Netmind - Alta disponibilidad de máquinas virtuales en Azure    Artículo | Azure
Joan Carles Roca | 11/06/18

En este artículo veremos cómo aumentar la disponibilidad de las máquinas virtuales en Azure utilizando la característica Availability Sets (conjuntos de disponibilidad).

 

Los Availability Sets aseguran que las máquinas virtuales que desplegamos en Azure se distribuyen a través de múltiples equipos físicos, nodos de un cluster. Consecuentemente, si se produce un fallos de hardware o software en Azure, únicamente un subconjunto de máquinas virtuales quedarán afectadas.

 

Así mismo los Availability Sets, distribuyen las máquinas virtuales a través de distintos armarios rack, unidades de almacenamiento, y switches..

 

Supongamos que tenemos un servicio con una configuración típica de Front-End Back-End y que usamos dos máquinas virtuales para Back-end que gestionan bases de datos y cuatro para Front-End que son servidores web. Lo que debemos hacer es crear dos Availability Sets, uno por Tier, es decir una para las máquinas virtuales de Back-End y otro para las de Front-End.

 

Alta disponibilidad de máquinas virtuales en Azure 0

 

Cuando creamos una nueva máquina virtual podemos especificar a que Availability Set la queremos asociar y Azure se asegura automáticamente de que dicha máquina virtual quede aislada respecto a los recursos de computación, almacenamiento, red, para garantizar la disponiblidad del Tier. Cada máquina virtual está conectada a distintos recursos de hardware, quedando nuestro servicio protegido por fallos de hardware o software en Azure.

 

Se puede crear un Availability Set de forma gráfica o mediante PowerShell con el comando New-AzureRmAvailabilitySet.

 

Las máquinas virtuales deben ser creadas dentro de un Availability Set para asegurar su correcta distribución en el hardware de Azure. No podemos añadir una máquina virtual a un Availability Set una vez ésta ha sido creada.

 

Las ubicaciones de hardware están divididas en múltiples update domains y fault domains.

 

Un update domain es un grupo de de máquinas virtuales y el hardware físico que las sustenta que pueden ser reiniciadas simultáneamente.

 

Alta disponibilidad de máquinas virtuales en Azure 1

 

Las máquinas virtuales en el mismo fault domain comparten almacenamiento común, fuentes de alimentación y switch.

 

Cuando creamos una máquina virtual mendiante el commandlet New-AzureRmVM podemos usar el parámetro –AvailabilitySetName para especificar el Availability Set donde queremos ubicar la máquina virtual.

 

En el portal podemos encontrar los Availability Sets en  Resource Groups > myResourceGroupAvailability > myAvailabilitySet y comprovar los equipos asociados a dicho availability Set.

 

Otra solución en Azure son los Scale Sets. Un Scale Set de máquinas virtuales nos permite desplegar y administrar un conjunto de máquinas virtuales idénticas escalando su número automáticamente. Las máquinas virtuales están distribuidas a través de fault domains y update domains en uno o más “placement groups”, similar a availability sets.

 

Los equipos en un scale set, se crean de forma automática cuando es necesario. Definiremos “Autocale Rules” para controlar cuando se incrementa el número de máquinas virtuales y cuando disminuye. Estas reglas pueden activarse basándose en métricas como carga de CPU, uso de memoria o tráfico de red.

 

Alta disponibilidad de máquinas virtuales en Azure 2Los Scale Sets suportan hasta 1000 máquinas virtuales si usamos una imagen de Azure.  Si la máquina virtual parte de una imagen customizada, podremos crear hasta 300 máquinas virtuales en un Scale Set.

 

Tanto los incrementos de máquinas virtuales como su eliminación serán seguidos por un período de tiempo de estabilización llamado CoolDown. Después de un incremento de máquinas virtuales, por ejemplo debido a un uso muy alto de CPU, esperaremos por ejemplo cinco minutos para que con la nueva máquina virtual la situación se estabilice, se reparta la carga y el consumo de CPU disminuya en las máquinas virtuales.

Si no tuviéramos en cuenta un período de tiempo, podría pasar que se desplegaran innecesariamente varias máquinas virtuales.

 

También podemos aumentar o disminuir el número de máquinas virtuales con criterios de fechas. Por ejemplo, imaginemos que nuestra empresa realiza una campaña de promoción durante un mes concreto o que vamos a afrontar el período de rebajas. Podríamos crear reglas en las que aumentáramos el número de máquinas virtuales horas antes del primer día de rebajas en siete unidades más y que minutos después de la fecha de finalización de rebajas se disminuyera el número de máquinas virtuales al original.

 


Entradas relacionadas
Nuestro sitio utiliza cookies para análisis. Si no estás seguro de ello, echa un vistazo a nuestra política de privacidad.