Blog de Amazon Web Services (AWS)
AWS Compute Optimizer: Simplificando la elección adecuada de sus instancias EC2
Por Matheus Arrais y Gabriel Costa
En el último AWS re:Invent 2019, se lanzó AWS Compute Optimizer, un servicio que ayuda con recomendaciones de recursos de cómputo óptimos para sus cargas de trabajo. Este servicio permite reducir costos y mejorar el rendimiento, usando aprendizaje automático para analizar métricas de utilización histórica. El aprovisionamiento excesivo de recursos computacionales puede dar lugar a costos innecesarios; por el contrario, el aprovisionamiento insuficiente de recursos de cómputo puede conducir a un rendimiento degradado de sus aplicaciones.
AWS Compute Optimizer está disponible sin costo adicional. Usted sólo paga por los recursos de cómputo necesarios para ejecutar sus aplicaciones, y los costos de monitoreo de Amazon CloudWatch. Para comenzar, puede elegir el servicio en la consola de AWS Compute Optimizer.
Cómo funciona
AWS Compute Optimizer se puede integrar con AWS Organizations. Al habilitar el servicio, se debe elegir la modalidad de operación. Veamos a continuación las modalidades de operación disponibles para Compute Optimizer:
- Cuenta de AWS individual: Una cuenta de AWS individual es una cuenta de AWS que no pertenece a ninguna organización activa en AWS Organizations. Si habilita Compute Optimizer en una cuenta independiente, el servicio analiza los recursos que están en la cuenta y crea recomendaciones de optimización para esos recursos.
- Cuenta miembro de una organización: Una cuenta de AWS que es miembro de una organización en AWS Organizations. Si habilita Compute Optimizer en una cuenta miembro de una organización, el servicio analiza los recursos que se encuentran en esa cuenta de miembro y crea recomendaciones de optimización para esos recursos.
- Cuenta principal de una organización: Una cuenta de AWS que administra una organización en AWS Organizations. Si habilita Compute Optimizer en la cuenta principal de una organización, el servicio le ofrecerá la opción de activarlo sólo para la cuenta principal, o bien, para todas las cuentas de la organización. Si optamos por utilizar esta última modalidad, es necesario que todas las características de AWS Organizations estén habilitadas.
Después de elegir una de estas modalidades, AWS Compute Optimizer comenzará a analizar las especificaciones (vCPU, memoria, almacenamiento, etc.) y las métricas de uso de los recursos en ejecución durante los últimos 14 días. Los recursos se analizan si han estado funcionando durante al menos 30 horas. En algunos casos, AWS Compute Optimizer puede requerir la ejecución de determinados recursos por hasta 60 horas para recibir una recomendación.
Una vez finalizado el análisis, que puede tardar hasta 12 horas, Compute Optimizer presenta sus hallazgos en el panel de control del servicio. Para más información, consulte Visualización del panel de AWS Compute Optimizer.
AWS Compute Optimizer analiza por defecto las siguientes métricas de Amazon CloudWatch para las instancias de EC2:
- Utilización de CPU: Porcentaje de unidades de cómputo de EC2 asignadas que están en uso en la instancia. Esta métrica identifica el poder de procesamiento requerido para ejecutar una aplicación en una instancia.
- Utilización de memoria: La cantidad de memoria que se ha usado de alguna manera durante el período de muestreo. Esta métrica identifica la memoria requerida para ejecutar una aplicación en una instancia. El uso de memoria sólo se analiza en los recursos que tengan instalado el agente unificado de CloudWatch. Para más información, consulte Habilitación del uso de memoria con CloudWatch Agent.
- Entrada de red: Cantidad de bytes recibidos por la instancia en todas las interfaces de red. Esta métrica identifica el volumen de tráfico de red entrante hacia una instancia.
- Salida de red: Cantidad de bytes enviados por la instancia a través de todas las interfaces de red. Esta métrica identifica el volumen de tráfico de red saliente desde una instancia.
- Entrada/Salida de disco local (I/O): El número de operaciones de entrada/salida del disco local. Esta métrica identifica el rendimiento del volumen raíz de una instancia.
- Throughput y ancho de banda de lectura/escritura de volumen de Amazon EBS: Las operaciones de lectura/escritura por segundo, y los bytes de lectura/escritura por segundo (mostrados como KiB/segundo en la consola) para todos los volúmenes EBS asociados a la instancia.
En base a las métricas mencionadas anteriormente, AWS Compute Optimizer identifica las características de cada carga de trabajo, a partir de las cuales se genera un perfil con los datos obtenidos. Usando machine learning sobre estas métricas, se generan recomendaciones para las instancias de Amazon EC2 y/o grupos de autoescalado de Amazon EC2.
Guía paso a paso
A continuación se muestra un paso a paso de cómo utilizar AWS Compute Optimizer para recibir recomendaciones sobre sus recursos de cómputo:
- Vaya a la consola de administración de AWS, seleccione AWS Compute Optimizer y active el servicio. Inmediatamente, el servicio comienza a analizar la utilización de recursos durante los últimos 14 días (utilizando métricas de Amazon CloudWatch) y ofrece las primeras recomendaciones en un plazo de 12 horas. Los recursos de EC2 y de Amazon EC2 AutoScaling Groups no reciben recomendaciones hasta que se hayan mantenido encendidos durante al menos 30 horas.
2. Al hacer clic en “Over-provisioned: 1 instance”, se pueden verificar los detalles de las instancias con recursos de cómputo por encima de lo necesario para las aplicaciones instaladas en la instancia.
3. Al hacer clic en el enlace, se pueden ver los hallazgos del servicio sobre los datos de la instancia.
4. AWS Compute Optimizer ofrece más de una opción de recomendación. Al desplazarse hacia abajo, se puede visualizar el impacto esperado sobre las métricas de uso de la instancia para cada opción de recomendación.
También se puede acceder a las recomendaciones a través de la interfaz de línea de comandos (CLI) de AWS.
AWS Compute Optimizer utiliza métricas de Amazon CloudWatch para basar sus recomendaciones. Por defecto, las métricas de CloudWatch que se pueden analizar son métricas de hipervisor, como la utilización de CPU, E/S de disco y E/S de red.
Si se requiere que AWS Compute Optimizer considere para su análisis métricas del sistema operativo como uso de memoria, se debe instalar el agente CloudWatch en las instancias EC2. AWS Compute Optimizer reconoce automáticamente estas métricas cuando están disponibles y las toma en cuenta para crear la recomendación; de lo contrario, se mostrará el mensaje “Data Unavailable” en la consola.
Los clientes de AWS han expresado que las métricas de rendimiento no son las únicas que se evalúan para elegir la instancia adecuada para sus cargas de trabajo, sino también la relación precio/rendimiento. Por ejemplo, podría tener sentido usar una nueva familia de instancias, como M5 en lugar de una familia más antigua (M3 o M4), incluso cuando la nueva generación pudiera estar sobreestimada para la carga de trabajo en cuestión. En este sentido, una vez que AWS Compute Optimizer identifica una lista de recursos optimizados para su carga de trabajo, presenta precio bajo demanda, precio de instancia reservada, utilización de la reserva de instancia, cobertura de la reserva de instancia, junto con la eficiencia de recursos esperada para sus recomendaciones.
5. En el panel de Recomendaciones, se puede seleccionar la configuración deseada de opción de compra (bajo demanda, reserva de instancias a 1 año sin anticipos y reserva de instancias a 3 años sin anticipos).
6. La recomendación se actualizará con la vista de la opción de compra seleccionada, incluyendo información como el precio de reserva de instancia, la diferencias absoluta y porcentual de precio con respecto al precio bajo demanda, e información de cobertura y uso de la reserva de instancia considerada.
Importante: Tenga en cuenta que las recomendaciones proporcionadas por AWS Compute Optimizer no tienen en cuenta las compras de reservas de instancias que ya se han realizado para las instancias, por lo que debe realizar esta comprobación junto con las opciones recomendadas antes de realizar un cambio en las instancias.
El servicio AWS Compute Optimizer facilita la buena práctica de right-sizing en entornos de nube. Sin embargo, se deben tener en cuenta las aplicaciones legadas que podrían no ejecutarse correctamente en arquitecturas de hardware diferentes, ya sea por utilizar drivers diferentes o simplemente porque no son soportadas por el proveedor de software. Para este tipo de aplicaciones, primero realice las pruebas necesarias sobre las nuevas instancias recomendadas antes de aplicar las optimizaciones a entornos productivos.
AWS Compute Optimizer es de uso gratuito y está disponible en las regiones de AWS desde: EE.UU. Este (Norte de Virginia, Ohio), EE.UU. Oeste (Oregón, Norte de California), Europa (Irlanda, Frankfurt, Londres, París, Estocolmo), Asia (Singapur, Tokio, Sídney, Seúl, Mumbai), Canadá Central (Montreal), América del Sur (Sao Paulo).
Conclusión
En esta publicación, discutimos cómo utilizar AWS Compute Optimizer para elegir el tamaño correcto de instancias EC2 en función de sus métricas. Este servicio recomienda los recursos más apropiados para su carga de trabajo, permitiéndole reducir costos y mejorar el rendimiento.
Inicie sesión en la consola de administración de AWS hoy mismo, y descubra cuánto puede ahorrar en su entorno eligiendo el recurso adecuado para sus aplicaciones en la nube.
Este artículo fue traducido del Blog de AWS en Portugués.
Sobre los autores
Matheus Arrais es Arquitecto de Soluciones para Partners. Su enfoque se centra en las herramientas de gobernanza y la estrategia de cuentas múltiples. Trabaja en estrecha colaboración con partners de todo Brasil, ayudándoles a realizar un viaje exitoso en su asociación con AWS, y a entregar la mejor solución a sus clientes.
Gabriel Costa es Arquitecto de Soluciones para Partners. Entusiasta de la tecnología, la música y un convencido de la capacidad de colaboración entre humanos. Trabaja en estrecha colaboración con partners integradores de sistemas para crear ofertas que utilicen la nube para entregar soluciones de alto valor a los clientes.
Revisor
Rodrigo Alarcón es Arquitecto de Soluciones Senior en Amazon Web Services, basado en Santiago, Chile.