PERF02-BP05 Escalado de los recursos de computación de forma dinámica - Marco de AWS Well-Architected

PERF02-BP05 Escalado de los recursos de computación 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 mediante el aumento manual de la capacidad.

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

  • Dejar 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 de computación puede ser útil para 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 escalado que se ajustan a los cambios de demanda. Junto con las métricas relacionadas con la computación, el escalado dinámico permite que las cargas de trabajo respondan automáticamente a los cambios y utilicen el conjunto óptimo de recursos de computación para lograr su objetivo.

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

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

  • Escalado predictivo: reduzca horizontalmente de antemano según las tendencias diarias y semanales previstas.

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

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

Debe asegurarse de que las implementaciones de la carga de trabajo puedan manejar eventos de escalado vertical y reducción vertical.

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 escalado automático o como características del servicio. Estos son algunos ejemplos de mecanismos de escalado automático:

    Mecanismo de escalado automático Dónde se usa
    Amazon EC2 Auto Scaling Para garantizar que cuenta con la cantidad correcta de instancias de Amazon EC2 disponibles para controlar la carga de usuarios de su aplicación.
    Aplicación de escalado automático Para escalar automáticamente los recursos de servicios de AWS específicos más allá de Amazon EC2, como las funciones de AWS Lambda o los servicios de Amazon Elastic Container Service (Amazon ECS).
    Kubernetes Cluster Autoscaler/Karpenter Para escalar automáticamente clústeres de Kubernetes.
  • Normalmente, se habla del escalado 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 adaptarse a la demanda.

  • Asegúrese de que las métricas de escalado se ajusten a las características de la carga de trabajo que se implementa. Si está implementando una aplicación de transcodificación de vídeo, se espera un uso 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. Si es necesario, puede utilizar una métrica personalizada para su política de escalado. 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 escalado automático.

  • Asegúrese de usar el escalado dinámico en lugar del escalado manual para su grupo de escalado automático. También le recomendamos que utilice políticas de escalado de seguimiento objetivo en su escalado dinámico.

  • Compruebe que las implementaciones de la carga de trabajo puedan gestionar ambos eventos de escalado (escalado vertical y reducción vertical). Por ejemplo, puede usar el historial de actividad para verificar la actividad de escalado de un grupo de escalado automático.

  • Evalúe los patrones predecibles de su carga de trabajo y escale de forma proactiva para anticiparse a los cambios previstos y planeados en la demanda. Con el escalado predictivo, puede eliminar la necesidad de aprovisionar capacidad en exceso. Para más información, consulte Predictive Scaling with Amazon EC2 Auto Scaling.

Recursos

Documentos relacionados:

Videos relacionados:

Ejemplos relacionados: