Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

3 consejos para optimizar tus costos en AWS

By Craig LowellAug 28, 20236 min read

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

Se estima que el gasto global en la nube se acercará a los 600 mil millones de dólares en 2023, un crecimiento del 21% respecto al año anterior, lo que confirma qué tan presente está ya en la economía mundial. Cada vez más empresas nacen directamente en la nube (los llamados nativos digitales) y se suman a las que ya migraron porque entendieron que la nube pública ofrece la mejor relación valor-oportunidad para hacer crecer el negocio.

A medida que las empresas de cualquier tamaño siguen creciendo, sus entornos en la nube y el gasto asociado también se expanden; cuando las operaciones escalan, es lógico que los costos de infraestructura suban con ellas. La clave del éxito, y una de las señales de una organización que domina las prácticas de FinOps, está en hacer crecer y escalar tu huella en la nube según las necesidades reales del negocio, ni más ni menos. Buena parte de eso pasa por optimizar el gasto siempre que sea posible, aprovechando oportunidades de ahorro y conteniendo los costos innecesarios.

Es más fácil decirlo que hacerlo, dada la naturaleza dinámica y la complejidad de los entornos en la nube, lo que exige tanto experiencia como disciplina para mantener el gasto bajo control. Con eso en mente, aquí tienes tres áreas en las que puedes empezar o mejorar tus iniciativas de optimización de costos en AWS:

Aumenta la cobertura de descuentos por commitments

Como EC2 y otros servicios de cómputo suelen representar entre el 50% y el 70% de tu factura total en la nube, reducir esos costos es la mejor oportunidad para lograr ahorros significativos. AWS ofrece descuentos por commitment de recursos a través de Savings Plans y Reserved Instances. Ambos pueden contratarse a 1 o 3 años y presentan diferencias importantes en cuanto a recompras y flexibilidad:

Puedes leer más sobre las diferencias entre estos tipos de commitments aquí, pero lo cierto es que gestionar commitments y maximizar el ahorro disponible es un trabajo de tiempo completo. Hay que considerar varios factores al proyectar el uso de cómputo (tipos de máquina, regiones, servicios en la nube, etc.) y luego dar seguimiento al uso y a las fechas de vencimiento para asegurarse de cumplir los hitos correctos.

La mejor manera de maximizar la cobertura de tus commitments es cubrir la mayor parte posible de tus workloads con RIs o Savings Plans a 3 años, que ofrecen descuentos del 60% al 70% frente al 25%-35% de los de 1 año. Eso sí, ten en cuenta que los commitments a 3 años son inherentemente más riesgosos que los de 1 año, simplemente porque es mucho más difícil predecir tus workloads a tan largo plazo. Las empresas con la madurez y la estabilidad necesarias podrían cubrir aproximadamente la mitad de sus workloads proyectados con commitments a 3 años y luego completar la cobertura con commitments a 1 año.

Lo bueno de una solución como DoiT Flexsave™ es que automatiza la gestión de esos commitments a 1 año para maximizar el ahorro de cualquier workload de cómputo on-demand (incluidos EC2, Fargate y Lambda) que aún no tenga descuento. Esto no solo aligera la carga de gestión en FinOps, también elimina el riesgo de comprometerse en exceso con recursos que al final no vas a usar.

Flexsave también funciona como un hub de FinOps para tu estrategia de commitments en AWS, con una vista general de tus Savings Plans actuales y analítica sobre la cobertura de descuentos directamente en tu dashboard. Esta gráfica muestra por defecto la cobertura de los diez SKUs más relevantes; si quieres ver más SKUs o desglosarla por región, puedes hacerlo abriendo un reporte de Cloud Analytics directamente desde el dashboard. Desde ahí puedes entender mejor qué servicios podrían no ser elegibles para descuentos y explorar si hay formas de rediseñar esos workloads para mejorar tu ahorro.

Haz clic en la imagen de abajo para conocer más sobre cómo usar el dashboard de Flexsave:

Saca partido a las Spot Instances

Al igual que los Savings Plans y las RIs, las Spot Instances pueden ofrecer descuentos muy fuertes en workloads de cómputo on-demand, pero con una salvedad importante: AWS puede recuperar los workloads en Spot con apenas 2 minutos de aviso. Por eso, aunque con las Spot Instances se logran ahorros aún mayores —con descuentos de hasta el 90%—, también traen mucho más riesgo y solo deberían usarse en operaciones tolerantes a fallos, como workloads en contenedores, servidores web sin estado, entornos de pruebas o aplicaciones de big data.

Las Spot Instances se pueden gestionar en AWS con Auto Scaling Groups (ASGs), pero desplegarlas exige cierta flexibilidad respecto a los tipos de instancia y las Availability Zones que solicites. ¿Por qué? Porque puede que no haya disponibilidad en las especificaciones que necesitas. Además, los ASGs deben configurarse manualmente y ajustarse con frecuencia para garantizar que tus necesidades de cómputo se cubran de forma constante y sin interrupciones relevantes. Más allá de lo manual y tedioso del proceso, si la configuración no es la correcta, puede que ni siquiera funcione.

Ante estos riesgos y el esfuerzo que implica, muchos equipos optan por no usar Spot Instances. Pero DoiT Spot Scaling automatiza este proceso para eliminar el riesgo de interrupciones y ayudarte a ejecutar tus workloads de forma confiable con Spot Instances. La herramienta analiza automáticamente tus ASGs para recomendar configuraciones de mejores prácticas y luego sustituye las instancias on-demand por Spot Instances con grandes descuentos cuando es viable. Y para mitigar el riesgo, Spot Scaling ofrece un respaldo a on-demand cuando no hay capacidad de Spot disponible en el mercado.

Para ver Spot Scaling en acción, haz clic en la imagen de abajo:

Audita tu almacenamiento para detectar oportunidades de optimización

Aunque no pesa tanto como el cómputo en tu factura mensual, el costo de almacenamiento puede dispararse rápidamente a medida que escalas, por lo que conviene auditar esta área con regularidad para mantenerlo al mínimo. AWS ofrece distintas clases de almacenamiento con precios que varían según la frecuencia con la que necesites acceder a los datos. Esto significa que hay objetos cuya frecuencia de acceso cambió y que siguen en S3 Standard cuando ya podrían moverse a Infrequent Access o incluso a Glacier.

Para sacar el máximo provecho a tus clases de almacenamiento, puedes usar políticas de ciclo de vida que muevan los datos automáticamente entre clases según tus patrones de acceso. Asegúrate también de tener en cuenta la cantidad de objetos y su tamaño, ya que los precios de recuperación y transferencia se cobran por GB. Además, puedes usar Amazon S3 Select para recuperar datos específicos de los objetos en S3 y reducir así el volumen de datos transferidos.

Otro punto a considerar es que muchos objetos pequeños se encarecen muy rápido. Si tienes una gran cantidad de archivos diminutos, puede tener más sentido almacenarlos en un servicio de base de datos como DynamoDB o MySQL en lugar de S3. Si eso no aplica, explora la posibilidad de agruparlos por lotes y guardarlos como un único archivo.

DoiT Cloud Analytics facilita este tipo de análisis con agrupaciones de asignación de costos que permiten obtener rápidamente insights sobre qué está disparando el gasto, desglosándolo por servicio, SKU, availability zone, etc.

Para entender mejor cómo funcionan estas capacidades de Cloud Analytics dentro de DoiT Cloud Navigator, haz clic en la imagen de abajo y haz un recorrido interactivo: