Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Spot instances al descubierto: saca el máximo provecho con Auto Scaling groups y Spot Scaling

By Matan BordoDec 12, 20236 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Te mostramos cómo optimizar el uso de instancias Spot con Auto Scaling groups (ASGs), con estrategias para distintos escenarios, y cómo maximizar el ahorro con DoiT Spot Scaling.

En la primera parte de nuestra serie sobre instancias Spot, repasamos los conceptos fundamentales, sus beneficios y las consideraciones clave para aprovecharlas a fondo.

Sobre esa base, vamos a profundizar en cómo optimizar el uso de instancias Spot con Auto Scaling groups (ASGs) y en los matices de las estrategias de asignación de Spot, para entender cuál se adapta mejor a cada escenario y por qué.

Por último, te mostraremos cómo maximizar tu ahorro con DoiT Spot Scaling, que simplifica el complejo proceso de configurar y gestionar ASGs para sacarle el máximo provecho a las instancias Spot.

Auto Scaling groups (ASGs): cómo funcionan

Los ASGs son un mecanismo para gestionar grupos de instancias. Aportan más elasticidad a tus workloads al ajustar automáticamente la cantidad de instancias desplegadas según la demanda, y te ayudan a reforzar la tolerancia a fallos.

Escalar hacia arriba cuando la demanda crece garantiza el rendimiento y la capacidad de respuesta, mientras que escalar hacia abajo en períodos de menor demanda ayuda a reducir costos innecesarios.

Puedes configurar los tipos de instancia y las zonas de disponibilidad permitidos, los límites mínimo y máximo de instancias, y la política de instancias mixtas (porcentaje de instancias Spot vs. porcentaje de instancias on-demand), entre otros parámetros. Pero, una vez configurados, los ASGs automatizan gran parte de la gestión de recursos.

Diagrama de Auto Scaling group

Por ejemplo, si tienes un sitio de ecommerce, te resultará mucho más fácil responder a los cambios de tráfico web con Auto Scaling groups.

Lidiar manualmente con esos cambios exigiría monitoreo constante y reacciones rápidas para evitar caídas o lentitud, con el consiguiente impacto en la experiencia del usuario y la pérdida de ingresos.

ASGs e instancias Spot

Los ASGs cobran especial relevancia con las instancias Spot, porque te ayudan a manejar las interrupciones y a optimizar su uso reemplazando automáticamente las instancias Spot interrumpidas por nuevas.

Si bien los ASGs no distribuyen directamente los workloads entre las instancias, sí garantizan que esté disponible la cantidad deseada. La distribución de los workloads entrantes o de las solicitudes web entre esas instancias suele estar a cargo de servicios como Elastic Load Balancers. Los ASGs trabajan junto con esos balanceadores de carga para dirigir automáticamente el tráfico a cada nueva instancia que crean, lo que ayuda a equilibrar la carga de manera eficiente.

Además, ofrecen la flexibilidad de combinar distintos tipos de instancia dentro del mismo grupo. Así puedes aprovechar varios tipos de instancias Spot según disponibilidad y costo.

Estrategias de asignación de Spot

Al configurar tus Auto Scaling groups, una de las opciones que debes definir es la estrategia de asignación de Spot. Estos son los distintos enfoques que puedes adoptar para pujar y obtener instancias Spot:

Lowest price

La estrategia Lowest price apunta a los pools de instancias más baratos disponibles. Como prioriza el precio sobre la capacidad, no hay garantía de que haya capacidad suficiente en esos pools, lo que aumenta el riesgo de interrupción.

Podrías usarla, por ejemplo, si despliegas un pipeline de analítica de datos que procesa grandes volúmenes de información. Ese pipeline puede programar sus tareas en períodos de precios Spot bajos con la estrategia lowest-price. Las interrupciones durante períodos de precios Spot más altos tienen un impacto mínimo, ya que el pipeline retoma el procesamiento cuando los precios vuelven a bajar.

Capacity-optimized

La estrategia Capacity-optimized prioriza los pools de instancias con mayor capacidad disponible, lo que se traduce en un menor riesgo de interrupción.

Recurre a esta estrategia cuando la alta disponibilidad sea fundamental y tu workload requiera un pool de instancias más estable, con menos interrupciones.

Por ejemplo, si tienes un servicio de streaming, le darás prioridad a la disponibilidad para no degradar la experiencia de tus usuarios.

Diversified

La estrategia Diversified reparte tu asignación de instancias Spot entre todos los pools disponibles.

Es la opción adecuada cuando tienes flexibilidad para usar varios tipos de instancia o distintas zonas de disponibilidad, con el fin de aumentar las probabilidades de obtener instancias.

Puede ser la mejor alternativa si operas en varias regiones o si ejecutas múltiples aplicaciones con distintos requerimientos de recursos.

Price & capacity-optimized

La estrategia Price & capacity-optimized equilibra precio y disponibilidad, y ofrece las mejores probabilidades de conseguir capacidad Spot sin sacrificar la disponibilidad.

Es ideal cuando la demanda varía a lo largo del día pero ofreces servicios que requieren mayor disponibilidad — por ejemplo, una tienda de ecommerce.

¿Qué puede salir mal con instancias Spot en ASGs?

Hay dos preocupaciones principales entre los clientes de AWS al momento de incluir instancias Spot — o ampliar su uso — en sus ASGs: 1) la confiabilidad y 2) la complejidad de configuración.

Como AWS puede interrumpir las instancias Spot con un aviso de dos minutos, esto puede afectar la confiabilidad de la aplicación. Como ya mencionamos, su impacto dependerá del caso de uso.

Más importante aún, implementar instancias Spot en Auto Scaling Groups puede ser todo un reto, ya que exige configurar correctamente los launch templates, las políticas de instancias mixtas y otros parámetros.

Además, dar con la configuración más adecuada para que tus ASGs operen de forma confiable y rentable con instancias Spot requiere un análisis complejo de múltiples variables. Tienes que elegir los tipos de instancia correctos, las AZs, las VPCs y las estrategias de asignación, entre otras variables, para garantizar capacidad óptima y ahorro con instancias Spot. Esto puede implicar especificar varias zonas de disponibilidad, definir políticas de escalado e integrar con otros servicios de AWS.

Spot Scaling

DoiT Spot Scaling te ayuda a adoptar mejor — y, por ende, a ahorrar más con — las instancias Spot, recomendando configuraciones de mejores prácticas para tus ASGs.

Gestiona la composición de instancias de tus Auto Scaling Groups (ASGs) para que puedas aprovechar las instancias Spot sin preocuparte por las interrupciones.

Por ejemplo, abajo tenemos un Auto Scaling group que podría configurarse mejor para maximizar el ahorro y la disponibilidad de Spot. En su configuración actual solo permite un tipo de instancia y únicamente admite instancias on-demand.

Sin embargo, Spot Scaling recomienda tipos de instancia adicionales con atributos similares a los seleccionados, ampliando la cantidad de pools a los que puedes acceder.

Al admitir más tipos de instancia y zonas de disponibilidad, se reduce el riesgo de quedarte sin instancias Spot.

Si no hay capacidad disponible en ninguno de los pools, Spot Scaling vuelve automáticamente a las instancias on-demand (incluso cuando tu política de instancias mixtas es 100% Spot) hasta que las instancias Spot estén disponibles otra vez.

Lo único que tienes que hacer es revisar tus recomendaciones, ajustarlas a tu gusto y hacer clic en "Apply Recommendations". De ahí en más, Spot Scaling se encargará de gestionar ese ASG por ti.

Cómo CattleEye redujo más de un 60% su gasto en EC2 con Spot Scaling

CattleEye ejecuta pipelines de inferencia en AWS Batch y aplica tecnología de visión por computadora a cámaras estándar, monitoreando vacas y analizando las imágenes para mejorar el bienestar de más de un millón de animales.

Pero el análisis en tiempo real de las vacas es una tarea intensiva en cómputo, y AWS EC2 concentra la mayor parte de los costos de CattleEye. Al principio usaban instancias GPU, lo que dificultaba aprovechar las instancias Spot. Además, no tenían tiempo para investigar otras instancias adecuadas que les permitieran sacarle más provecho a Spot.

CattleEye recurrió a Spot Scaling para adoptar mejor las instancias Spot. Antes dependían exclusivamente de instancias on-demand; hoy su procesamiento por lotes corre 100% sobre instancias Spot — y, como resultado, ahorra más de un 60% en EC2.

Haz un recorrido interactivo por Spot Scaling aquí

Configurar y gestionar instancias Spot dentro de los ASGs puede resultar abrumador, pero herramientas como DoiT Spot Scaling simplifican el proceso. Al recomendar configuraciones óptimas y gestionar dinámicamente la composición de instancias, Spot Scaling asegura el máximo ahorro con Spot sin perder disponibilidad.

Si despliegas instancias EC2 con Auto Scaling groups, conoce más sobre Spot Scaling aquí o ponte en contacto con nosotros para descubrir cómo DoiT puede ayudarte a optimizar los costos de cómputo con instancias Spot y tu factura de nube en general.