Saltar al contenido principal
InicioBlogIngeniería de datos

Guía completa sobre el uso de Azure Spot Instances para reducir costes

Explora cómo funcionan las Máquinas Virtuales Azure Spot, cómo pueden reducir significativamente tus costes en la nube, y descubre estrategias para su implantación práctica.
Actualizado 29 jul 2024  · 10 min leer

La computación en nube es útil para las aplicaciones de Ciencia de Datos e IA. Hay muchos proveedores de nube, y elegir el adecuado es crucial para nuestra aplicación. Sin embargo, un gran reto de la computación en nube es la gestión de los costes. Cuando desplegamos aplicaciones y cargas de trabajo en la nube, tenemos que ser conscientes de los costes, ya que las máquinas que funcionan en la nube pueden ser muy caras. 

En este artículo, exploraremos las máquinas virtuales (VM) Azure Spot, también llamadas instancias Azure Spot. Estas máquinas nos permiten ahorrar costes al desplegarlas en Microsoft Azure. Si eres nuevo en Microsoft Azure y necesitas una introducción, consulta nuestro curso Introducción a Azure. Para usuarios más avanzados, sería útil nuestro curso Arquitectura y Servicios de Azure. Por último, si buscas una referencia rápida, aquí encontrarás nuestra sencilla hoja comparativa de los distintos proveedores de nube: Comparación de servicios de AWS, Azure y GCP para ciencia de datos e IA.  

Vamos a sumergirnos en Azure Spot VMs.

¿Qué son las máquinas virtuales Azure Spot?

Las Azure Spot VM son máquinas virtuales sobrantes dentro de los centros de datos de Azure en un momento dado. Como estas máquinas no se utilizan actualmente, Azure las ofrece a precios significativamente reducidos, a veces hasta un descuento del 90% en comparación con el precio estándar de las máquinas virtuales Azure. 

Sin embargo, esta reducción de costes conlleva incertidumbre. Si se produce un aumento de la demanda de máquinas virtuales por parte de otros usuarios, Azure puede reclamar estas máquinas virtuales puntuales en cualquier momento y con poca antelación. Esto hace que las Spot VM sean muy impredecibles. En consecuencia, debemos utilizar las máquinas virtuales de reserva sólo para tareas que no requieran una disponibilidad constante y que puedan permitirse ser interrumpidas. Algunas de estas tareas son

Trabajos por lotes

Los trabajos por lotes son tareas que podemos ejecutar en un ordenador sin intervención manual. Estas tareas suelen procesarse en grandes grupos o "lotes", de forma secuencial o paralela. Estos trabajos suelen tener horas de inicio y fin flexibles y, por tanto, pueden pausarse y reanudarse sin interrupciones significativas. 

Por ejemplo, considera una institución financiera que necesita procesar transacciones al final de cada jornada laboral. Pueden configurar un trabajo por lotes para cargar automáticamente todos los miles o millones de transacciones de diversas fuentes, validarlas y, a continuación, actualizar los saldos de las cuentas en consecuencia. 

Entornos de prueba y desarrollo

Los entornos de prueba y desarrollo son entornos en los que los desarrolladores de software pueden crear y probar aplicaciones sin afectar al entorno de producción en vivo. Configurar estos entornos puede ser costoso, y aquí es donde se pueden utilizar las Spot VM. 

Por ejemplo, imagina un equipo que trabaja en un sitio web de comercio electrónico. Quieren probar una nueva función del sitio web que recomienda productos basándose en el historial de navegación del usuario. Pueden desarrollar esta función en su entorno de desarrollo y luego trasladarla a un entorno de pruebas, para comprobar rigurosamente si hay errores, problemas de rendimiento y experiencia de usuario. Esto puede hacerse en Spot VMs para diferentes configuraciones. Después de probarla con éxito, pueden desplegar la función en el entorno de producción, poniéndola a disposición de los clientes.

Aplicaciones tolerantes a fallos

Las aplicaciones tolerantes a fallos son aplicaciones que pueden seguir funcionando sin interrupción aunque fallen determinados componentes. Esto puede conseguirse con mecanismos integrados de redundancia y conmutación por error. Estas aplicaciones se adaptan bien a las máquinas virtuales Spot. Un ejemplo de aplicación de este tipo podría tener varios servidores que gestionen las peticiones de los usuarios. Si falla un servidor, el sistema redirige automáticamente las peticiones a otro servidor. Como estas operaciones son tolerantes a fallos, pueden utilizarse en máquinas virtuales puntuales para ahorrar costes.

Ventajas de las máquinas virtuales Azure Spot

La principal ventaja de utilizar máquinas virtuales Azure Spot es el importante ahorro de costes. Como hemos dicho, esto puede suponer hasta un 90% de descuento en comparación con los precios de las máquinas virtuales bajo demanda. Gracias a este descuento, podemos ampliar o reducir las cargas de trabajo en función de la capacidad disponible, lo que nos permite ejecutar operaciones a gran escala que, de otro modo, serían muy caras con máquinas virtuales bajo demanda. Además, con las Spot VM, podemos fijar el precio máximo que estamos dispuestos a pagar por la VM. Esto nos da control sobre nuestros gastos. 

Cuando Azure recupere la máquina virtual, también podemos seleccionar una política de desalojo para especificar qué ocurre a continuación: podemos desasignar o eliminar nuestra máquina virtual. Si seleccionamos desasignar la VM, se detendrá pero no borrará la VM. De este modo, podremos reiniciar la máquina virtual cuando vuelva a estar disponible. Mientras tanto, sólo pagaremos los gastos de almacenamiento. Si seleccionamos eliminar nuestra máquina virtual, se eliminarán todos nuestros datos y cargas de trabajo. 

Cómo desplegar una máquina virtual local

En esta sección, explicamos cómo desplegar una Máquina Virtual Spot y seleccionar las opciones asociadas a ella, como el precio y la política de desalojo. Podemos desplegar una única Spot VM o un grupo de Spot VM, conocido como Conjunto Escalable de Spot VM.

Single Spot VMs 

La forma más sencilla es crear una VM desde el portal de Azure. 

  1. Selecciona Máquinas Virtuales en Servicios en el portal y luego selecciona Crear
  2. En la página Crear una máquina virtual, rellena todos los datos y marca la casilla Ejecutar con descuento Azure Spot
  3. A continuación, debemos seleccionar el Tipo de desahucio y la Política de desahucio.  
  4. Para el tipo de Desahucio, podemos seleccionar Sólo capacidad o Precio o capacidad. Seleccionar Capacidad sólo desaloja nuestra máquina virtual cuando las máquinas virtuales de Azure están muy solicitadas. Esta opción fija el precio máximo que estamos dispuestos a pagar por el Spot VM. En cambio, para reducir el precio máximo, podemos seleccionar Precio o Capacidad. A continuación, tenemos que rellenar el precio máximo que estamos dispuestos a pagar. Con esta opción, Azure desaloja la máquina virtual cuando hay mucha demanda de máquinas virtuales de Azure o cuando el coste de una máquina virtual puntual supera el precio máximo especificado.
  5. También tenemos que seleccionar una política de desalojo: esto es lo que ocurriría si Azure desaloja nuestra máquina. Podemos seleccionar Desasignar o Eliminar. Seleccionar Desasignar detiene la VM, pero no borra los datos ni las aplicaciones de la VM. No se nos cobrará por la máquina virtual mientras esté parada, pero sí por el almacenamiento asociado. Esta opción es adecuada si queremos reiniciar la máquina virtual cuando vuelva a haber capacidad disponible. Si, en cambio, seleccionamos Eliminar, la VM y cualquier almacenamiento temporal asociado se eliminarán cuando Azure reclame la instancia. 

Creación de una máquina virtual en Microsoft AzureCreación de una máquina virtual. Fuente: Imagen del autor

También podemos utilizar Azure CLI y Azure PowerShell, entre otros métodos, para iniciar una Spot VM. Para más detalles, consulta la documentación de Azure sobre Spot VMs

Conjuntos de escalas de máquinas virtuales puntuales (VMSS) 

También podemos crear grupos de máquinas virtuales puntuales conocidos como Conjuntos de escalado de máquinas virtuales puntuales. Para ello, busca Conjuntos de escalado de máquinas virtuales en el portal de Azure y crea uno. VMSS nos permite automatizar el despliegue y la gestión de varias máquinas virtuales Spot, facilitando la ampliación y reducción según sea necesario. Podemos definir criterios de escalado, como el uso de la CPU o el tráfico de red, y establecer una capacidad deseada en función de nuestros requisitos de precio máximo y disponibilidad.

Buenas prácticas para las máquinas virtuales de Azure Spot

Recomendamos estas prácticas recomendadas cuando utilicemos Spot VMs para garantizar que nuestras cargas de trabajo sigan siendo resistentes y rentables.

Comprueba la capacidad

Antes de desplegar las máquinas virtuales Spot, compruebo la capacidad disponible en la región deseada y para los tamaños de máquina virtual que pienso utilizar. La capacidad de Azure fluctúa en función de la demanda de otros clientes, por lo que verificar la disponibilidad puede ayudarnos a tomar decisiones informadas sobre el despliegue de nuestras cargas de trabajo.

Fijar precio máximo

Fijo el precio máximo que estoy dispuesto a pagar por hora por una VM. Esto ayuda a controlar los costes.

Diseño para interrupciones

Dado que las máquinas virtuales de los Focos pueden adelantarse a corto plazo, recomiendo diseñar las cargas de trabajo para que sean resistentes a las interrupciones. Utiliza estrategias como el punto de control para guardar periódicamente el trabajo, permitiendo así reanudarlo desde el último punto de control en lugar de empezar de nuevo. Para las cargas de trabajo de procesamiento distribuido, asegúrate de que las tareas pueden redistribuirse entre las instancias restantes para mantener el rendimiento del procesamiento, incluso si algunas instancias se adelantan.

Establecer la supervisión

Una supervisión eficaz es otra estrategia crucial para gestionar eficazmente las máquinas virtuales de los focos. Azure proporciona herramientas para realizar un seguimiento del uso, los costes y los eventos de desalojo de las máquinas virtuales de un punto. Controlando estas métricas, podemos obtener información sobre el rendimiento de nuestras máquinas virtuales Spot, lo que nos permitirá ajustar nuestra estrategia según sea necesario. 

