PERF02-BP05 Usar la elasticidad de recursos disponible - AWS Well-Architected Framework

PERF02-BP05 Usar la elasticidad de recursos disponible

La nube ofrece la flexibilidad de ampliar y reducir sus recursos de forma dinámica a través de diversos mecanismos para satisfacer los cambios en la demanda. Al combinar esta elasticidad con métricas relacionadas con la computación, una carga de trabajo puede responder automáticamente a los cambios para utilizar los recursos que necesita y solo los que necesita.

Antipatrones usuales:

  • Se sobreaprovisiona para cubrir posibles picos.

  • Reacciona a las alarmas aumentando manualmente la capacidad.

  • Aumenta la capacidad sin tener en cuenta el tiempo de aprovisionamiento.

  • Deja la capacidad aumentada después de un evento de ajuste de escala en lugar de volver a desescalar verticalmente.

  • Supervisa parámetros que no reflejan directamente los verdaderos requisitos de sus cargas de trabajo.

Beneficios de establecer esta práctica recomendada: la demanda puede ser fija, variable, seguir un patrón o ser irregular. Adaptar la oferta a la demanda ofrece el coste más bajo para una carga de trabajo. Supervisar, probar y configurar la elasticidad de la carga de trabajo optimizará el rendimiento, ahorrará dinero y mejorará la fiabilidad a medida que cambien las demandas de uso. Aunque es posible adoptar un enfoque manual, resulta poco práctico a gran escala. Un enfoque automatizado y basado en métricas garantiza que los recursos satisfagan las demandas en cualquier momento.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio

Guía para la implementación

La automatización basada en métricas debe utilizarse para aprovechar la elasticidad con el objetivo de que la oferta de recursos con la que dispone coincida con la demanda de los recursos que requiere su carga de trabajo. Por ejemplo, puede utilizar las métricas de Amazon CloudWatch para supervisar sus recursos o utilizar las métricas de Amazon CloudWatch para sus grupos de Auto Scaling.

En combinación con las métricas relacionadas con la computación, una carga de trabajo puede responder automáticamente a los cambios y usar el conjunto óptimo de recursos para alcanzar su objetivo. También debe planificar el tiempo de aprovisionamiento y los posibles errores de los recursos.

Las instancias, los contenedores y las funciones proporcionan mecanismos de elasticidad, ya sea como una característica del servicio, en la forma de Application Auto Scaling o en combinación con Amazon EC2 Auto Scaling. Aproveche la elasticidad de su arquitectura para asegurarse de tener suficiente capacidad para atender los requisitos de rendimiento en una amplia variedad de escalas de uso.

Valide las métricas para escalar o desescalar verticalmente los recursos elásticos con respecto al tipo de carga de trabajo que se está desplegando. Por ejemplo, si está desplegando una aplicación de transcodificación de vídeo, se espera una utilización del 100 % de la CPU y no debería ser su métrica principal. Como alternativa, puede medir la profundidad de la cola de trabajos de transcodificación en espera de escalar sus tipos de instancia.

Los despliegues de la carga de trabajo tienen que manejar los eventos de escalado y desescalado verticales. Desescalar verticalmente los componentes de la carga de trabajo de forma segura es tan importante como escalar verticalmente los recursos cuando la demanda lo requiere.

Cree escenarios de prueba para eventos de escalado vertical para comprobar que la carga de trabajo se comporta como se espera.

Pasos para la implementación

Recursos

Prácticas recomendadas relacionadas:

Documentos relacionados:

Vídeos relacionados:

Ejemplos relacionados: