From Waste to Efficiency: Enfoques Prácticos para la Gestión de Costos en AWS

El pasado octubre tuve el honor de participar como speaker en el AWS Community Day Guatemala con esta charla que lleva como título este post, donde compartí algunas sugerencias y acciones a tomar relacionadas a FinOps.
La charla inició con algunas preguntas como:
¿Por qué es tan alta mi factura de AWS? Pensé que debería gastar menos en la nube
¿Cómo puedo reducir los costos de AWS para los entornos de desarrollo y control de calidad?
¿Qué opciones tengo para bajar mis costos en AWS?
Y una mención al Recap of Werner Vogels Keynote en el re:Invent 2023
“Sistemas no observados llevan a costos desconocidos”
Wegner Vegels. CTO y vicepresidente de Amazon.com
Hablamos sobre cómo WeTransfer logró reducir en un 78% el impacto medioambiental mediante la optimización del consumo de recursos del servidor en 2022.
Despilfarro en la nube
Muchas veces dentro de nuestra organización, tenemos falencias que conllevan a altos costos o costos ocultos que por falta de visibilidad no nos percatamos y pagamos mes a mes. Algunos ejemplos de este despilfarro se muestran a continuación:

Causas comunes del despilfarro en la nube

Para abordar estos problemas, podemos ejecutar algunas acciones para automatizar la eficiencia de costos en la nube, como:
Infraestructura como código (IaC): al aprovisionar recursos en la nube por IaC podemos rápidamente eliminarlos cuando ya no los usemos sin necesidad de hacer una eliminación manual, con esto evitamos que queden recursos huérfanos o recursos sin utilizar.
El apagado de recursos: lo podemos aplicar en ambientes bajos como DEV, QA y Stagging. Con el fin de minimizar costos apagando los recursos durante las noches y fines de semana y activandolos en horario laboral.
Integración con FinOps: FinOps es una disciplina que ayuda a las organizaciones a gestionar sus finanzas en la nube, mediante buenas prácticas y colaboración entre equipos de ingeniería, finanzas y negocios

Beneficios de FinOps

FinOps - Framework en AWS
Dentro del framework podemos encontrar ejecutar algunas acciones para cada fase:

Principios de la Optimización de Costos

Además de las acciones antes mencionadas, la optimización de costos se basa en estos principios:
Stop: detén recursos o servicios que ya no son necesarios o que están en desuso
Resizing: ajusta el tamaño de los recursos (como máquinas virtuales, bases de datos, etc.) según la necesidad real
Shift: mueve cargas de trabajo o recursos a una infraestructura más eficiente o rentable
Reduce: elimina recursos infrautilizados o reduce el uso de servicios costosos
Herramientas Nativas de AWS para la Gestión de Costos
Por otro lado AWS, nos proporciona un conjunto de servicios y herramientas que nos pueden ayudar con la gestión de costos.
Algunas de ellas son:

Siguientes pasos
Define, acuerda y aplica el etiquetado de asignación de costos
Define las métricas, establece objetivos y revisa
Permite que los equipos diseñen teniendo en cuenta los costos
Asigna responsabilidad en la optimización
Enlaces de interés
https://aws.amazon.com/es/blogs/aws-cloud-financial-management/