Azure Spot VMs vs. Instancias reservadas

A veces, utilizar una VM reservada puede ser más razonable que utilizar una VM puntual, dependiendo de la aplicación. Las máquinas virtuales reservadas son otro tipo de máquina virtual que también nos permite optimizar nuestros costes en la nube. Esta sección explica las diferencias entre estas dos instancias.

Spot VMs

Como ya hemos visto, las Spot VM suponen un importante ahorro de costes, a veces de hasta el 90% en comparación con los precios bajo demanda. Sin embargo, estas instancias pueden ser reclamadas por Azure con poca antelación en función de la demanda de capacidad. En consecuencia, debemos utilizar instancias puntuales para cargas de trabajo que sean flexibles en cuanto a los tiempos y que puedan soportar interrupciones. Esto incluye trabajos de procesamiento por lotes, entornos de desarrollo y pruebas, y aplicaciones sin estado que pueden distribuirse fácilmente entre varias instancias. 

Instancias reservadas

Las Instancias Reservadas, por otro lado, se adquieren por un plazo de uno o tres años. Podemos seleccionar un tipo concreto de máquina virtual con un descuento significativo sobre el precio bajo demanda, a cambio del compromiso de utilizarla durante un año o tres. La principal ventaja de utilizar Instancias Reservadas es que no hay riesgo de desalojo de Azure. Si la carga de trabajo tiene patrones de uso predecibles y requiere una disponibilidad constante, las Instancias Reservadas son probablemente la mejor opción.

En resumen, la elección entre Azure Spot VMs e Instancias Reservadas se reduce a las necesidades específicas en cuanto a coste, flexibilidad y fiabilidad.

Conclusión

Las máquinas virtuales Azure Spot son una gran solución para conseguir una computación en nube rentable. Pueden proporcionarnos descuentos sustanciales, a veces de hasta el 90% en comparación con los precios bajo demanda. 

Las máquinas virtuales Azure Spot son especialmente útiles para cargas de trabajo que son flexibles y pueden tolerar interrupciones. Por ejemplo, trabajos de procesamiento por lotes, entornos de desarrollo y pruebas, o cualquier aplicación que no requiera un tiempo de actividad constante. Para estas cargas de trabajo, las Spot VM pueden ayudarnos a reducir los costes de forma significativa.

Para saber más sobre Azure Spot VMs, consulta estos recursos:

  • Documentación de Azure: La documentación oficial de Azure es un excelente punto de partida, ya que ofrece guías detalladas, buenas prácticas y referencias técnicas sobre el uso de las máquinas virtuales de subasta.
  • Foros comunitarios y asistencia: Los foros de la comunidad Azure y los canales de soporte son recursos valiosos para obtener respuestas a preguntas concretas y aprender de las experiencias de otros usuarios de Azure.

Si te ha gustado este artículo, echa un vistazo a estas otras entradas: Preguntas de la entrevista sobre AzureDevOps y uso de GPT en Azure.

Temas

Aprende con DataCamp

Course

Understanding Cloud Computing

2 hr
84.2K
A non-coding introduction to cloud computing, covering key concepts, terminology, and tools.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

blog

AWS vs Azure: Una comparación en profundidad de los dos principales servicios en la nube

Explora las principales diferencias y similitudes entre Amazon Web Services (AWS) y Microsoft Azure. Este exhaustivo análisis abarca el rendimiento, los precios, las ofertas de servicios y la facilidad de uso para ayudar a los aspirantes a profesionales a determinar qué computación en nube se adapta mejor a sus necesidades.

Kurtis Pykes

12 min

blog

Los 13 mejores proyectos de AWS: De principiante a profesional

Explora 13 proyectos prácticos de AWS para todos los niveles. Mejora tus conocimientos sobre la nube con aplicaciones prácticas del mundo real y la orientación de expertos.
Joleen Bothma's photo

Joleen Bothma

12 min

blog

8 modelos de machine learning explicados en 20 minutos

Descubre todo lo que necesitas saber sobre los tipos de modelos de machine learning, incluyendo para qué se utilizan y ejemplos de cómo ponerlos en práctica.
Natassha Selvaraj's photo

Natassha Selvaraj

25 min

blog

5 formas únicas de utilizar la IA en el análisis de datos

El análisis de datos con IA está en auge entre los profesionales de los datos. Conozca en esta guía cinco formas únicas de aprovechar el poder de la IA para el análisis de datos.
Austin Chia's photo

Austin Chia

blog

¿Qué es Microsoft Fabric?

Descubra cómo Microsoft Fabric revoluciona el análisis de datos y conozca cómo sus características principales permiten a las empresas tomar decisiones basadas en datos.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

blog

Clasificación en machine learning: Introducción

Aprende sobre la clasificación en machine learning viendo qué es, cómo se utiliza y algunos ejemplos de algoritmos de clasificación.
Zoumana Keita 's photo

Zoumana Keita

14 min

See MoreSee More