PERF02-BP05 Escalar los recursos computacionales de forma dinámica - Pilar de eficiencia del rendimiento

PERF02-BP05 Escalar los recursos computacionales de forma dinámica

Utilice la elasticidad de la nube para aumentar o reducir sus recursos computacionales de forma dinámica de forma que se ajusten a sus necesidades, lo que evitará un aprovisionamiento de capacidad excesivo o insuficiente para su carga de trabajo.

Patrones comunes de uso no recomendados:

  • Reacciona a las alarmas aumentando manualmente la capacidad.

  • Utiliza las mismas directrices de dimensionamiento (por lo general, una infraestructura estática) que en el entorno local.

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

Beneficios de establecer esta práctica recomendada: configurar y probar la elasticidad de los recursos informáticos puede ayudarlo a ahorrar dinero, mantener los puntos de referencia de rendimiento y mejorar la fiabilidad a medida que cambia el tráfico.

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

Guía para la implementación

AWS le ofrece la flexibilidad necesaria para aumentar o reducir los recursos de forma dinámica a través de una gran variedad de mecanismos de escalamiento que se ajustan a los cambios de demanda. Junto con las métricas relacionadas con la computación, el escalamiento dinámico permite que las cargas de trabajo respondan automáticamente a los cambios y utilicen el conjunto óptimo de recursos informáticos para lograr su objetivo.

Puede usar distintos enfoques para hacer que el suministro de recursos coincida con la demanda.

  • Enfoque de seguimiento de objetivos: supervise la métrica de escalamiento y aumente o reduzca de forma automática la capacidad en función de sus necesidades.

  • Escalamiento predictivo: escale de antemano según las tendencias diarias y semanales previstas.

  • Enfoque basado en programación: establezca su propia programación de escalamiento según los cambios de carga predecibles.

  • Escalamiento de servicios: elija servicios (como los servicios sin servidor) diseñados para escalar automáticamente.

Debe asegurarse de que los despliegues de la carga de trabajo puedan manejar eventos de escalamiento y desescalamiento verticales.

Pasos para la implementación

  • Las instancias de computación, los contenedores y las funciones proporcionan mecanismos que favorecen la elasticidad, ya sea en combinación con funciones de escalamiento automático o como características del servicio. Estos son algunos ejemplos de mecanismos de escalamiento automático:

    Mecanismo de escalamiento automático Dónde se usa
    Amazon EC2 Auto Scaling Para asegurarse de que tiene el número correcto de instancias Amazon EC2 disponibles para gestionar la carga de usuarios de su aplicación.
    Application Auto Scaling Para escalar automáticamente los recursos de servicios de AWS individuales más allá de Amazon EC2, como funciones AWS Lambda o servicios Amazon Elastic Container Service (Amazon ECS) .
    Kubernetes Cluster Autoscaler/Karpenter Para escalar automáticamente clústeres de Kubernetes.
  • Normalmente, se habla del escalamiento en relación con los servicios de computación, como las instancias de Amazon EC2 o las funciones de AWS Lambda. No olvide que también debe tener en cuenta la configuración de otros servicios no computacionales como AWS Glue para satisfacer la demanda.

  • Asegúrese de que las métricas de escalamiento se ajustan a las características de la carga de trabajo que se está desplegando. 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. En su lugar, utilice la profundidad de la cola de trabajos de transcodificación. Puede usar una métrica personalizada para su política de escalamiento, si es necesario. Para elegir las métricas adecuadas, tenga en cuenta las siguientes directrices para Amazon EC2:

    • La métrica debe ser una métrica de utilización válida y describir el grado de ocupación de una instancia.

    • El valor de la métrica debe aumentar o disminuir proporcionalmente al número de instancias del grupo de Auto Scaling.

  • Asegúrese de utilizar el escalado dinámico en vez del escalado manual para su grupo de Auto Scaling. También le recomendamos que utilice políticas de escalado de seguimiento de destino en su escalado dinámico.

  • Compruebe que los despliegues de la carga de trabajo puedan gestionar ambos eventos de escalamiento (escalamiento y desescalamiento verticales). Como ejemplo, puede usar el historia de actividades para verificar una actividad de escalamiento para un grupo de Auto Scaling.

  • Evalúe los patrones predecibles de su carga de trabajo y escale de forma proactiva al anticiparse a los cambios previstos y planeados en la demanda. Con el escalamiento predictivo, puede eliminar la necesidad de aprovisionar capacidad en exceso. Para obtener más detalles, consulte Predictive scaling with Amazon EC2 Auto Scaling (Escalamiento predictivo con Amazon EC2 Auto Scaling).

Recursos

Documentos relacionados:

Vídeos relacionados:

Ejemplos relacionados: