Implementación de Infraestructura Elástica y Alta Disponibilidad mediante Virtual Machine Scale Sets en Azure
Introducción Este proyecto demuestra el despliegue de una infraestructura en la nube diseñada bajo los pilares de alta disponibilidad, escalabilidad automática y tolerancia a fallos. Utilizando los servicios de Microsoft Azure, se configuró un conjunto de escalado de máquinas virtuales integrado con un equilibrador de carga, Para validar el comportamiento dinámico del sistema, se realizaron pruebas de estrés sobre las instancias simulando una alta demanda de cómputo, forzando la creación automática de nuevos nodos para absorber la carga de trabajo de manera transparente y eficiente.
- Azure Resource Groups
- Azure Virtual Network & Subnets
- Azure Virtual Machine Scale Sets
- Azure Load Balancer
- Azure Monitor
- Network Security Groups
Paso-A-Paso
Creación e inicialización del Grupo de Recursos principal denominado RG-MONITORING en la región East US. Este contenedor alojará de forma centralizada todos los componentes de cómputo, red y monitoreo del proyecto

Despliegue de la red virtual de nube denominada Vnet-MNT dentro del grupo de recursos creado, asegurando el aislamiento de red necesario para la topología de la solución.

Segmentación y diseño de la subred específica para los servidores Subnet-Servers, asignándole el rango de direccionamiento IPv4 10.0.1.0/24 para alojar las interfaces del conjunto de escalado, luego le damos a crear

Una vez terminado lo que es la vnet creamos las maquinas virtuales para la creación de una nueva Virtual Machine Scale Set (VMSS)

Configuración de los parámetros base del VMSS, nombre del recurso VMMS-PROD, alta disponibilidad distribuida en 3 Zonas de Disponibilidad y selección del modo de orquestación Flexible, idóneo para una alta disponibilidad a escala con múltiples tipos de máquinas.

Habilitación de la funcionalidad de Autoscaling basada en métricas de rendimiento para transicionar de una capacidad estática a una arquitectura elástica.

una vez entramos a la configuración de escalado editamos la condición de escalado por defecto Default condition para personalizar los umbrales de rendimiento específicos.

Personalización fina de las métricas de elasticidad
Límites de instancias: Mínimo de 1, máximo de 3 y por defecto dejamos en 1
(Scale-out): Incremento de 1 instancia si el uso promedio de CPU supera el 50% durante un periodo de consulta de 5 minutos.
Reducción horizontal (Scale-in): Disminución de 1 instancia cuando el uso de la CPU cae por debajo del 20%.

Seleccionamos la imagen base del sistema operativo cuál guste, al igual que el tamaño, definimos las credenciales de la cuenta de administrador local.

Vinculación de las instancias del VMSS a la red virtual Vnet-MNT / Subnet-Servers e integración nativa con un nuevo equilibrador de carga público de Azure denominado LB-BLC para gestionar la entrada de tráfico entrante.

Una vez creado nos vamos a lo que es la configuracion de la máquina de scale luego instancias, y después apretamos sobre la máquina

Nos vamos a Networking setting para agregar una regla que nos permita el acceso mediante ssh a la máquina

Se agrega una regla de entrada Inbound security rule para permitir conexiones seguras a través del protocolo SSH Puerto 22 con origen restringido a la IP pública del administrador.

Conexión remota a la máquina virtual vía SSH utilizando las credenciales preconfiguradas. Posteriormente, se realiza la actualización de repositorios y la instalación de la suite de pruebas mediante el comando sudo apt update && sudo apt install stress-ng -y. La gráfica de Azure Monitor constata la estabilidad de la CPU en un estado basal previo al estrés (22.12%).

Ejecución del comando de inyección de carga sintética “stress --cpu 2 --timeout 300s”. Esta instrucción somete al procesador a una carga de cómputo máxima programada por un lapso continuo de 300 segundos
Validación del Autoescalado en Tiempo Real: A medida que la métrica de uso de la CPU rebasa el umbral crítico configurado del 50% (alcanzando el 59.49%), el motor de Azure Monitor dispara automáticamente las alertas de Scale-out. Se aprecia visualmente el despliegue dinámico y progresivo de nuevas instancias de máquinas virtuales VMMS-PROD_55f0d6fb y VMMS-PROD_9fb31057 para mantener la salud de la plataforma de producción.

Para finalizar una vez finalizado el comando stress-ng después de los 300 segundos, la CPU retorna a su estado base y, tras expirar el periodo de enfriamiento, el motor de Azure elimina las instancias adicionales de forma automática para optimizar costos Scale-in.