Skip to main content

Command Palette

Search for a command to run...

🚀 Cómo Configurar Virtual Machine Scale Sets en Azure 📈

Adapta tus Recursos al Ritmo de tus Necesidades con el Autoescalado

Published
🚀 Cómo Configurar Virtual Machine Scale Sets en Azure 📈
J

Ingeniero de software senior con más de 12 años de experiencia, especializado en el desarrollo de aplicaciones empresariales y soluciones en Azure. Mi trayectoria incluye el diseño e implementación de Aplicaciones Web, Desktop, API's y Microservicios escalables, y desarrollo de arquitecturas robustas basadas en .NET.

Email: jesusegarcia@gmail.com CV Online: https://app.onlinecv.es/share/07cd112ed04b4f6db4904dca3be52244

Introducción

En la nube, mantener un equilibrio entre rendimiento, costo y eficiencia es crucial. Azure ofrece diversas herramientas que facilitan esta gestión, siendo el autoescalado de máquinas virtuales una de las más destacadas.

En este post, exploraremos cómo esta funcionalidad no solo optimiza recursos, sino que también reduce costos operativos, adaptándose inteligentemente a las necesidades de tu infraestructura.

¿Qué es este servicio?

El autoescalado en Azure es un servicio que permite ajustar automáticamente la cantidad de recursos virtuales disponibles en función de las necesidades reales de las aplicaciones en cualquier momento. Esto se logra mediante la configuración de parámetros que escalan los recursos hacia arriba o hacia abajo basados en métricas específicas, como la CPU, memoria o incluso datos de telemetría personalizados.

¿Qué cubrirá este post?

  • Conceptos básicos del autoescalado: ¿Qué es y cómo funciona?

  • Configuración del autoescalado: Pasos para implementarlo en tu entorno Azure.

  • Probando el autoescalado: Ejecutar un script en linux para probar el autoescalado

¿Por qué es importante para los arquitectos de soluciones?

Para los arquitectos de soluciones en Azure, el autoescalado es una herramienta vital. Permite diseñar sistemas más robustos y escalables, garantizando que los recursos estén disponibles cuando se necesiten y que se minimicen los costos cuando no. Esto es especialmente crucial en ambientes con carga de trabajo variable, donde predecir el uso de recursos puede ser desafiante.

¿Qué problemas puede resolver?

El autoescalado resuelve varios problemas clave:

  • Sobredimensionamiento y subdimensionamiento: Ajusta los recursos automáticamente, evitando el gasto excesivo o la falta de capacidad.

  • Manejo de picos de demanda: Garantiza la disponibilidad durante aumentos inesperados en la demanda sin intervención manual.

  • Optimización de costos: Reduce el gasto innecesario al disminuir recursos durante períodos de baja demanda.

  • Mejora del rendimiento: Asegura que las aplicaciones funcionen de manera óptima ajustando los recursos necesarios.

Ejercicio en Práctica

  1. Vamos a la opcion "Virtual Machine Scale Sets"

  1. Llenamos el fomrulario, le agregamos el nombre y crearemos con la imagen de windows 10.

  1. En la pestaña "Networking", crearemos una red virtual y le añadimos una NIC

  1. Al editar la nic permitiremos el acceso a traves de RDP

  1. Luego agregamos en "none" en las opciones de "load balancing options"

  1. Vemos que al crear este recurso se nos crea 2 instancias de maquinas virtuales.

  1. Ahora vamos a la opción Scaling

  1. Vamos a configurar el autoescalado basado en metricas a través de "Custom autoscale"

  1. Escogemos la opción "Scale based on a metric" y hacemos clic en el link "Add a rule"

  1. Añadimos la regla por defecto que tiene, que sería si el porcentaje de CPU supera el 70% escala en 1 maquina

  1. Salvamos los cambios.

  1. Al abrir la maquina virtual abrimos el task manager y corremos un script para aumentar el uso de CPU

  1. Despues de unos minutos veos el uso de porcentaje de cpu ya ha aumentado y superado mas del 70% qeu definimos en la regla

  1. Vemos que en la sección de instancias ya se ha creado otra instancia

Consideraciones finales

Implementar Virtual Machine Scale Sets en Azure puede transformar significativamente la manera en que gestionamos la infraestructura en la nube. A través de este servicio, los arquitectos de soluciones pueden asegurar que las aplicaciones sean robustas, ágiles y capaces de adaptarse dinámicamente a las condiciones cambiantes del mercado.

Invito a los lectores a explorar más a fondo este servicio y considerar cómo podría integrarse en sus propias soluciones arquitectónicas para lograr un entorno optimizado y coste-eficiente.