Optimización de recursos de cómputo - Dimensionamiento correcto con AWS Compute Optimizer
Explicamos el dimensionamiento correcto de recursos con AWS Compute Optimizer. Presentamos recomendaciones para EC2, Lambda, EBS y ECS on Fargate, estimación de reducción de costos y procedimientos de implementación.
Importancia del dimensionamiento correcto de recursos
El sobre-provisionamiento de recursos en la nube es la causa más común de desperdicio de costos. Casos como usar m5.xlarge en producción pero con un uso promedio de CPU inferior al 10%, asignar 1024 MB de memoria a funciones Lambda pero con un uso real inferior a 200 MB, o seguir usando volúmenes gp2 cuando cambiar a gp3 reduciría los costos un 20%, son extremadamente comunes. AWS Compute Optimizer analiza estos patrones de uso con ML y proporciona recomendaciones específicas de dimensionamiento correcto.
Recomendaciones para EC2 y Lambda
Las recomendaciones de instancias EC2 presentan hasta 3 opciones recomendadas para el tipo de instancia actual. Cada opción incluye el tipo de instancia, costo mensual estimado y riesgo de rendimiento (Low/Medium/High). Por ejemplo, si está usando m5.xlarge (4 vCPU / 16 GB) con bajo uso de CPU, se recomienda el downsizing a m5.large (2 vCPU / 8 GB), con una reducción de costos estimada del 50%. Las recomendaciones de Lambda analizan la duración de ejecución y el uso de memoria para sugerir configuraciones de memoria óptimas. Reducir la memoria de funciones sobre-provisionadas reduce directamente los costos, y aumentar la memoria de funciones con memoria insuficiente puede acortar el tiempo de ejecución y reducir los costos totales.
Recomendaciones para EBS y ECS
Las recomendaciones de volúmenes EBS presentan valores óptimos para tipo de volumen, tamaño, IOPS y throughput. La recomendación más común es la migración de gp2 a gp3. gp3 es un 20% más económico en la línea base comparado con gp2, y como IOPS y throughput se pueden configurar independientemente, permite la optimización según la carga de trabajo. Para volúmenes de IOPS provisionadas (io1/io2), si las IOPS reales son significativamente menores que las provisionadas, se recomienda reducir las IOPS provisionadas o migrar a gp3. Las recomendaciones de ECS on Fargate analizan el uso de CPU y memoria de las tareas y sugieren configuraciones óptimas de tamaño de tarea. Las tareas sobre-provisionadas se recomiendan para reducción de tamaño, reduciendo directamente los costos de Fargate. Para aprender sobre optimización de costos en la nube, consulte libros en Amazon.
Implementación e integración con Organizations
La habilitación de Compute Optimizer se realiza a nivel de cuenta, y la generación de recomendaciones comienza dentro de las 12 horas posteriores a la habilitación. Las funciones básicas son gratuitas y analizan datos de los últimos 14 días usando métricas estándar de CloudWatch (intervalo de 5 minutos). Las métricas extendidas (Enhanced Infrastructure Metrics) son una opción de pago que proporciona análisis de uso de memoria y un período de análisis de hasta 93 días. La integración con Organizations permite habilitar Compute Optimizer en toda la organización desde la cuenta de gestión y ver las recomendaciones de todas las cuentas miembro de forma centralizada.
Precios de Compute Optimizer
Las funciones básicas de Compute Optimizer son gratuitas. Incluye recomendaciones para EC2, grupos de Auto Scaling, volúmenes EBS y funciones Lambda. Las recomendaciones extendidas (análisis de métricas de los últimos 3 meses) cuestan aproximadamente 0.0003344 USD por recurso habilitado al mes. El dimensionamiento correcto de instancias basado en recomendaciones puede reducir los costos de sobre-provisionamiento en un 20-40% en muchos casos, y el efecto de reducción de costos de Compute Optimizer supera con creces su propio costo.
Resumen - Directrices de uso de Compute Optimizer
AWS Compute Optimizer es un servicio que recomienda el dimensionamiento correcto de EC2, Lambda, EBS y ECS on Fargate mediante análisis basado en ML. Las funciones básicas son gratuitas y las recomendaciones se generan automáticamente simplemente habilitándolo. Es efectivo tanto para la reducción de costos mediante la detección de sobre-provisionamiento como para la mejora del rendimiento mediante la detección de sub-provisionamiento. Combinado con las recomendaciones de optimización de costos de Trusted Advisor, permite una optimización integral de costos.