

# PERF02-BP05 Escalar los recursos computacionales de forma dinámica
<a name="perf_compute_hardware_scale_compute_resources_dynamically"></a>

 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
<a name="implementation-guidance"></a>

 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
<a name="implementation-steps"></a>
+  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:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/2023-10-03/framework/perf_compute_hardware_scale_compute_resources_dynamically.html)
+  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](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html) 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](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) en vez del [escalado manual](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) para su grupo de Auto Scaling. También le recomendamos que utilice [políticas de escalado de seguimiento de destino](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) 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)](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/). 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/) 
+  [Tipos de instancias de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funciones: configuración de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Control de los estados del procesador de la instancia Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [Deep Dive on Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 
+  [Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+  [Build a cost-, energy-, and resource-efficient compute environment (Crear un entorno de computación rentable, eficiente en términos de costes, energía y recursos)](https://www.youtube.com/watch?v=8zsC5e1eLCg) 

 **Ejemplos relacionados:** 
+  [Amazon EC2 Auto Scaling Group Examples](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Implement Autoscaling with Karpenter](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 