

# Eficiencia del rendimiento
<a name="a-performance-efficiency"></a>

El pilar de eficiencia del rendimiento incluye la capacidad para utilizar los recursos de la nube de forma eficaz a fin de que satisfagan los requisitos de rendimiento y para mantener dicha eficacia a medida que la demanda cambia y las tecnologías evolucionan. Encontrará una guía prescriptiva acerca de la implementación en el [documento técnico sobre el pilar de eficiencia del rendimiento](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp).

**Topics**
+ [Selección de la arquitectura](a-selection.md)
+ [Computación y hardware](a-compute-hardware.md)
+ [Administración de datos](a-data-management.md)
+ [Redes y entrega de contenido](a-networking-delivery.md)
+ [Proceso y cultura](a-process-culture.md)

# Selección de la arquitectura
<a name="a-selection"></a>

**Topics**
+ [PERF 1. ¿Cómo selecciona los recursos y la arquitectura en la nube adecuados para su carga de trabajo?](perf-01.md)

# PERF 1. ¿Cómo selecciona los recursos y la arquitectura en la nube adecuados para su carga de trabajo?
<a name="perf-01"></a>

 La solución óptima para una carga de trabajo concreta varía y las soluciones suelen combinar varios enfoques. Las cargas de trabajo de Well-Architected utilizan varias soluciones y admiten diferentes características para mejorar el rendimiento. 

**Topics**
+ [PERF01-BP01 Descubrimiento y comprensión de los servicios y las características disponibles en la nube](perf_architecture_understand_cloud_services_and_features.md)
+ [PERF01-BP02 Uso de las recomendaciones del proveedor de servicios en la nube o de un socio adecuado para conocer los modelos de arquitectura y las prácticas recomendadas](perf_architecture_guidance_architecture_patterns_best_practices.md)
+ [PERF01-BP03 Contemplación de los costos en las decisiones sobre arquitectura](perf_architecture_factor_cost_into_architectural_decisions.md)
+ [PERF01-BP04 Evaluación del efecto de las decisiones en los clientes y en la eficiencia de la arquitectura](perf_architecture_evaluate_trade_offs.md)
+ [PERF01-BP05 Uso de políticas y arquitecturas de referencia](perf_architecture_use_policies_and_reference_architectures.md)
+ [PERF01-BP06 Uso de pruebas comparativas para tomar decisiones arquitectónicas](perf_architecture_use_benchmarking.md)
+ [PERF01-BP07 Uso de un enfoque basado en los datos en sus decisiones arquitectónicas](perf_architecture_use_data_driven_approach.md)

# PERF01-BP01 Descubrimiento y comprensión de los servicios y las características disponibles en la nube
<a name="perf_architecture_understand_cloud_services_and_features"></a>

 Investigue continuamente los servicios y configuraciones disponibles que pueden ayudarle a tomar mejores decisiones arquitectónicas y a mejorar la eficiencia del rendimiento de la arquitectura de su carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza la nube como un centro de datos coubicado. 
+  Después de migrar a la nube, no moderniza la aplicación. 
+  Utiliza un único tipo de almacenamiento para todo lo que necesita conservar. 
+  Utiliza los tipos de instancia que más se ajustan a sus estándares actuales, pero son más grandes cuando es necesario. 
+  Implementa y administra tecnologías que están disponibles como servicios administrados. 

 **Beneficios de establecer esta práctica recomendada:** al explorar nuevos servicios y configuraciones, es posible que pueda mejorar considerablemente el rendimiento, reducir los costos y optimizar el esfuerzo necesario para mantener la carga de trabajo. También podrá reducir el tiempo de amortización de los productos habilitados para la nube. 

 **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 lanza nuevos servicios y características de forma continua que pueden mejorar el rendimiento y reducir el costo de las cargas de trabajo en la nube. Para mantener un rendimiento eficaz en la nube, es crucial estar al tanto de estos nuevos servicios y características. Modernizar la arquitectura de la carga de trabajo también le ayudará a acelerar la productividad, a impulsar la innovación y a descubrir más oportunidades de crecimiento. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Haga un inventario del software y la arquitectura de su carga de trabajo para los servicios relacionados. Decida la categoría de productos sobre la que desea obtener más información. 
+  Explore las ofertas de AWS para identificar y conocer los servicios y las opciones de configuración pertinentes que pueden ayudarlo a mejorar el rendimiento y a reducir los costos y la complejidad operativa. 
  + [ Amazon Web Services Cloud ](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/amazon-web-services-cloud-platform.html)
  + [AWS Academy ](https://aws.amazon.com/training/awsacademy/)
  +  [Novedades de AWS](https://aws.amazon.com/new/) 
  +  [Blog de AWS](https://aws.amazon.com/blogs/) 
  +  [AWS Skill Builder de](https://skillbuilder.aws/) 
  +  [Eventos y seminarios web de AWS](https://aws.amazon.com/events/) 
  +  [Formación de AWS and Certifications](https://www.aws.training/) 
  +  [Canal de YouTube de AWS](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 
  +  [AWS Workshops](https://workshops.aws/) 
  +  [AWS Communities](https://aws.amazon.com/events/asean/community-and-events/) 
+ Use [Amazon Q](https://aws.amazon.com/q/) para obtener información y consejos pertinentes sobre los servicios.
+  Utilice entornos de pruebas (que no sean de producción) para aprender y experimentar con los nuevos servicios sin incurrir en costos extraordinarios. 
+  Obtenga información continua sobre los nuevos servicios y características de la nube. 

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

 **Documentos relacionados:** 
+ [ Overview of Amazon Web Services ](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/introduction.html)
+ [ Características de Amazon EC2 ](https://aws.amazon.com/ec2/features/)
+ [ Aprenda paso a paso con un plan de aprendizaje para socios de AWS](https://aws.amazon.com/partners/training/aws-partner-learning-plans/)
+ [Capacitación y certificación de AWS](https://aws.amazon.com/training/)
+ [ My learning path to become an AWS solutions architect ](https://aws.amazon.com/blogs/training-and-certification/my-learning-path-to-become-an-aws-solutions-architect/)
+  [AWS Centro de arquitectura de](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS Biblioteca de soluciones de](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Cree aplicaciones modernas en AWS](https://aws.amazon.com/modern-apps/) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - What’s new with Amazon EC2 ](https://www.youtube.com/watch?v=mjHw_wgJJ5g)
+ [AWS re:Invent 2022 - Reduce your operational and infrastructure costs with Amazon ECS ](https://www.youtube.com/watch?v=vwf0rcdXdVE)
+ [AWS re:Invent 2023 - Build with the efficiency, agility & innovation of the cloud with AWS](https://www.youtube.com/watch?v=AMrXMfYYVXs)
+ [AWS re:Invent 2022 - Deploy ML models for inference at high performance and low cost ](https://www.youtube.com/watch?v=4FqHt5bmS2o)
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Ejemplos relacionados:** 
+  [AWS Ejemplos del](https://github.com/aws-samples) 
+  [AWS Ejemplos del SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP02 Uso de las recomendaciones del proveedor de servicios en la nube o de un socio adecuado para conocer los modelos de arquitectura y las prácticas recomendadas
<a name="perf_architecture_guidance_architecture_patterns_best_practices"></a>

 Utilice los recursos corporativos de la nube, como la documentación, los arquitectos de soluciones, los servicios profesionales o los socios adecuados, para que le sirvan de guía en sus decisiones arquitectónicas. Estos recursos le ayudarán a revisar y mejorar su arquitectura para obtener un rendimiento óptimo. 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza AWS como un proveedor de servicios en la nube al uso. 
+  Utiliza los servicios de AWS de una manera para la que no se diseñaron. 
+  Sigue todas las directrices sin tener en cuenta su contexto empresarial. 

 **Beneficios de establecer esta práctica recomendada:** seguir las directrices de un proveedor de servicios en la nube o de un socio adecuado puede ayudarle a tomar las decisiones sobre arquitectura correctas para su carga de trabajo y a ganar confianza en sus decisiones. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 AWS ofrece un gran número de directrices, documentación y recursos que pueden ayudarle a crear y administrar cargas de trabajo en la nube de forma eficiente. La documentación de AWS contiene ejemplos de código, tutoriales y explicaciones detalladas de los servicios. Además de la documentación, AWS ofrece programas de formación y certificación, arquitectos de soluciones y servicios profesionales que pueden ayudar a los clientes a explorar diferentes aspectos de los servicios en la nube y a implementar una arquitectura en la nube eficiente en AWS. 

 Aproveche estos recursos para obtener valiosos conocimientos y prácticas recomendadas, ahorrar tiempo y lograr mejores resultados en la Nube de AWS. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Revise la documentación y las directrices de AWS y siga las prácticas recomendadas. Estos recursos pueden ayudarle a elegir y configurar los servicios de manera eficaz y a lograr un mejor rendimiento. 
  +  [Documentación de AWS](https://docs.aws.amazon.com/) (como guías de usuario y documentos técnicos) 
  +  [Blog de AWS](https://aws.amazon.com/blogs/) 
  +  [Formación de AWS and Certifications](https://www.aws.training/) 
  +  [Canal de YouTube de AWS](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 
+  Únase a los eventos de los socios de AWS (como los AWS Global Summits, AWS re:Invent, grupos de usuarios y talleres) para aprender de la mano de expertos de AWS las prácticas recomendadas acerca de cómo usar los servicios de AWS. 
  + [ Aprenda paso a paso con un plan de aprendizaje para socios de AWS](https://aws.amazon.com/partners/training/aws-partner-learning-plans/)
  +  [Eventos y seminarios web de AWS](https://aws.amazon.com/events/) 
  +  [AWS Workshops](https://workshops.aws/) 
  +  [AWS Communities](https://aws.amazon.com/events/asean/community-and-events/) 
+  Contacte con AWS cuando necesite más ayuda o información sobre un producto. AWS Los Solutions Architects y [AWS Professional Services](https://aws.amazon.com/professional-services/) proporcionan orientación para la implementación de soluciones. [AWS Los socios](https://aws.amazon.com/partners/) ponen a su disposición el conocimiento experto de AWS para ayudarle a mejorar la agilidad y la innovación para su empresa. 
+  Use [Soporte](https://aws.amazon.com/contact-us/) si necesita asistencia técnica para usar un servicio de forma eficaz. [Nuestros planes de asistencia](https://aws.amazon.com/premiumsupport/plans/) están diseñados para ofrecerle la combinación perfecta de herramientas junto con el acceso a conocimientos especializados para que pueda tener éxito con AWS mientras optimiza el rendimiento, administra los riesgos y mantiene los costos bajo control. 

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

 **Documentos relacionados:** 
+  [AWS Centro de arquitectura de](https://aws.amazon.com/architecture/) 
+ [AWS Partner Network](https://aws.amazon.com/partners/)
+  [Biblioteca de soluciones de AWS](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Enterprise Support](https://aws.amazon.com/premiumsupport/plans/enterprise/) 

 **Videos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2023 - Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023 - Implementing distributed design patterns on AWS](https://www.youtube.com/watch?v=pfAlmkzyaJQ)
+ [AWS re:Invent 2023 - Application architecture as code ](https://www.youtube.com/watch?v=vasvpFRPx9c)

 **Ejemplos relacionados:** 
+  [AWS Ejemplos del](https://github.com/aws-samples) 
+  [Ejemplos del AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 
+ [AWS Analytics Reference Architecture ](https://github.com/aws-samples/aws-analytics-reference-architecture)

# PERF01-BP03 Contemplación de los costos en las decisiones sobre arquitectura
<a name="perf_architecture_factor_cost_into_architectural_decisions"></a>

 Tenga en cuenta los costos en sus decisiones arquitectónicas para mejorar el uso de los recursos y la eficiencia del rendimiento de su carga de trabajo en la nube. Si conoce las implicaciones financieras de su carga de trabajo en la nube, es más probable que aproveche los recursos de forma eficiente y reduzca las prácticas innecesarias. 

 **Patrones comunes de uso no recomendados:** 
+  Solo utiliza una familia de instancias. 
+  No contempla la posibilidad de utilizar soluciones con licencia en lugar de soluciones de código abierto. 
+  No tiene políticas definidas sobre el ciclo de vida del almacenamiento. 
+  No revisa los nuevos servicios y características de la Nube de AWS. 
+  Solo utiliza el almacenamiento de bloques. 

 **Beneficios de establecer esta práctica recomendada:** si tiene en cuenta los costos a la hora de tomar decisiones, tendrá la oportunidad de utilizar recursos más eficientes y explorar otras inversiones. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Si optimiza las cargas de trabajo con arreglo a los costos, puede mejorar el uso de los recursos y evitar pérdidas en una carga de trabajo en la nube. Por lo general, al contemplar los costos en las decisiones de arquitectura, los componentes de la carga de trabajo se dimensionan correctamente y se favorece la elasticidad, lo que se traduce en una mejora de la eficiencia del rendimiento de las cargas de trabajo en la nube. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Establezca objetivos de costos, como los límites presupuestarios de la carga de trabajo en la nube. 
+  Identifique los componentes clave (como las instancias y el almacenamiento) que influyen en los costos de su carga de trabajo. Puede usar [Calculadora de precios de AWS](https://calculator.aws/#/) y [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) para identificar los principales factores que influyen en los costos de su carga de trabajo. 
+  Consulte los [modelos de precios](https://aws.amazon.com/pricing/) en la nube, como instancias bajo demanda, instancias reservadas, Savings Plans e instancias de spot. 
+  Utilice las [prácticas recomendadas de optimización de costos de Well-Architected](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html) para optimizar estos componentes clave en términos de costos. 
+  Supervise y analice los costos de forma continua para identificar oportunidades que le permitan optimizar los gastos de su carga de trabajo. 
  +  Use [AWS Budgets](https://aws.amazon.com/aws-cost-management/aws-budgets/) para recibir alertas sobre costos inaceptables. 
  +  Use [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) o [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) para obtener recomendaciones sobre la optimización de costos. 
  +  Use la [Detección de anomalías en los costos de AWS](https://aws.amazon.com/aws-cost-management/aws-cost-anomaly-detection/) para detectar automáticamente las anomalías en los costos y analizar la causa raíz. 

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

 **Documentos relacionados:** 
+ [What is AWS Billing and Cost Management?](https://docs.aws.amazon.com/cost-management/latest/userguide/what-is-costmanagement.html)
+ [ Optimización de costos con AWS](https://aws.amazon.com/aws-cost-management/cost-optimization/)
+ [Choosing an AWS cost management strategy](https://aws.amazon.com/getting-started/decision-guides/cost-management-on-aws-how-to-choose/)
+ [A Beginner’s Guide to AWS Cost Management](https://aws.amazon.com/blogs/aws-cloud-financial-management/beginners-guide-to-aws-cost-management/)
+  [A Detailed Overview of the Cost Intelligence Dashboard](https://aws.amazon.com/blogs/aws-cloud-financial-management/a-detailed-overview-of-the-cost-intelligence-dashboard/) 
+  [Centro de arquitectura de AWS](https://aws.amazon.com/architecture/) 
+  [Biblioteca de soluciones de AWS](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Videos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2023 - What’s new with AWS cost optimization ](https://www.youtube.com/watch?v=EOUTf2Dxo0Y)
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2023 - AWS storage cost-optimization best practices ](https://www.youtube.com/watch?v=8LVKNHcA6RY)
+ [AWS re:Invent 2023 - Optimize costs in your multi-account environments ](https://www.youtube.com/watch?v=ie_Mqb-eC4A)

 **Ejemplos relacionados:** 
+ [Código de demostración de AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer)
+ [ Cost Optimization Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/11959269-3506-4bcb-aa2a-f257709cb8ca/en-US)
+ [Cloud Financial Management Technical Implementation Playbooks](https://catalog.workshops.aws/awscff/en-US)
+ [Startup optimization: Tuning application performance for maximum efficiency](https://catalog.workshops.aws/performance-tuning/en-US)
+ [ Serverless Optimization Workshop (Performance and Cost) ](https://catalog.us-east-1.prod.workshops.aws/workshops/2d960419-7d15-44e7-b540-fd3ebeb7ce2e/en-US)
+ [Scaling cost effective architectures](https://catalog.us-east-1.prod.workshops.aws/workshops/f238037c-8f0b-446e-9c15-ebcc4908901a/en-US)

# PERF01-BP04 Evaluación del efecto de las decisiones en los clientes y en la eficiencia de la arquitectura
<a name="perf_architecture_evaluate_trade_offs"></a>

 Cuando evalúe las mejoras relacionadas con el rendimiento, debe determinar qué decisiones afectarán a sus clientes y a la eficiencia de la carga de trabajo. Por ejemplo, si el uso de un almacén de datos clave-valor mejora el rendimiento del sistema, es importante analizar cómo la naturaleza eventualmente consistente de este cambio afectaría a los clientes. 

 **Patrones comunes de uso no recomendados:** 
+  Da por hecho que habría que implementar todas las ventajas relacionadas con el rendimiento, aunque esta implementación tenga repercusiones. 
+  Solo evalúa los cambios en las cargas de trabajo cuando un problema de rendimiento ha alcanzado un punto crítico. 

 **Beneficios de establecer esta práctica recomendada:** al evaluar las mejoras potenciales relacionadas con el rendimiento, debe decidir si las compensaciones que exigen los cambios son aceptables de acuerdo con los requisitos de la carga de trabajo. En algunos casos, es posible que tenga que implementar controles adicionales para contrarrestar estas repercusiones. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Identifique las áreas críticas de la arquitectura en términos de cómo afectan al rendimiento y a los clientes. Determine cómo puede hacer mejoras, qué repercusiones tienen esas mejoras y cómo afectan al sistema y a la experiencia del usuario. Por ejemplo, la implementación de datos en caché puede mejorar drásticamente el rendimiento, pero requiere una estrategia clara sobre cómo y cuándo actualizar o invalidar los datos en caché para evitar un comportamiento incorrecto del sistema. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Comprenda los requisitos de la carga de trabajo y los SLA. 
+  Defina claramente los factores de la evaluación. Estos factores pueden estar relacionados con los costos, la fiabilidad, la seguridad y el rendimiento de su carga de trabajo. 
+  Seleccione una arquitectura y unos servicios que puedan satisfacer sus necesidades. 
+  Lleve a cabo experimentos y pruebas de conceptos (POC) para analizar las repercusiones y el impacto que pueden tener en los clientes y en la eficiencia de la arquitectura. Por lo general, las cargas de trabajo seguras, de alto rendimiento y de alta disponibilidad consumen más recursos de la nube, aunque proporcionan una mejor experiencia al cliente. Comprenda las compensaciones de la complejidad, el rendimiento y el costo de su carga de trabajo. Por lo general, priorizar dos de los factores se produce a expensas del tercero. 

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

 **Documentos relacionados:** 
+  [Amazon Builders’ Library](https://aws.amazon.com/builders-library) 
+  [KPI de Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+ [ Understand resiliency patterns and trade-offs to architect efficiently in the cloud ](https://aws.amazon.com/blogs/architecture/understand-resiliency-patterns-and-trade-offs-to-architect-efficiently-in-the-cloud/)

 **Videos relacionados:** 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)
+ [AWS re:Invent 2023 - Advanced integration patterns & trade-offs for loosely coupled systems ](https://www.youtube.com/watch?v=FGKGdUiZKto)

 **Ejemplos relacionados:** 
+  [Measure page load time with Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente web de Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP05 Uso de políticas y arquitecturas de referencia
<a name="perf_architecture_use_policies_and_reference_architectures"></a>

 Cuando elija los servicios y las configuraciones, utilice políticas internas y arquitecturas de referencia existentes para ser más eficiente al diseñar e implementar su carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Permite usar una gran variedad de tecnologías, lo que puede incidir en los gastos generales de administración de la empresa. 

 **Beneficios de establecer esta práctica recomendada:** establecer una política para la elección de la arquitectura, la tecnología y el proveedor permite tomar decisiones de forma rápida. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Contar con políticas internas para seleccionar los recursos y la arquitectura proporciona estándares y pautas que pueden seguirse al tomar decisiones sobre arquitectura. Estas directrices agilizan el proceso de toma de decisiones a la hora de elegir el servicio de nube correcto y pueden ayudar a mejorar la eficiencia del rendimiento. Implemente la carga de trabajo a través de políticas o arquitecturas de referencia. Integre los servicios en su implementación en la nube y, a continuación, utilice las pruebas de rendimiento para asegurarse de que puede seguir cumpliendo los requisitos establecidos. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Conozca al detalle los requisitos de su carga de trabajo en la nube. 
+  Consulte políticas internas y externas para identificar las más relevantes. 
+  Utilice las arquitecturas de referencia adecuadas que le ofrece AWS o las prácticas recomendadas por el sector. 
+  Cree un conjunto coherente de políticas, estándares, arquitecturas de referencia y pautas prescriptivas para situaciones comunes. De este modo, sus equipos podrán avanzar más rápido. Adapte los activos a su sector, si procede. 
+  Coteje estas políticas y arquitecturas de referencia con su carga de trabajo en entornos de pruebas. 
+  Manténgase al tanto de los estándares sectoriales y las actualizaciones de AWS para asegurarse de que las políticas y las arquitecturas de referencia le ayudan a optimizar su carga de trabajo en la nube. 

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

 **Documentos relacionados:** 
+  [Centro de arquitectura de AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Biblioteca de soluciones de AWS](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+ [AWS Architecture Blog ](https://aws.amazon.com/blogs/architecture/category/events/reinvent/)

 **Videos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2022 - Accelerate value for your business with SAP & AWS reference architecture ](https://www.youtube.com/watch?v=-u3oyOy-HxU)

 **Ejemplos relacionados:** 
+  [Ejemplos del AWS](https://github.com/aws-samples) 
+  [Ejemplos del AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP06 Uso de pruebas comparativas para tomar decisiones arquitectónicas
<a name="perf_architecture_use_benchmarking"></a>

 Mida el rendimiento de una carga de trabajo existente para entender cómo rinde en la nube y fundamentar sus decisiones sobre arquitectura en esos datos. 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza pruebas comparativas de uso común que no son indicativas de las características concretas de su carga de trabajo. 
+  La única referencia que tiene en cuenta son los comentarios y las percepciones de los clientes. 

 **Beneficios de establecer esta práctica recomendada:** el estudio comparativo de su implementación actual le permite medir las mejoras del rendimiento. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Utilice la evaluación comparativa con pruebas sintéticas para evaluar el rendimiento de los componentes de su carga de trabajo. Las pruebas comparativas suelen ser más rápidas de configurar que las pruebas de carga y se utilizan para evaluar la tecnología de un componente concreto. Estas pruebas comparativas suelen usarse al comienzo de un nuevo proyecto, cuando aún no se tiene una solución completa para hacer una prueba de carga. 

 Puede crear sus propias pruebas comparativas personalizadas, o bien usar un estándar del sector, como [TPC-DS](http://www.tpc.org/tpcds/), para comparar sus cargas de trabajo. Las pruebas comparativas sectoriales son útiles cuando se comparan entornos. Los puntos de referencia personalizados son útiles para encontrar tipos específicos de operaciones que espera llevar a cabo en su arquitectura. 

 Con las pruebas comparativas, es importante llevar a cabo los preparativos necesarios en el entorno de prueba para asegurarse de que los resultados obtenidos son válidos. Ejecute la misma comparativa muchas veces para asegurarse de que detecta cualquier variación que haya podido surgir con el tiempo. 

 Como las pruebas comparativas por lo general se ejecutan más rápido que las pruebas de carga, pueden usarse antes en la canalización de implementación y proporcionan información de una forma más rápida sobre las desviaciones del rendimiento. Al evaluar un cambio importante en un componente o servicio, puede resultar más rápido usar una prueba comparativa para determinar si el esfuerzo que conlleva el cambio es justificable. Es importante usar pruebas de carga junto con las pruebas comparativas, ya que las pruebas de carga le informan del rendimiento de la carga de trabajo en producción. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Planificación y definición: 
  +  Defina los objetivos, la base de referencia, los escenarios de prueba, las métricas (como la utilización de la CPU, la latencia o el rendimiento) y los KPI para el punto de referencia. 
  +  Céntrese en los requisitos de los usuarios en lo que respecta a la experiencia de usuario y factores como el tiempo de respuesta y la accesibilidad. 
  +  Identifique una herramienta de pruebas comparativas que sea adecuada para su carga de trabajo. Puede usar los servicios de AWS (como [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)) o una herramienta de terceros que sea compatible con su carga de trabajo. 
+  Configuración e instrumentación: 
  +  Configure el entorno y los recursos. 
  +  Implemente la supervisión y el registro para recopilar los resultados de las pruebas. 
+  Comparación y supervisión: 
  +  Haga las pruebas comparativas y supervise las métricas durante la prueba. 
+  Análisis y documentación: 
  +  Documente el proceso de evaluación comparativa y los resultados. 
  +  Analice los resultados para identificar los cuellos de botella, las tendencias y las áreas de mejora. 
  +  Utilice los resultados de las pruebas para tomar decisiones arquitectónicas y ajustar la carga de trabajo. Para ello, puede ser necesario cambiar los servicios o adoptar nuevas características. 
+  Optimizar y repetir: 
  +  Ajuste las configuraciones y asignaciones de los recursos en función de los puntos de referencia. 
  +  Vuelva a probar la carga de trabajo después del ajuste para validar las mejoras. 
  +  Documente la información obtenida y repita el proceso para identificar otras áreas de mejora. 

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

 **Documentos relacionados:** 
+  [AWS Centro de arquitectura de](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS Biblioteca de soluciones de](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Genomics workflows, Part 5: automated benchmarking](https://aws.amazon.com/blogs/architecture/genomics-workflows-part-5-automated-benchmarking/) 
+  [Benchmark and optimize endpoint deployment in Amazon SageMaker AI JumpStart](https://aws.amazon.com/blogs/machine-learning/benchmark-and-optimize-endpoint-deployment-in-amazon-sagemaker-jumpstart/) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 - Benchmarking AWS Lambda cold starts](https://www.youtube.com/watch?v=bGMEPI-va-Q&ab_channel=AWSEvents) 
+  [Benchmarking stateful services in the cloud](https://www.youtube.com/watch?v=rtW4a4DvcWU&ab_channel=AWSEvents) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Ejemplos relacionados:** 
+  [AWS Ejemplos del](https://github.com/aws-samples) 
+  [Ejemplos del AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Pruebas de carga distribuidas](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Measure page load time with Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente web de Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 Uso de un enfoque basado en los datos en sus decisiones arquitectónicas
<a name="perf_architecture_use_data_driven_approach"></a>

 Defina un enfoque claro basado en los datos para utilizarlo cuando tome decisiones sobre arquitectura y asegurarse de que se utilizan los servicios y las configuraciones en la nube correctos para satisfacer las necesidades específicas de su empresa. 

 **Patrones comunes de uso no recomendados:** 
+  Presupone que la arquitectura actual es estática y no debe actualizarse con el tiempo. 
+  Las decisiones arquitectónicas que toma se basan en conjeturas y suposiciones. 
+  Se introducen cambios en la arquitectura a lo largo del tiempo sin justificación. 

 **Beneficios de establecer una práctica recomendada:** al contar con un enfoque bien definido y aplicarlo a la hora de optar por las opciones arquitectónicas, se utilizan los datos para influir en el diseño de la carga de trabajo y tomar decisiones fundamentadas a lo largo del tiempo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para seleccionar los recursos y los servicios de su arquitectura, aproveche la experiencia y los conocimientos sobre la nube del personal interno o utilice recursos externos, como los casos de uso publicados o los documentos técnicos. Debe contar con un proceso bien definido que contribuya a probar y comparar los servicios que podrían utilizarse en su carga de trabajo. 

 La lista de tareas pendientes para las cargas de trabajo críticas no solo debe incluir casos de usuario que brinden una funcionalidad relevante para la empresa y los usuarios, sino también casos técnicos que conformen un plan arquitectónico para la carga de trabajo. Este plan se nutre de nuevos avances en tecnología y nuevos servicios, que se incorporan con arreglo a los datos y de forma justificada. Esto garantiza que la arquitectura siempre está preparada para el futuro y no se queda anquilosada. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Hable con las principales partes interesadas para definir los requisitos de la carga de trabajo, incluidas las consideraciones de rendimiento, disponibilidad y costos. Tenga en cuenta factores como la cantidad de usuarios y el modo de uso de la carga de trabajo. 
+  Cree un plan de arquitectura o una lista de tareas pendientes relacionadas con la tecnología que tengan la misma prioridad que las tareas pendientes relacionadas con la funcionalidad. 
+  Evalúe y valore los diferentes servicios en la nube (para obtener más información, consulte [PERF01-BP01 Descubrimiento y comprensión de los servicios y las características disponibles en la nube](perf_architecture_understand_cloud_services_and_features.md)). 
+  Analice diferentes patrones arquitectónicos, como los microservicios o la computación sin servidor, que se ajusten a sus requisitos de rendimiento (para obtener más información, consulte [PERF01-BP02 Uso de las recomendaciones del proveedor de servicios en la nube o de un socio adecuado para conocer los modelos de arquitectura y las prácticas recomendadas](perf_architecture_guidance_architecture_patterns_best_practices.md)). 
+  Consulte otros equipos, diagramas de arquitectura y recursos, como arquitectos de soluciones de AWS, [Centro de arquitectura de AWS](https://aws.amazon.com/architecture/) y [AWS Partner Network](https://aws.amazon.com/partners/), para poder elegir la arquitectura adecuada para su carga de trabajo. 
+  Defina métricas, como el rendimiento y el tiempo de respuesta, que puedan ser de ayuda a la hora de evaluar el rendimiento de su carga de trabajo. 
+  Pruebe y utilice las métricas definidas para validar el rendimiento de la arquitectura seleccionada. 
+  Mantenga un control continuo y haga los ajustes necesarios para garantizar el rendimiento óptimo de su arquitectura. 
+  Documente la arquitectura seleccionada y las decisiones adoptadas de forma que sirvan de referencia para futuras actualizaciones y formaciones. 
+  Revise y actualice continuamente el enfoque de selección de arquitectura con arreglo a los nuevos conocimientos, las nuevas tecnologías y las métricas que indiquen un cambio necesario o un problema en el enfoque actual. 

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

 **Documentos relacionados:** 
+  [Biblioteca de soluciones de AWS](https://aws.amazon.com/solutions/) 
+  [Centro de conocimiento de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+ [ Architectural Patterns to Build End-to-End Data Driven Applications on AWS](https://docs.aws.amazon.com/whitepapers/latest/build-e2e-data-driven-applications/build-e2e-data-driven-applications.html)

 **Videos relacionados:** 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+ [AWS re:Invent 2021 - Data-driven enterprise: Going from vision to value ](https://www.youtube.com/watch?v=_D0PF2N2AfA)
+ [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)

 **Ejemplos relacionados:** 
+  [AWS Ejemplos del](https://github.com/aws-samples) 
+  [Ejemplos del AWS SDK](https://github.com/awsdocs/aws-doc-sdk-examples) 

# Computación y hardware
<a name="a-compute-hardware"></a>

**Topics**
+ [PERF 2. ¿Cómo selecciona y utiliza los recursos de computación en su carga de trabajo?](perf-02.md)

# PERF 2. ¿Cómo selecciona y utiliza los recursos de computación en su carga de trabajo?
<a name="perf-02"></a>

 La elección óptima de computación para una carga de trabajo concreta puede variar en función del diseño de la aplicación, los patrones de uso y los ajustes de configuración. Las arquitecturas pueden usar diferentes opciones de computación para varios componentes y admiten diferentes características para mejorar el rendimiento. No seleccionar la opción de computación correcta para una arquitectura puede disminuir la eficiencia del rendimiento. 

**Topics**
+ [PERF02-BP01 Selección de las mejores opciones computacionales para su carga de trabajo](perf_compute_hardware_select_best_compute_options.md)
+ [PERF02-BP02 Comprensión de las opciones de configuración y las características de computación disponibles](perf_compute_hardware_understand_compute_configuration_features.md)
+ [PERF02-BP03 Recopilación de métricas relacionadas con la computación](perf_compute_hardware_collect_compute_related_metrics.md)
+ [PERF02-BP04 Configuración y dimensionamiento correcto de los recursos de computación](perf_compute_hardware_configure_and_right_size_compute_resources.md)
+ [PERF02-BP05 Escalado de los recursos de computación de forma dinámica](perf_compute_hardware_scale_compute_resources_dynamically.md)
+ [PERF02-BP06 Uso de aceleradores de computación optimizados basados en hardware](perf_compute_hardware_compute_accelerators.md)

# PERF02-BP01 Selección de las mejores opciones computacionales para su carga de trabajo
<a name="perf_compute_hardware_select_best_compute_options"></a>

 Si selecciona la opción computacional más adecuada para su carga de trabajo, podrá mejorar el rendimiento, reducir los costos de infraestructura innecesarios y aligerar los esfuerzos operativos necesarios para mantener esa carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza la misma opción computacional que en el entorno en las instalaciones. 
+  No tiene información suficiente sobre las opciones de computación, las características y las soluciones de la nube, y cómo estas podrían mejorar el rendimiento de computación. 
+  Ha aprovisionado en exceso una opción de computación existente para cumplir los requisitos de escalado o rendimiento cuando una opción de computación alternativa se ajustaría con mayor precisión a las características de la carga de trabajo. 

 **Beneficios de establecer una práctica recomendada:** al identificar los requisitos de computación y evaluarlos con arreglo a las opciones disponibles, puede hacer que su carga de trabajo sea más eficiente en términos de recursos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para optimizar las cargas de trabajo en la nube y lograr un rendimiento eficiente, es importante seleccionar las opciones de computación más adecuadas para su caso de uso y los requisitos de rendimiento. AWS ofrece una variedad de opciones de computación que se adaptan a diferentes cargas de trabajo en la nube. Por ejemplo, puede usar [Amazon EC2](https://docs.aws.amazon.com/ec2/) para lanzar y administrar servidores virtuales, [AWS Lambda](https://docs.aws.amazon.com/lambda/?icmpid=docs_homepage_featuredsvcs) para poner en marcha código sin tener que aprovisionar o administrar servidores, [Amazon ECS](https://aws.amazon.com/ecs/) o [Amazon EKS](https://aws.amazon.com/eks/) para poner en marcha y administrar contenedores, o [AWS Batch](https://aws.amazon.com/batch/) para procesar grandes volúmenes de datos en paralelo. En función de sus necesidades de computación y escalado, debe elegir y configurar la solución computacional que sea óptima para su caso. También puede considerar la posibilidad de usar diferentes tipos de soluciones computacionales en una misma carga de trabajo, ya que cada una de ellas tiene sus propias ventajas e inconvenientes. 

 Los siguientes pasos le permitirán seleccionar las opciones computacionales adecuadas que se adaptan a las características de su carga de trabajo y a los requisitos de rendimiento. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+  Comprenda cuáles son los requisitos computacionales de su carga de trabajo. Algunos de los principales requisitos son las necesidades de procesamiento, los patrones de tráfico, los patrones de acceso a los datos, las necesidades de escalado y los requisitos de latencia. 
+  Obtenga información sobre los diferentes [servicios de computación de AWS](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/compute-services.html) para su carga de trabajo. Para obtener más información, consulte [PERF01-BP01 Descubrimiento y comprensión de los servicios y las características disponibles en la nube](perf_architecture_understand_cloud_services_and_features.md). Estas son algunas de las principales opciones de computación de AWS, sus características y casos de uso comunes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_compute_hardware_select_best_compute_options.html)
+  Calcule el costo (por ejemplo, el costo por hora o la transferencia de datos) y los gastos generales de administración (como la aplicación de parches y el escalado) asociados a cada opción de computación. 
+  Lleve a cabo experimentos y pruebas comparativas en un entorno que no sea de producción para identificar qué opción de computación puede satisfacer mejor los requisitos de su carga de trabajo. 
+  Una vez que haya probado e identificado su nueva solución de computación, planifique la migración y valide sus métricas de rendimiento. 
+  Utilice las herramientas de supervisión de AWS, como [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html), y los servicios de optimización, como [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/), para optimizar continuamente los recursos de computación en función de los patrones de uso reales. 

 

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

 **Documentos relacionados:** 
+  [Computación en la nube con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Tipos de instancias de Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Contenedores de Amazon EKS: nodos de trabajo de Amazon EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Contenedores de Amazon ECS: instancias de contenedor de Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funciones: configuración de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+ [Prescriptive Guidance for Containers](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23containers&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 
+  [Prescriptive Guidance for Serverless](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 - AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2023 - New Amazon Elastic Compute Cloud generative AI capabilities in AMS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 - What’s new with Amazon Elastic Compute Cloud](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 - Smart savings: Amazon Elastic Compute Cloud cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 - Powering next-gen Amazon Elastic Compute Cloud: Deep dive on the Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 - Optimize performance and cost for your AWS compute](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [AWS re:Invent 2019 - Amazon Elastic Compute Cloud foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2022 - Deploy ML models for inference at high performance and low cost](https://www.youtube.com/watch?v=4FqHt5bmS2o) 
+  [AWS re:Invent 2019 - Optimize performance and cost for your AWS compute ](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Implementación de modelos de ML para realizar inferencias con un alto rendimiento y un bajo costo](https://www.youtube.com/watch?v=4FqHt5bmS2o) 

 **Ejemplos relacionados:** 
+  [Migrating the Web application to containers](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Run a Serverless Hello World](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 
+  [Taller de Amazon EKS](https://www.eksworkshop.com/) 
+  [Amazon EC2 Workshop](https://ec2spotworkshops.com/) 
+  [Efficient and Resilient Workloads with Amazon Elastic Compute Cloud Auto Scaling](https://catalog.us-east-1.prod.workshops.aws/workshops/20c57d32-162e-4ad5-86a6-dff1f8de4b3c/en-US) 
+  [Migrating to AWS Graviton with Container Services](https://catalog.us-east-1.prod.workshops.aws/workshops/dcab7555-32fc-42d2-97e5-2b7a35cd008f/en-US/) 

# PERF02-BP02 Comprensión de las opciones de configuración y las características de computación disponibles
<a name="perf_compute_hardware_understand_compute_configuration_features"></a>

 Conozca las opciones de configuración y las características disponibles para su servicio de computación, lo que le permitirá aprovisionar la cantidad de recursos adecuada y conseguir un rendimiento más eficiente. 

 **Patrones comunes de uso no recomendados:** 
+  No evalúan las opciones de computación ni las familias de instancias disponibles con arreglo a las características de la carga de trabajo. 
+  Aprovisiona un exceso de recursos de computación para satisfacer los picos de demanda. 

** Beneficios de establecer esta práctica recomendada:** familiarícese con las configuraciones y las características computacionales de AWS para utilizar una solución computacional optimizada que se ajuste a las características y necesidades de su carga de trabajo.

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Cada solución de computación tiene disponibles configuraciones y características únicas que admiten diferentes características y requisitos de la carga de trabajo. Descubra cómo estas opciones complementan su carga de trabajo y determine qué opciones de configuración son mejores para su caso. Algunas de estas opciones pueden ser, por ejemplo, la familia de instancias, el tamaño, las características (GPU, E/S, etc.), la capacidad de ampliación, los tiempos de espera, los tamaños de funciones, las instancias de contenedor y la simultaneidad. Si su carga de trabajo ha estado utilizando la misma opción de computación durante más de cuatro semanas y prevé que las características seguirán siendo las mismas en el futuro, puede utilizar [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para comprobar si su opción computacional actual es apropiada para las cargas de trabajo en cuanto a CPU y memoria. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+  Sepa cuáles son los requisitos de la carga de trabajo (como los requisitos de CPU, la memoria y la latencia). 
+  Consulte la documentación y las prácticas recomendadas de AWS para obtener información sobre las opciones de configuración recomendadas que pueden ayudar a mejorar el rendimiento computacional. Estas son algunas de las principales opciones de configuración que debe tener en cuenta:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_compute_hardware_understand_compute_configuration_features.html)

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

 **Documentos relacionados:** 
+  [Computación en la nube con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Tipos de instancias de Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Control de los estados del procesador de la instancia de Amazon EC2 Linux ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Contenedores de Amazon EKS: nodos de trabajo de Amazon EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Contenedores de Amazon ECS: instancias de contenedor de Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funciones: configuración de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 – New Amazon EC2 generative AI capabilities in Consola de administración de AWS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 – What's new with Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 – Smart savings: Amazon EC2 cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 – Powering next-gen Amazon EC2: Deep dive on the Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 – Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2022 – Optimizing Amazon EKS for performance and cost on AWS](https://www.youtube.com/watch?v=5B4-s_ivn1o) 

 **Ejemplos relacionados:** 
+  [Código de demostración de Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Amazon EC2 spot instances workshop](https://ec2spotworkshops.com/) 
+  [Efficient and Resilient Workloads with Amazon EC2 AWS Auto Scaling](https://catalog.us-east-1.prod.workshops.aws/workshops/20c57d32-162e-4ad5-86a6-dff1f8de4b3c/en-US) 
+  [Graviton developer workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/dcab7555-32fc-42d2-97e5-2b7a35cd008f/en-US/) 
+  [AWS for Microsoft workloads immersion day](https://catalog.us-east-1.prod.workshops.aws/workshops/d6c7ecdc-c75f-4ad1-910f-fdd994cc4aed/en-US) 
+  [AWS for Linux workloads immersion day](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US) 
+  [Código de demostración de AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Taller de Amazon EKS](https://www.eksworkshop.com/) 

  

# PERF02-BP03 Recopilación de métricas relacionadas con la computación
<a name="perf_compute_hardware_collect_compute_related_metrics"></a>

 Registre y supervise las métricas relacionadas con los recursos de computación para comprender mejor el rendimiento de los recursos de computación y mejorar su rendimiento y su uso. 

 **Patrones comunes de uso no recomendados:** 
+  Solo se utiliza la búsqueda manual de métricas en los archivos de registro.  
+  Solo utiliza las métricas predeterminadas registradas en el software de supervisión seleccionado. 
+  Solo se revisan las métricas cuando hay un problema. 

 **Beneficios de establecer esta práctica recomendada:** recopilar métricas relacionadas con el rendimiento le permitirá ajustar el rendimiento de las aplicaciones a los requisitos empresariales para garantizar que cumple con las necesidades de su carga de trabajo. También puede ser de ayuda para mejorar continuamente el rendimiento y el uso de los recursos en su carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las cargas de trabajo en la nube pueden generar grandes volúmenes de datos, como métricas, registros y eventos. En Nube de AWS, la recopilación de métricas es un paso crucial para mejorar la seguridad, la rentabilidad, el rendimiento y la sostenibilidad. AWS ofrece una amplia variedad de métricas relacionadas con el rendimiento a través de servicios de supervisión como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para proporcionarle información valiosa. Las métricas como la utilización de la CPU, la utilización de la memoria, las operaciones de E/S del disco y la entrada y salida de la red pueden proporcionar información sobre los niveles de uso o los cuellos de botella del rendimiento. Utilice estas métricas como parte de un enfoque basado en datos para ajustar y optimizar activamente los recursos de su carga de trabajo.  En un supuesto ideal, debería recopilar todas las métricas relacionadas con sus recursos de computación en una única plataforma que tuviera políticas de retención implementadas para satisfacer los objetivos operativos y financieros. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique qué métricas relacionadas con el rendimiento son relevantes para su carga de trabajo. Debe recopilar métricas sobre el uso de los recursos y la forma en que funciona su carga de trabajo en la nube (por ejemplo, el tiempo de respuesta y el rendimiento). 
  +  [Amazon EC2 default metrics](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 
  +  [Amazon ECS default metrics](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 
  +  [Amazon EKS default metrics](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 
  +  [Lambda default metrics](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 
  +  [Amazon EC2 memory and disk metrics](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 
+  Elija y configure la solución de registro y supervisión adecuada para su carga de trabajo. 
  +  [AWS native Observability](https://catalog.workshops.aws/observability/en-US/aws-native) 
  +  [AWS Distro para OpenTelemetry](https://aws.amazon.com/otel/) 
  +  [Servicio administrado por Amazon para Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 
+  Defina el filtro y la agregación que se necesitan para las métricas en función de los requisitos de su carga de trabajo. 
  +  [Quantify custom application metrics with Amazon CloudWatch Logs and metric filters](https://aws.amazon.com/blogs/mt/quantify-custom-application-metrics-with-amazon-cloudwatch-logs-and-metric-filters/) 
  +  [Collect custom metrics with Amazon CloudWatch strategic tagging](https://aws.amazon.com/blogs/infrastructure-and-automation/collect-custom-metrics-with-amazon-cloudwatch-strategic-tagging/) 
+  Configure políticas de retención de datos para que las métricas se ajusten a los objetivos operativos y de seguridad. 
  +  [Retención de datos predeterminada para las métricas de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 
  +  [Retención de datos predeterminada para Registros de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 
+  Si es necesario, cree alarmas y notificaciones para sus métricas, lo que le ayudará a responder de manera proactiva a los problemas relacionados con el rendimiento. 
  +  [Create alarms for custom metrics using Amazon CloudWatch anomaly detection](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection.html) 
  +  [Create metrics and alarms for specific web pages with Amazon CloudWatch RUM](https://aws.amazon.com/blogs/mt/create-metrics-and-alarms-for-specific-web-pages-amazon-cloudwatch-rum/) 
+  Utilice la automatización para implementar los agentes de agregación de métricas y registros. 
  +  [AWS Systems Manager automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 
  +  [OpenTelemetry Collector](https://aws-otel.github.io/docs/getting-started/collector) 

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

 **Documentos relacionados:** 
+  [Monitoreo y observabilidad](https://aws.amazon.com/cloudops/monitoring-and-observability/) 
+  [Best practices: implementing observability with AWS](https://aws.amazon.com/blogs/mt/best-practices-implementing-observability-with-aws/) 
+  [Documentación de Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [Recopilación de métricas y registros de instancias de Amazon EC2 y en los servidores en las instalaciones con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Uso de Registros de Amazon CloudWatch con AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Uso de Registros de CloudWatch con instancias de contenedor](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [Publish custom metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [AWS Answers: Registro centralizado](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [Servicios de AWS que publican métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [Monitoring Amazon EKS on AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – [LAUNCH] Application monitoring for modern workloads](https://www.youtube.com/watch?v=T2TovTLje8w) 
+  [AWS re:Invent 2023 – Implementing application observability](https://www.youtube.com/watch?v=IcTcwUSwIs4) 
+  [AWS re:Invent 2023 – Building an effective observability strategy](https://www.youtube.com/watch?v=7PQv9eYCJW8) 
+  [AWS re:Invent 2023 – Seamless observability with AWS Distro for OpenTelemetry](https://www.youtube.com/watch?v=S4GfA2R0N_A) 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 

 **Ejemplos relacionados:** 
+  [AWS for Linux Workloads Immersion Day- Amazon CloudWatch](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US/300-cloudwatch) 
+  [Monitoring Amazon ECS clusters and containers](https://ecsworkshop.com/monitoring/) 
+  [Monitoring with Amazon CloudWatch dashboards](https://catalog.workshops.aws/well-architected-performance-efficiency/en-US/3-monitoring/monitoring-with-cloudwatch-dashboards) 
+  [Taller de Amazon EKS](https://www.eksworkshop.com/) 

# PERF02-BP04 Configuración y dimensionamiento correcto de los recursos de computación
<a name="perf_compute_hardware_configure_and_right_size_compute_resources"></a>

 Configure y dimensione correctamente los recursos de computación para que se ajusten a los requisitos de rendimiento de su carga de trabajo y evitar la infrautilización o el uso excesivo de recursos. 

 **Patrones comunes de uso no recomendados:** 
+  Ignora los requisitos de rendimiento de la carga de trabajo, lo que genera una falta o un exceso de aprovisionamiento de recursos de computación. 
+  Solo elige la instancia más grande o más pequeña disponible para todas las cargas de trabajo. 
+  Solo usa una familia de instancias para facilitar la administración. 
+  No tiene en cuenta las recomendaciones de AWS Cost Explorer o Compute Optimizer para ajustar el tamaño. 
+  No somete a nuevas evaluaciones a la carga de trabajo para determinar la idoneidad de nuevos tipos de instancias. 
+  Solo certifica una pequeña cantidad de configuraciones de instancias para su organización. 

 **Beneficios de establecer esta práctica recomendada:** el dimensionamiento correcto de los recursos de computación garantiza un funcionamiento óptimo en la nube al evitar que se produzca un exceso o falta de aprovisionamiento de recursos. El dimensionamiento adecuado de los recursos computacionales generalmente se traduce en un mayor rendimiento y una mejor experiencia del cliente, al tiempo que se reducen los costos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Un dimensionamiento correcto permite a las organizaciones gestionar la infraestructura en la nube de manera eficiente y rentable, al tiempo que abordan sus necesidades empresariales. Un aprovisionamiento excesivo de los recursos en la nube puede generar costos adicionales, mientras que un aprovisionamiento insuficiente puede provocar un rendimiento deficiente y una experiencia negativa para el cliente. AWS proporciona herramientas como [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) y [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/), que utilizan datos históricos para ofrecer recomendaciones sobre el tamaño adecuado de sus recursos de computación. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Elija el tipo de instancia que mejor se adapte a sus necesidades: 
  +  [¿Cómo elijo el tipo de instancia de Amazon EC2 apropiado para mi carga de trabajo?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
  +  [Selección de tipo de instancia basada en atributos para la Flota de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html) 
  +  [Create an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) 
  +  [Optimizing your Kubernetes compute costs with Karpenter consolidation](https://aws.amazon.com/blogs/containers/optimizing-your-kubernetes-compute-costs-with-karpenter-consolidation/) 
+  Analice las distintas características de rendimiento de su carga de trabajo y la relación que tienen con el uso de memoria, redes y CPU. Use estos datos para elegir recursos que encajen bien con el perfil de la carga de trabajo y los objetivos de rendimiento. 
+  Controle el uso de los recursos con las herramientas de supervisión de AWS, como Amazon CloudWatch. 
+  Seleccione la configuración correcta para cada recurso de computación. 
  +  En el caso de cargas de trabajo efímeras, evalúe las [métricas de Amazon CloudWatch de la instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html), como `CPUUtilization`, para identificar si la instancia está infrautilizada o sobreutilizada. 
  +  En las cargas de trabajo estables, consulte regularmente las herramientas de dimensionamiento de AWS, como AWS Compute Optimizer y AWS Trusted Advisor, para identificar oportunidades de optimizar y dimensionar correctamente el recurso de computación. 
+  Pruebe los cambios de configuración en un entorno que no sea de producción antes de implementarlos en un entorno activo. 
+  Revalúe continuamente las nuevas ofertas de computación y compárelas con las necesidades de la carga de trabajo. 

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

 **Documentos relacionados:** 
+  [Computación en la nube con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipos de instancias de Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Contenedores de Amazon ECS: instancias de contenedor de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Contenedores de Amazon EKS: nodos de trabajo de Amazon EKS](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 de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Videos relacionados:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [AWS re:Invent 2023 – AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 – New Amazon EC2 generative AI capabilities in Consola de administración de AWS](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 – What’s new with Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 – Smart savings: Amazon EC2 cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 – Powering next-gen Amazon EC2: Deep dive on the Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 – Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **Ejemplos relacionados:** 
+  [Código de demostración de AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 
+  [Taller de Amazon EKS ](https://www.eksworkshop.com/) 
+  [Right-sizing recommendations](https://catalog.workshops.aws/well-architected-cost-optimization/en-US/3-cost-effective-resources/40-rightsizing-recommendations-100) 

# PERF02-BP05 Escalado de los recursos de computación 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 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
<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 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
<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 escalado automático o como características del servicio. Estos son algunos ejemplos de mecanismos de escalado automático:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_compute_hardware_scale_compute_resources_dynamically.html)
+  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](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html), 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](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) en lugar del [escalado manual](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) para su grupo de escalado automático. También le recomendamos que utilice [políticas de escalado de seguimiento objetivo](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) 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](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/). 

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

 **Documentos relacionados:** 
+  [Computación en la nube con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipos de instancias de Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Contenedores de Amazon ECS: instancias de contenedor de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Contenedores de Amazon EKS: nodos de trabajo de Amazon EKS](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 de 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/) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – AWS Graviton: The best price performance for your AWS workloads](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 – New Amazon EC2 generative AI capabilities in AWS Management Console](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 – What’s new with Amazon EC2](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 – Smart savings: Amazon EC2 cost-optimization strategies](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 – Powering next-gen Amazon EC2: Deep dive on the Nitro System](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 – Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **Ejemplos relacionados:** 
+  [Ejemplos de grupos de Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Taller de Amazon EKS](https://www.eksworkshop.com/) 
+  [Scale your Amazon EKS workloads by running on IPv6](https://catalog.us-east-1.prod.workshops.aws/workshops/3b06259f-8e17-4f2f-811a-75c9b06a2807/en-US) 

# PERF02-BP06 Uso de aceleradores de computación optimizados basados en hardware
<a name="perf_compute_hardware_compute_accelerators"></a>

 Use aceleradores de hardware para llevar a cabo ciertas funciones de manera más eficiente que con las alternativas basadas en CPU. 

 **Patrones comunes de uso no recomendados:** 
+  En su carga de trabajo, no ha comparado una instancia de uso general con una instancia personalizada que pueda ofrecer mayor rendimiento y costos más reducidos. 
+  Utiliza aceleradores de computación basados en hardware para tareas en las que pueda ser más eficiente utilizar alternativas basadas en CPU. 
+  No supervisa el uso de GPU. 

**Beneficios de establecer esta práctica recomendada:** al utilizar aceleradores basados en hardware, como unidades de procesamiento gráfico (GPU) y matrices de puertas programables en campo (FPGA), puede poner en marcha determinadas funciones de procesamiento de manera más eficiente. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las instancias de computación acelerada proporcionan acceso a aceleradores de computación basados en hardware, como las GPU y las FPGA. Estos aceleradores de hardware llevan a cabo ciertas funciones, como el procesamiento gráfico o la concordancia de patrones de datos, de forma más eficiente que las alternativas basadas en CPU. Muchas cargas de trabajo aceleradas, como el renderizado, la transcodificación y el machine learning, son muy variables en cuanto al uso de recursos. Ejecute este hardware solo durante el tiempo que sea necesario y retírelo mediante automatización cuando no se requiera para mejorar la eficiencia del rendimiento general. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique qué [instancias de computación acelerada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html) pueden satisfacer sus requisitos. 
+  Para las cargas de trabajo de machine learning, utilice hardware personalizado específico para la carga de trabajo, como [AWS Trainium](https://aws.amazon.com/machine-learning/trainium/), [AWS Inferentia](https://aws.amazon.com/machine-learning/inferentia/) y [Amazon EC2 DL1](https://aws.amazon.com/ec2/instance-types/dl1/). AWS Las instancias de Inferentia, como las instancias Inf2, [ofrecen hasta un 50 % más de rendimiento por vatio que las instancias de Amazon EC2 comparables](https://aws.amazon.com/machine-learning/inferentia/). 
+  Recopile las métricas de uso de las instancias de computación acelerada. Por ejemplo, puede usar el agente de CloudWatch para recopilar métricas como `utilization_gpu` y `utilization_memory` para sus GPU, como se muestra en [Recopilación de métricas de GPU NVIDIA con Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-NVIDIA-GPU.html). 
+  Optimice el código, el funcionamiento de la red y la configuración de los aceleradores de hardware para asegurarse de que se aprovecha al máximo el hardware subyacente. 
  +  [Optimización de las configuraciones de GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html) 
  +  [GPU Monitoring and Optimization in the Deep Learning AMI](https://docs.aws.amazon.com/dlami/latest/devguide/tutorial-gpu.html) 
  +  [Optimizing I/O for GPU performance tuning of deep learning training in Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/optimizing-i-o-for-gpu-performance-tuning-of-deep-learning-training-in-amazon-sagemaker/) 
+  Utilice las bibliotecas de alto rendimiento y los controladores de GPU más recientes. 
+  Use la automatización para liberar instancias de GPU cuando no se estén usando. 

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

 **Documentos relacionados:** 
+  [Uso de GPU en Amazon Elastic Container Service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 
+  [instancias de GPU](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#gpu-instances) 
+  [Instances with AWS Trainium](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-trainium-instances) 
+  [Instances with AWS Inferentia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#aws-inferentia-instances) 
+  [Let’s Architect\$1 Architecting with custom chips and accelerators](https://aws.amazon.com/blogs/architecture/lets-architect-custom-chips-and-accelerators/) 
+  [Computación acelerada](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing) 
+  [Amazon EC2 VT1 Instances](https://aws.amazon.com/ec2/instance-types/vt1/) 
+  [¿Cómo elijo el tipo de instancia de Amazon EC2 apropiado para mi carga de trabajo?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-choose-type-for-workload/) 
+  [Choose the best AI accelerator and model compilation for computer vision inference with Amazon SageMaker AI](https://aws.amazon.com/blogs/machine-learning/choose-the-best-ai-accelerator-and-model-compilation-for-computer-vision-inference-with-amazon-sagemaker/) 

 **Videos relacionados:** 
+  AWS re:Invent 2021 - [How to select Amazon Elastic Compute Cloud GPU instances for deep learning](https://www.youtube.com/watch?v=4bVrIbgGWEA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - [NEW LAUNCH\$1] Introducing AWS Inferentia2-based Amazon EC2 Inf2 instances](https://www.youtube.com/watch?v=jpqiG02Y2H4&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - Accelerate deep learning and innovate faster with AWS Trainium](https://www.youtube.com/watch?v=YRqvfNwqUIA&ab_channel=AWSEvents) 
+  [AWS re:Invent 2022 - Deep learning on AWS with NVIDIA: From training to deployment](https://www.youtube.com/watch?v=l8AFfaCkp0E&ab_channel=AWSEvents) 

 **Ejemplos relacionados:** 
+  [Amazon SageMaker AI y NVIDIA GPU Cloud (NGC)](https://github.com/aws-samples/amazon-sagemaker-nvidia-ngc-examples) 
+  [Uso de SageMaker AI con Trainium e Inferentia para optimizar las cargas de trabajo de aprendizaje profundo, entrenamiento e inferencia](https://github.com/aws-samples/sagemaker-trainium-inferentia) 
+  [Optimización de modelos de NLP con instancias Inf1 de Amazon Elastic Compute Cloud en Amazon SageMaker AI](https://github.com/aws-samples/aws-inferentia-huggingface-workshop) 

# Administración de datos
<a name="a-data-management"></a>

**Topics**
+ [PERF 3. ¿Cómo almacena, administra y accede a los datos de su carga de trabajo?](perf-03.md)

# PERF 3. ¿Cómo almacena, administra y accede a los datos de su carga de trabajo?
<a name="perf-03"></a>

 La solución de administración de datos óptima para un sistema concreto varía según el tipo de datos (bloque, archivo u objeto), patrones de acceso (aleatorio o secuencial), rendimiento requerido, frecuencia de acceso (en línea, fuera de línea, archivo), frecuencia de actualización (WORM, dinámica), y restricciones de disponibilidad y durabilidad. Las cargas de trabajo de Well-Architected utilizan almacenes de datos diseñados específicamente que admiten diferentes características para mejorar el rendimiento. 

**Topics**
+ [PERF03-BP01 Uso de un almacén de datos personalizado que se adapte mejor a los requisitos de acceso y almacenamiento de datos](perf_data_use_purpose_built_data_store.md)
+ [PERF03-BP02 Evaluación de las opciones de configuración disponibles](perf_data_evaluate_configuration_options_data_store.md)
+ [PERF03-BP03 Recopilación y registro de las métricas de rendimiento del almacén de datos](perf_data_collect_record_data_store_performance_metrics.md)
+ [PERF03-BP04 Implementación de estrategias para mejorar el rendimiento de las consultas en el almacén de datos](perf_data_implement_strategies_to_improve_query_performance.md)
+ [PERF03-BP05 Implementación de patrones de acceso a datos que utilicen el almacenamiento en caché](perf_data_access_patterns_caching.md)

# PERF03-BP01 Uso de un almacén de datos personalizado que se adapte mejor a los requisitos de acceso y almacenamiento de datos
<a name="perf_data_use_purpose_built_data_store"></a>

 Debe saber cuáles son las características de los datos (por ejemplo, si se pueden compartir, su tamaño, los patrones de acceso, la latencia, el rendimiento y su persistencia) para seleccionar los almacenes de datos personalizados acordes a su carga de trabajo (almacenamiento o base de datos). 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza exclusivamente un almacén de datos porque la experiencia y los conocimientos internos se limitan a un tipo concreto de solución de base de datos. 
+  Presupone que todas las cargas de trabajo tienen unos requisitos similares en relación con el almacenamiento de datos y el acceso a la información. 
+  No ha implementado un catálogo de datos para inventariar sus activos de datos. 

 **Beneficios de establecer esta práctica recomendada:** comprender las características y los requisitos de los datos le permite determinar la tecnología de almacenamiento más eficiente y funcional para las necesidades de su carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Al seleccionar e implementar el almacenamiento de datos, asegúrese de que las características de consulta, escalado y almacenamiento se ajusten a los requisitos de datos de la carga de trabajo. AWS ofrece un gran número de tecnologías de almacenamiento y bases de datos, como el almacenamiento en bloques, el almacenamiento de objetos, el almacenamiento en streaming, los sistemas de archivos, las bases de datos relacionales, las bases de datos de clave-valor, las bases de datos de documentos, las bases de datos en memoria, las bases de datos de grafos, las bases de datos de series temporales y las bases de datos de libro mayor. Cada solución de administración de datos tiene opciones y configuraciones a su disposición que se ajustan a los casos de uso y a los modelos de datos. Si conoce las características y los requisitos de los datos, puede dejar atrás la tecnología de almacenamiento monolítica y los enfoques restrictivos de “una misma cosa vale para todo”, y centrarse en gestionar correctamente los datos. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Haga un inventario de los distintos tipos de datos que existen en su carga de trabajo. 
+  Estudie y documente las características y los requisitos de los datos, como: 
  +  Tipo de datos (no estructurados, semiestructurados o relacionales) 
  +  Volumen y crecimiento de los datos 
  +  Durabilidad de los datos: persistentes, efímeros o transitorios 
  +  Requisitos de ACID (atomicidad, consistencia, aislamiento, durabilidad) 
  +  Patrones de acceso a los datos (lectura o escritura intensivas) 
  +  Latencia 
  +  Rendimiento 
  +  IOPS (operaciones de entrada/salida por segundo) 
  +  Periodo de retención de datos 
+  Obtenga información sobre los diferentes almacenes de datos (servicios de [almacenamiento](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/storage-services.html) y [base de datos](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/database.html)) disponibles en AWS para su carga de trabajo que se ajustan a las características de los datos, tal y como se describe en [PERF01-BP01 Descubrimiento y comprensión de los servicios y las características disponibles en la nube](perf_architecture_understand_cloud_services_and_features.md). Estos son algunos ejemplos de tecnologías de almacenamiento de AWS y sus principales características:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_data_use_purpose_built_data_store.html)
+  Si está creando una plataforma de datos, aproveche la [arquitectura de datos moderna](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) en AWS para integrar su lago de datos, su almacenamiento de datos y sus almacenes de datos personalizados. 
+  Las principales preguntas que debe hacerse al elegir un almacén de datos para su carga de trabajo son las siguientes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_data_use_purpose_built_data_store.html)
+  Lleve a cabo experimentos y pruebas comparativas en un entorno que no sea de producción para identificar qué almacén de datos se ajusta a los requisitos de su carga de trabajo. 

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

 **Documentos relacionados:** 
+  [Tipos de volúmenes de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Opciones de almacenamiento para sus instancias de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentación de Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: consideraciones de la tasa de solicitudes y del rendimiento](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Almacenamiento en la nube en AWS](https://aws.amazon.com/products/storage/) 
+  [Amazon EBS I/O Characteristics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Bases de datos en la nube de AWS](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [AWS Database Caching ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Rendimiento de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Amazon Athena top 10 performance tips ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Amazon Redshift Spectrum best practices ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Prácticas recomendadas para Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Choose between Amazon EC2 and Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+ [ Best Practices for Implementing Amazon ElastiCache ](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)

 **Videos relacionados:** 
+  [AWS re:Invent 2023: Improve Amazon Elastic Block Store efficiency and be more cost-efficient](https://www.youtube.com/watch?v=7-CB02rqiuw) 
+  [AWS re:Invent 2023: Optimizing storage price and performance with Amazon Simple Storage Service](https://www.youtube.com/watch?v=RxgYNrXPOLw) 
+  [AWS re:Invent 2023: Building and optimizing a data lake on Amazon Simple Storage Service](https://www.youtube.com/watch?v=mpQa_Zm1xW8) 
+  [AWS re:Invent 2022: Building modern data architectures on AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o) 
+  [AWS re:Invent 2022: Building data mesh architectures on AWS](https://www.youtube.com/watch?v=nGRvlobeM_U) 
+  [AWS re:Invent 2023: Deep dive into Amazon Aurora and its innovations](https://www.youtube.com/watch?v=je6GCOZ22lI) 
+  [AWS re:Invent 2023: Advanced data modeling with Amazon DynamoDB](https://www.youtube.com/watch?v=PVUofrFiS_A) 
+ [AWS re:Invent 2022: Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0)
+ [ Amazon DynamoDB deep dive: Advanced design patterns ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Ejemplos relacionados:** 
+  [AWS Purpose Built Databases Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US) 
+  [Databases for Developers](https://catalog.workshops.aws/db4devs/en-US) 
+  [AWS Modern Data Architecture Immersion Day](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US) 
+  [Build a Data Mesh on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US) 
+  [Ejemplos de Amazon S](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Optimize Data Pattern using Amazon Redshift Data Sharing](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Database Migrations](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server - AWS Database Migration Service (AWS DMS) Replication Demo](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Database Modernization Hands On Workshop](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Amazon Neptune Samples](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF03-BP02 Evaluación de las opciones de configuración disponibles
<a name="perf_data_evaluate_configuration_options_data_store"></a>

 Estudie y evalúe las diversas características y opciones de configuración disponibles para sus almacenes de datos a fin de optimizar el espacio de almacenamiento y el rendimiento de su carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Solo utiliza un tipo de almacenamiento, como, por ejemplo, Amazon EBS, para todas las cargas de trabajo. 
+  Utiliza IOPS aprovisionadas en todas las cargas de trabajo sin efectuar pruebas reales con todos los niveles de almacenamiento. 
+  No conoce las opciones de configuración de la solución de administración de datos que ha elegido. 
+  La única opción que contempla es aumentar el tamaño de las instancias, sin valorar otras opciones de configuración disponibles. 
+  No lleva a cabo pruebas en las características de escalado de su almacén de datos. 

 **Beneficios de establecer esta práctica recomendada:** si explora y experimenta con las configuraciones de almacenamiento de datos, puede reducir el costo de la infraestructura, mejorar el rendimiento y reducir el esfuerzo necesario para mantener sus cargas de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 En una carga de trabajo, puede haber uno o varios almacenamientos de datos que se utilicen en función de los requisitos de almacenamiento y acceso. Para optimizar los costos y la eficiencia del rendimiento, debe evaluar los patrones de acceso a los datos y determinar cuáles son las configuraciones de almacenamiento de datos adecuadas. Cuando explore las opciones de almacenamiento de datos, tenga en cuenta diversos aspectos, como las opciones de almacenamiento, la memoria, los recursos de computación, la réplica de lectura, los requisitos de coherencia, la agrupación de conexiones y las opciones de almacenamiento en caché. Pruebe estas diferentes opciones de configuración para mejorar las métricas de eficiencia del rendimiento. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Estudie las configuraciones actuales (como el tipo de instancia, el tamaño de almacenamiento o la versión del motor de base de datos) de su almacén de datos. 
+  Consulte la documentación y las prácticas recomendadas de AWS para obtener información sobre las opciones de configuración recomendadas que pueden ser de ayuda para mejorar el rendimiento de su almacén de datos. Las principales opciones de almacenamiento de datos que debe tener en cuenta son las siguientes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_data_evaluate_configuration_options_data_store.html)
+  Lleve a cabo experimentos y pruebas comparativas en un entorno que no sea de producción para identificar qué opción de computación se ajusta a los requisitos de la carga de trabajo. 
+  Una vez hecho esto, planifique la migración y valide las métricas de rendimiento. 
+  Use las herramientas de supervisión (como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)) y optimización (como [Lente de almacenamiento de Amazon S3](https://aws.amazon.com/s3/storage-lens/)) de AWS para optimizar continuamente el almacén de datos utilizando patrones de uso del mundo real. 

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

 **Documentos relacionados:** 
+  [Almacenamiento en la nube en AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Tipos de volúmenes de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Opciones de almacenamiento para sus instancias de Amazon EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentación de Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: consideraciones de la tasa de solicitudes y del rendimiento](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Amazon EBS I/O Characteristics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Bases de datos en la nube de AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [AWS Database Caching ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Rendimiento de Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Amazon Athena top 10 performance tips ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Amazon Redshift Spectrum best practices ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Prácticas recomendadas para Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023: Improve Amazon Elastic Block Store efficiency and be more cost-efficient](https://www.youtube.com/watch?v=7-CB02rqiuw) 
+  [AWS re:Invent 2023: Optimize storage price and performance with Amazon Simple Storage Service](https://www.youtube.com/watch?v=RxgYNrXPOLw) 
+  [AWS re:Invent 2023: Building and optimizing a data lake on Amazon Simple Storage Service](https://www.youtube.com/watch?v=mpQa_Zm1xW8) 
+  [AWS re:Invent 2023: What's new with AWS file storage](https://www.youtube.com/watch?v=yXIeIKlTFV0) 
+  [AWS re:Invent 2023: Dive deep into Amazon DynamoDB](https://www.youtube.com/watch?v=ld-xoehkJuU) 

 **Ejemplos relacionados:** 
+  [AWS Purpose Built Databases Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US) 
+  [Databases for Developers](https://catalog.workshops.aws/db4devs/en-US) 
+  [AWS Modern Data Architecture Immersion Day](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Ejemplos de Amazon S](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+  [Ejemplos de Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [AWS Database migration samples](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Database Modernization Workshop](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Working with parameters on your Amazon RDS for Postgress DB](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF03-BP03 Recopilación y registro de las métricas de rendimiento del almacén de datos
<a name="perf_data_collect_record_data_store_performance_metrics"></a>

 Supervise y registre las métricas de rendimiento relevantes del almacén de datos para saber cómo funcionan las soluciones de administración de datos. Estas métricas pueden ser de ayuda para optimizar el almacén de datos, garantizar que se cumplen los requisitos de la carga de trabajo y proporcionar una visión general clara del rendimiento de la carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Solo se utiliza la búsqueda manual de métricas en los archivos de registro. 
+  Solo publica métricas en las herramientas internas que su equipo utiliza y no tiene una imagen completa de su carga de trabajo. 
+  Solo se utilizan las métricas predeterminadas registradas por el software de supervisión seleccionado. 
+  Solo se revisan las métricas cuando hay un problema. 
+  Solo se supervisan las métricas del sistema y no se captura las métricas de acceso o de uso de datos. 

 **Beneficios de establecer esta práctica recomendada:** instaurar una base de referencia de rendimiento le permite comprender el comportamiento habitual y los requisitos de las cargas de trabajo. Los patrones anómalos pueden identificarse y depurarse más rápidamente, lo que mejora el rendimiento y la fiabilidad del almacén de datos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para supervisar el rendimiento de sus almacenes de trabajo, debe registrar diversas métricas de rendimiento a lo largo del tiempo. De este modo, podrá detectar anomalías y medir el rendimiento con respecto a las métricas de la empresa para asegurarse de que se están satisfaciendo las necesidades de su carga de trabajo. 

 Las métricas deben incluir tanto el sistema subyacente que da servicio al almacén de datos como las métricas de la base de datos. Las métricas del sistema subyacente podrían ser el uso de la CPU, la memoria, el almacenamiento en disco disponible, las operaciones de E/S del disco, la proporción de aciertos de la caché y las métricas de entrada y salida de la red, mientras que las métricas del almacén de datos podrían ser las transacciones por segundo, las consultas principales, las tasas medias de consultas, los tiempos de respuesta, el uso de índices, los bloqueos de tablas, los tiempos de espera de las consultas y el número de conexiones abiertas. Estos datos son cruciales para entender cómo funciona la carga de trabajo y cómo se utiliza la solución de administración de datos. Utilice estas métricas como parte de un enfoque basado en datos para ajustar y optimizar los recursos de la carga de trabajo.  

 Use herramientas, bibliotecas y sistemas que registren las medidas de rendimiento relacionadas con el rendimiento de la base de datos. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique las métricas de rendimiento clave del almacén de datos que desee supervisar. 
  +  [Métricas y dimensiones de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/metrics-dimensions.html) 
  +  [Supervisión de métricas en una instancia de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 
  +  [Monitoreo de la carga de base de datos con Performance Insights en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
  +  [Descripción general de la supervisión mejorada](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 
  +  [Dimensiones y métricas de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 
  +  [Supervisión de DynamoDB Accelerator](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 
  +  [Supervisión de Amazon MemoryDB con Amazon CloudWatch](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 
  +  [Qué métricas debo monitorear?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
  +  [Supervisión del rendimiento de clústeres de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 
  +  [Dimensiones y métricas de Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 
  +  [Métricas de Amazon CloudWatch para Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMonitoring.Metrics.html) 
  +  [Supervisión de Amazon Keyspaces (para Apache Cassandra)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 
  +  [Supervisión de recursos de Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 
+  Use una solución de registro y supervisión aprobada para recopilar estas métricas. [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) puede recopilar métricas entre los recursos de su arquitectura. También puede recopilar y publicar métricas del cliente para negocios de superficie o métricas derivadas. Utilice CloudWatch o soluciones de terceros para establecer alarmas que indiquen cuándo se superan los umbrales. 
+  Compruebe si la supervisión del almacén de datos puede beneficiarse de una solución de machine learning que detecte anomalías de rendimiento. 
  +  [Amazon DevOps Guru para Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) brinda visibilidad sobre los problemas de rendimiento y recomienda acciones correctivas. 
+  Configure la retención de datos de la solución de supervisión y registro para que se ajuste a sus objetivos operativos y de seguridad. 
  +  [Retención de datos predeterminada para las métricas de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 
  +  [Retención de datos predeterminada para Registros de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

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

 **Documentos relacionados:** 
+  [AWS Database Caching](https://aws.amazon.com/caching/database-caching/) 
+  [Amazon Athena top 10 performance tips](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Prácticas recomendadas con Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Prácticas recomendadas para Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Amazon Redshift Spectrum best practices](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Rendimiento de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Bases de datos en la nube con AWS](https://aws.amazon.com/products/databases/) 
+  [Información de rendimiento de Amazon RDS](https://aws.amazon.com/rds/performance-insights/) 

 **Videos relacionados:** 
+ [AWS re:Invent 2022 - Performance monitoring with Amazon RDS and Aurora, featuring Autodesk ](https://www.youtube.com/watch?v=wokRbwK4YLo)
+ [ Database Performance Monitoring and Tuning with Amazon DevOps Guru for Amazon RDS ](https://www.youtube.com/watch?v=cHKuVH7YGBE)
+ [AWS re:Invent 2023 - What’s new with AWS file storage ](https://www.youtube.com/watch?v=yXIeIKlTFV0)
+ [AWS re:Invent 2023 - Dive deep into Amazon DynamoDB ](https://www.youtube.com/watch?v=ld-xoehkJuU)
+ [AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3 ](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023 - What’s new with AWS file storage ](https://www.youtube.com/watch?v=yXIeIKlTFV0)
+ [AWS re:Invent 2023 - Dive deep into Amazon DynamoDB ](https://www.youtube.com/watch?v=ld-xoehkJuU)
+  [Best Practices for Monitoring Redis Workloads on Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY&ab_channel=AWSOnlineTechTalks) 

 **Ejemplos relacionados:** 
+  [AWS Dataset Ingestion Metrics Collection Framework](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Amazon RDS Monitoring Workshop](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 
+ [AWS Purpose Built Databases Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)

# PERF03-BP04 Implementación de estrategias para mejorar el rendimiento de las consultas en el almacén de datos
<a name="perf_data_implement_strategies_to_improve_query_performance"></a>

 Implemente estrategias que permitan optimizar los datos y mejorar las consultas para aumentar la escalabilidad y conseguir un rendimiento eficiente para su carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  No divide en particiones los datos en su almacén de datos. 
+  Almacena los datos en un solo formato en su almacén de datos. 
+  No utiliza índices en su almacén de datos. 

 **Beneficios de establecer esta práctica recomendada:** al optimizar el rendimiento de los datos y las consultas, se consigue una mayor eficiencia, una reducción de los costos y una mejor experiencia de usuario. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

La optimización de los datos y el ajuste de las consultas son aspectos fundamentales en la eficiencia del rendimiento de un almacén de datos, ya que afectan al rendimiento y a la capacidad de respuesta de toda la carga de trabajo en la nube. Las consultas que no están optimizadas pueden aumentar el uso de recursos y generar cuellos de botella, lo que reduce la eficiencia general de los almacenes de datos. 

La optimización de datos incluye diversas técnicas que garantizan la eficiencia del almacenamiento de datos y su acceso. Esto también ayuda a mejorar el rendimiento de las consultas en un almacén de datos. Algunas de las estrategias clave son la partición, la compresión y la desnormalización de los datos, lo que ayuda a optimizarlos tanto a la hora de almacenarlos como de acceder a ellos.

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Estudie y analice las consultas de datos críticos que se llevan a cabo en el almacén de datos. 
+  Identifique las consultas de procesamiento lento del almacén de datos y utilice planes de consulta para conocer su estado actual. 
  +  [Análisis del plan de consulta en Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-analyzing-the-query-plan.html) 
  +  [Uso de EXPLAIN y EXPLAIN ANALYZE en Athena](https://docs.aws.amazon.com/athena/latest/ug/athena-explain-statement.html) 
+  Implemente estrategias para mejorar el rendimiento de las consultas. Algunas de las estrategias clave son: 
  +  Usar un [formato de archivo de columnas](https://docs.aws.amazon.com/athena/latest/ug/columnar-storage.html) (como Parquet u ORC). 
  + Comprimir los datos en el almacén de datos para reducir el espacio de almacenamiento y la operación de E/S.
  +  Crear particiones de datos para dividir la información en partes más pequeñas y reducir el tiempo de análisis de los datos. 
    + [ Partición de datos en Athena ](https://docs.aws.amazon.com/athena/latest/ug/partitions.html)
    + [ Particiones y distribución de datos ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html)
  +  Indexar los datos de las columnas más frecuentes de la consulta. 
  +  Utilizar vistas materializadas para consultas frecuentes. 
    + [ Understanding materialized views ](https://docs.aws.amazon.com/prescriptive-guidance/latest/materialized-views-redshift/understanding-materialized-views.html)
    + [ Creación de vistas materializadas en Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html)
  +  Elegir la operación de unión correcta para la consulta. Cuando una dos tablas, especifique la tabla mayor en el lado izquierdo de la unión y la tabla menor en el lado derecho de la unión. 
  +  Usar una solución de almacenamiento en caché distribuida para mejorar la latencia y reducir la cantidad de operaciones de E/S de la base de datos. 
  +  Llevar a cabo un mantenimiento periódico, como [vacío](https://docs.aws.amazon.com/prescriptive-guidance/latest/postgresql-maintenance-rds-aurora/autovacuum.html), reindexación y [ejecución de estadísticas](https://docs.aws.amazon.com/redshift/latest/dg/t_Analyzing_tables.html). 
+  Experimente y pruebe estrategias en un entorno que no sea de producción. 

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

 **Documentos relacionados:** 
+  [Prácticas recomendadas de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Rendimiento de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Amazon Athena top 10 performance tips](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [AWS Database Caching ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Best Practices for Implementing Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [Partición de datos en Athena](https://docs.aws.amazon.com/athena/latest/ug/partitions.html) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - AWS storage cost-optimization best practices ](https://www.youtube.com/watch?v=8LVKNHcA6RY)
+ [AWS re:Invent 2022 - Performance monitoring with Amazon RDS and Aurora, featuring Autodesk ](https://www.youtube.com/watch?v=wokRbwK4YLo)
+  [Optimize Amazon Athena Queries with New Query Analysis Tools ](https://www.youtube.com/watch?v=7JUyTqglmNU&ab_channel=AmazonWebServices) 

 **Ejemplos relacionados:** 
+ [AWS Purpose Built Databases Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)

# PERF03-BP05 Implementación de patrones de acceso a datos que utilicen el almacenamiento en caché
<a name="perf_data_access_patterns_caching"></a>

 Implemente patrones de acceso que puedan beneficiarse del almacenamiento en caché de los datos para lograr una recuperación rápida de los datos a los que se accede con frecuencia. 

 **Patrones comunes de uso no recomendados:** 
+  Almacena en caché datos que cambian con frecuencia. 
+  Confía en los datos en caché como si estuvieran almacenados de forma duradera y siempre disponibles. 
+  No tiene en cuenta la coherencia de los datos en caché. 
+  No supervisa la eficiencia de su implementación de almacenamiento en caché. 

 **Beneficios de establecer esta práctica recomendada:** el almacenamiento de datos en una memoria caché puede mejorar la latencia de lectura, el rendimiento de lectura, la experiencia del usuario y la eficiencia general, además de reducir los costos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Una memoria caché es un componente de software o hardware destinado a almacenar datos para que las futuras solicitudes de los mismos se puedan atender de manera más rápida o eficiente. Los datos almacenados en una memoria caché pueden reconstruirse si se pierden mediante la repetición de un cálculo anterior o mediante la recuperación de otro almacén de datos. 

 El almacenamiento en caché de los datos puede ser una de las estrategias más eficaces para mejorar el rendimiento general de la aplicación y reducir la carga sobre los orígenes de datos principales subyacentes. Los datos se pueden almacenar en caché en varios niveles de la aplicación, por ejemplo, dentro de la aplicación mediante llamadas remotas, lo que se conoce como *almacenamiento en caché del cliente*, o mediante un servicio secundario rápido para almacenar los datos, conocido como almacenamiento en *caché remoto*. 

 **Almacenamiento en caché del cliente** 

 Con el almacenamiento en caché del cliente, cada cliente (una aplicación o servicio que consulta el almacén de datos del backend) puede almacenar los resultados de sus consultas únicas de forma local durante un período de tiempo determinado. Esto puede reducir el número de solicitudes a través de la red a un almacén de datos al comprobar primero la memoria caché del cliente local. Si no hay resultados presentes, la aplicación puede consultar el almacén de datos y almacenar esos resultados localmente. Este patrón permite a cada cliente almacenar los datos en la ubicación más cercana posible (el propio cliente), lo que tiene como resultado la latencia más baja posible. Los clientes también pueden seguir atendiendo algunas consultas cuando el almacén de datos del backend no esté disponible, lo que aumenta la disponibilidad de todo el sistema. 

 Una desventaja de este enfoque es que, cuando hay varios clientes implicados, pueden almacenar los mismos datos en caché localmente, lo que se traduce en un uso duplicado del almacenamiento y en una incoherencia de los datos entre esos clientes. Un cliente puede almacenar en caché los resultados de una consulta y, un minuto después, otro cliente puede ejecutar la misma consulta y obtener un resultado diferente. 

 **Almacenamiento remoto en caché** 

 Para resolver el problema de la duplicación de datos entre clientes, se puede utilizar un servicio externo rápido, o una *caché remota*, para almacenar los datos consultados. En lugar de comprobar un almacén de datos local, cada cliente comprobará la memoria caché remota antes de consultar el almacén de datos del backend. Esta estrategia facilita respuestas más coherentes entre los clientes, una mayor eficiencia en los datos almacenados y un mayor volumen de datos en caché, ya que el espacio de almacenamiento se escala independientemente de los clientes. 

 La desventaja de una memoria caché remota es que es posible que todo el sistema tenga una latencia mayor, ya que se requiere un salto de red adicional para comprobar la memoria caché remota. A fin de mejorar la latencia, es posible utilizar el almacenamiento en caché del lado del cliente junto con el almacenamiento en caché remoto para el almacenamiento en caché de varios niveles. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique las bases de datos, las API y los servicios de red que podrían beneficiarse del almacenamiento en caché. Los servicios que tienen cargas de trabajo de lectura pesadas, tienen una alta relación de lectura y escritura o son caros de escalar son candidatos para el almacenamiento en caché. 
  +  [Database Caching](https://aws.amazon.com/caching/database-caching/) 
  +  [Habilitación del almacenamiento en caché de la API para mejorar la capacidad de respuesta](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 
+  Identifique el tipo de estrategia de almacenamiento en caché adecuada que mejor se adapte a su patrón de acceso. 
  +  [Estrategias de almacenamiento en caché](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Strategies.html) 
  +  [AWS Caching Solutions](https://aws.amazon.com/caching/aws-caching/) 
+  Siga las [prácticas recomendadas de almacenamiento en caché](https://aws.amazon.com/caching/best-practices/) para su almacén de datos. 
+  Configure una estrategia de invalidación de caché, como un tiempo de vida (TTL), para todos los datos que equilibre la actualización de los datos y reduzca la presión sobre el almacén de datos de backend. 
+  Habilite características como reintentos de conexión automáticos, retroceso exponencial, tiempos de espera del lado del cliente y agrupación de conexiones en el cliente, si están disponibles, ya que pueden mejorar el rendimiento y la fiabilidad. 
  +  [Best practices: Redis clients and Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/blogs/database/best-practices-redis-clients-and-amazon-elasticache-for-redis/) 
+  Supervise la tasa de aciertos de caché con un objetivo del 80 % o superior. Los valores más bajos pueden indicar un tamaño de caché insuficiente o un patrón de acceso que no se beneficia del almacenamiento en caché. 
  +  [Which metrics should I monitor?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
  +  [Best practices for monitoring Redis workloads on Amazon ElastiCache](https://www.youtube.com/watch?v=c-hTMLN35BY) 
  +  [Monitoring best practices with Amazon ElastiCache (Redis OSS) using Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 
+  Implemente la [replicación de datos](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis.Groups.html) para descargar las lecturas en varias instancias y mejorar el rendimiento y la disponibilidad de la lectura de datos. 

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

 **Documentos relacionados:** 
+  [Using the Amazon ElastiCache Well-Architected Lens](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WellArchitechtedLens.html) 
+  [Monitoring best practices with Amazon ElastiCache (Redis OSS) using Amazon CloudWatch](https://aws.amazon.com/blogs/database/monitoring-best-practices-with-amazon-elasticache-for-redis-using-amazon-cloudwatch/) 
+  [Qué métricas debo monitorear?](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.WhichShouldIMonitor.html) 
+  [Documento técnico Performance at Scale with Amazon ElastiCache](https://docs.aws.amazon.com/whitepapers/latest/scale-performance-elasticache/scale-performance-elasticache.html) 
+  [Desafíos y estrategias del almacenamiento en caché](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/) 

 **Videos relacionados:** 
+  [Amazon ElastiCache Learning Path](https://pages.awscloud.com/GLB-WBNR-AWS-OTT-2021_LP_0003-DAT_AmazonElastiCache.html) 
+  [Design for success with Amazon ElastiCache best practices](https://youtu.be/_4SkEy6r-C4) 
+ [AWS re:Invent 2020 - Design for success with Amazon ElastiCache best practices ](https://www.youtube.com/watch?v=_4SkEy6r-C4)
+ [AWS re:Invent 2023 - [LAUNCH] Introducing Amazon ElastiCache Serverless ](https://www.youtube.com/watch?v=YYStP97pbXo)
+ [AWS re:Invent 2022 - 5 great ways to reimagine your data layer with Redis ](https://www.youtube.com/watch?v=CD1kvauvKII)
+ [AWS re:Invent 2021 - Deep dive on Amazon ElastiCache (Redis OSS) ](https://www.youtube.com/watch?v=QEKDpToureQ)

 **Ejemplos relacionados:** 
+  [Boosting MySQL database performance with Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/getting-started/hands-on/boosting-mysql-database-performance-with-amazon-elasticache-for-redis/) 

# Redes y entrega de contenido
<a name="a-networking-delivery"></a>

**Topics**
+ [PERF 4. ¿Cómo selecciona y configura los recursos de red en su carga de trabajo?](perf-04.md)

# PERF 4. ¿Cómo selecciona y configura los recursos de red en su carga de trabajo?
<a name="perf-04"></a>

La solución de redes óptima para una carga de trabajo varía según los requisitos de latencia, rendimiento, fluctuaciones y ancho de banda. Las limitaciones físicas, como los recursos de usuario o en las instalaciones, determinan las opciones de ubicación. Estas limitaciones pueden compensarse con las ubicaciones periféricas o la ubicación de los recursos.

**Topics**
+ [PERF04-BP01 Comprensión del efecto de las redes en el rendimiento](perf_networking_understand_how_networking_impacts_performance.md)
+ [PERF04-BP02 Evaluación de las características de las redes disponibles](perf_networking_evaluate_networking_features.md)
+ [PERF04-BP03 Elección de la conectividad o VPN dedicadas adecuadas para la carga de trabajo](perf_networking_choose_appropriate_dedicated_connectivity_or_vpn.md)
+ [PERF04-BP04 Uso del equilibrio de carga para distribuir el tráfico entre varios recursos](perf_networking_load_balancing_distribute_traffic.md)
+ [PERF04-BP05 Elección de los protocolos de red para mejorar el rendimiento](perf_networking_choose_network_protocols_improve_performance.md)
+ [PERF04-BP06 Elección de la ubicación de la carga de trabajo en función de los requisitos de la red](perf_networking_choose_workload_location_network_requirements.md)
+ [PERF04-BP07 Optimización de la configuración de red según las métricas](perf_networking_optimize_network_configuration_based_on_metrics.md)

# PERF04-BP01 Comprensión del efecto de las redes en el rendimiento
<a name="perf_networking_understand_how_networking_impacts_performance"></a>

 Analice y comprenda cómo las decisiones relacionadas con la red afectan a su carga de trabajo para ofrecer un rendimiento eficiente y una mejor experiencia de usuario. 

 **Patrones comunes de uso no recomendados:** 
+  Todo el tráfico fluye a través de sus centros de datos existentes. 
+  Enruta todo el tráfico a través de firewalls centrales en lugar de utilizar herramientas de seguridad de red nativas en la nube. 
+  Aprovisiona conexiones de AWS Direct Connect sin comprender los requisitos de uso reales. 
+  No tiene en cuenta las características de la carga de trabajo ni la sobrecarga de cifrado al definir sus soluciones de redes. 
+  Utiliza conceptos y estrategias en las instalaciones para las soluciones de redes en la nube. 

 **Beneficios de establecer esta práctica recomendada:** comprender el impacto de las redes en el rendimiento de la carga de trabajo lo ayuda a identificar posibles cuellos de botella, mejorar la experiencia del usuario, aumentar la fiabilidad y reducir el mantenimiento operativo a medida que cambia la carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 La red es responsable de la conectividad entre los componentes de las aplicaciones, los servicios en la nube, las redes periféricas y los datos en las instalaciones, por lo que puede tener un gran impacto en el rendimiento de las cargas de trabajo. Además del rendimiento de la carga de trabajo, la experiencia del usuario también puede verse afectada por la latencia de la red, el ancho de banda, los protocolos, la ubicación, la congestión de la red, las fluctuaciones, el rendimiento y las reglas de enrutamiento. 

 Disponga de una lista documentada de los requisitos de redes de la carga de trabajo, incluida la latencia, el tamaño de los paquetes, las reglas de enrutamiento, los protocolos y los patrones de tráfico que admiten. Examine las soluciones de red disponibles e identifique qué servicio se ajusta a las características de red de su carga de trabajo. Las redes basadas en la nube se pueden reconstruir rápidamente, de modo que hacer evolucionar su arquitectura de red con el tiempo resulta necesario para mantener la eficiencia del rendimiento. 

### Pasos para la implementación:
<a name="implementation-steps"></a>
+  Defina y documente los requisitos de rendimiento de la red e incluya métricas como la latencia de red, el ancho de banda, los protocolos, las ubicaciones, los patrones de tráfico (picos y frecuencia), el rendimiento, el cifrado, la inspección y las reglas de enrutamiento. 
+  Obtenga información sobre los principales servicios de red de AWS, como las [VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html), [AWS Direct Connect](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect.html), [Elastic Load Balancing (ELB)](https://aws.amazon.com/elasticloadbalancing/) y [Amazon Route 53](https://aws.amazon.com/route53/). 
+  Capture las siguientes características clave de la red:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_networking_understand_how_networking_impacts_performance.html)
+  Comparación y prueba del rendimiento de la red: 
  +  Lleve a cabo [pruebas comparativas](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) del rendimiento de la red, ya que algunos factores pueden afectar al rendimiento de red de Amazon EC2 cuando las instancias están en la misma VPC. Mida el ancho de banda de la red entre las instancias Linux de Amazon EC2 en la misma VPC. 
  +  Haga [pruebas de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para experimentar con soluciones y opciones de redes. 

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

 **Documentos relacionados:** 
+  [Equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Redes de EC2 mejoradas en Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Redes de EC2 mejoradas en Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Grupos de ubicación de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Equilibrador de carga de red de](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Productos de redes con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transitioning to latency-based routing in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - AWS networking foundations ](https://www.youtube.com/watch?v=8nNurTFy-h4)
+ [AWS re:Invent 2023 - What can networking do for your application? ](https://www.youtube.com/watch?v=tUh26i8uY9Q)
+ [AWS re:Invent 2023 - Advanced VPC designs and new capabilities ](https://www.youtube.com/watch?v=cRdDCkbE4es)
+ [AWS re:Invent 2023 - A developer’s guide to cloud networking ](https://www.youtube.com/watch?v=i77D556lrgY)
+  [AWS re:Invent 2019 - Connectivity to AWS and hybrid AWS network architectures](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [AWS re:Invent 2019 - Optimizing Network Performance for Amazon EC2 Instances](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Summit Online - Improve Global Network Performance for Applications](https://youtu.be/vNIALfLTW9M) 
+  [AWS re:Invent 2020 - Networking best practices and tips with the Well-Architected Framework](https://youtu.be/wOMNpG49BeM) 
+  [AWS re:Invent 2020 - AWS networking best practices in large-scale migrations](https://youtu.be/qCQvwLBjcbs) 

 **Ejemplos relacionados:** 
+  [AWS Transit Gateway and Scalable Security Solutions](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Talleres de redes de AWS](https://networking.workshop.aws/) 
+ [ Hands-on Network Firewall Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/d071f444-e854-4f3f-98c8-025fa0d1de2f/en-US)
+ [ Observing and Diagnosing your Network on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US)
+ [ Finding and addressing Network Misconfigurations on AWS](https://validating-network-reachability.awssecworkshops.com/)

# PERF04-BP02 Evaluación de las características de las redes disponibles
<a name="perf_networking_evaluate_networking_features"></a>

Evalúe las características de la red en la nube que pueden aumentar el rendimiento. Mida el impacto de estas características a través de pruebas, métricas y análisis. Por ejemplo, aproveche las características de red que están disponibles para reducir la latencia, la distancia de la red o las fluctuaciones.

 **Patrones comunes de uso no recomendados:** 
+ Se mantiene dentro de una región porque es allí donde se encuentra físicamente su sede.
+ Utiliza firewalls en lugar de grupos de seguridad para filtrar el tráfico.
+ Se infringe la TLS para inspeccionar el tráfico en lugar de confiar en grupos de seguridad, políticas de puntos de conexión y otras funciones nativas en la nube.
+ Solo utiliza la segmentación basada en subredes en lugar de grupos de seguridad.

 **Beneficios de establecer esta práctica recomendada:** evaluar todas las características y opciones del servicio puede aumentar el rendimiento de su carga de trabajo, disminuir el esfuerzo necesario para mantener su carga de trabajo y aumentar su posición de seguridad general. Puede utilizar la estructura global de AWS para ofrecer una experiencia de red óptima a sus clientes. 

 **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 ofrece servicios como [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) y [Amazon CloudFront](https://aws.amazon.com/cloudfront/) que pueden ayudar a mejorar el rendimiento de la red, mientras que la mayoría de los servicios de AWS incluyen características de producto (como la función [Aceleración de transferencias de Amazon S3](https://aws.amazon.com/s3/transfer-acceleration/)) para optimizar el tráfico de red. 

 Revise qué opciones de configuración relacionadas con la red tiene a su disposición y cómo podrían afectar a su carga de trabajo. La optimización del rendimiento depende de comprender cómo interactúan estas opciones con su arquitectura y el impacto que tendrán tanto en el rendimiento medido como en la experiencia del usuario. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Cree una lista de componentes de la carga de trabajo. 
  +  Considere la posibilidad de usar [WAN en la Nube de AWS](https://aws.amazon.com/cloud-wan/) para diseñar, administrar y supervisar la red de su organización al crear una red global unificada. 
  +  Supervise sus redes globales y principales con las [métricas de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/network-manager/latest/tgwnm/monitoring-cloudwatch-metrics.html). Use [Amazon CloudWatch RUM](https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-cloudwatch-rum-applications-client-side-performance/), que proporciona información para ayudar a identificar, comprender y mejorar la experiencia digital de los usuarios. 
  +  Consulte la latencia de red agregada entre Regiones de AWS y las zonas de disponibilidad, así como dentro de cada zona de disponibilidad, mediante [AWS Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) para obtener información sobre la relación entre el rendimiento de su aplicación y el rendimiento de la red de AWS subyacente. 
  +  Utilice una herramienta de base de datos de administración de la configuración (CMDB) existente o un servicio como [AWS Config](https://aws.amazon.com/config/) para crear un inventario de su carga de trabajo y de su configuración. 
+  Si se trata de una carga de trabajo existente, identifique y documente el punto de referencia para sus métricas de rendimiento, y céntrese en los cuellos de botella y las áreas que debe mejorar. Las métricas de red relacionadas con el rendimiento variarán según la carga de trabajo en función de los requisitos empresariales y las características de la carga de trabajo. Para empezar, podría ser importante revisar estas métricas para su carga de trabajo: ancho de banda, latencia, pérdida de paquetes, fluctuación y retransmisiones. 
+  Si se trata de una carga de trabajo nueva, ejecute [pruebas de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para identificar los cuellos de botella en el rendimiento. 
+  Para los cuellos de botella en el rendimiento que identifique, revise las opciones de configuración de sus soluciones para identificar las oportunidades de mejora del rendimiento. Eche un vistazo a las siguientes opciones y características de red clave:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_networking_evaluate_networking_features.html)

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

 **Documentos relacionados:** 
+ [Equilibrador de carga de aplicación de](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ [Redes de EC2 mejoradas en Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)
+ [Redes de EC2 mejoradas en Windows ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html)
+ [Grupos de ubicación de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ [Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html)
+ [Equilibrador de carga de red de](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)
+ [Productos de redes con AWS](https://aws.amazon.com/products/networking/)
+ [Transitioning to Latency-Based Routing in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html)
+ [VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)
+ [registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – Ready for what's next? Designing networks for growth and flexibility](https://www.youtube.com/watch?v=FkWOhTZSfdA) 
+  [AWS re:Invent 2023 – Advanced VPC designs and new capabilities](https://www.youtube.com/watch?v=cRdDCkbE4es) 
+  [AWS re:Invent 2023 – A developer's guide to cloud networking](https://www.youtube.com/watch?v=i77D556lrgY) 
+  [AWS re:Invent 2022 – Dive deep on AWS networking infrastructure](https://www.youtube.com/watch?v=HJNR_dX8g8c) 
+ [AWS re:Invent 2019 – Connectivity to AWS and hybrid AWS network architectures](https://www.youtube.com/watch?v=eqW6CPb58gs)
+ [AWS re:Invent 2018 – Optimizing Network Performance for Amazon EC2 Instances](https://www.youtube.com/watch?v=DWiwuYtIgu0)
+ [AWS Global Accelerator](https://www.youtube.com/watch?v=Docl4julOQw)

 **Ejemplos relacionados:** 
+ [AWS Transit Gateway and Scalable Security Solutions ](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions)
+ [Talleres de redes de AWS](https://catalog.workshops.aws/networking/en-US)
+  [Observing and diagnosing your network](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US) 
+  [Finding and addressing network misconfigurations on AWS](https://validating-network-reachability.awssecworkshops.com/) 

# PERF04-BP03 Elección de la conectividad o VPN dedicadas adecuadas para la carga de trabajo
<a name="perf_networking_choose_appropriate_dedicated_connectivity_or_vpn"></a>

 Cuando se requiera conectividad híbrida para conectar los recursos en las instalaciones y de la nube, aprovisione el ancho de banda adecuado para satisfacer sus requisitos de rendimiento. Calcule los requisitos de ancho de banda y de latencia para la carga de trabajo híbrida. Estas cifras determinarán los requisitos de tamaño. 

 **Patrones comunes de uso no recomendados:** 
+  Solo evalúa las soluciones de VPN para los requisitos de cifrado de su red. 
+  No evalúa las opciones de conectividad redundante o de respaldo. 
+  No identifica todos los requisitos de la carga de trabajo (necesidades de cifrado, protocolo, ancho de banda y tráfico). 

 **Beneficios de establecer esta práctica recomendada:** la selección y configuración de las soluciones de conectividad adecuadas aumentará la fiabilidad de su carga de trabajo y maximizará el rendimiento. Si identifica los requisitos de la carga de trabajo, planifica con antelación y evalúa las soluciones híbridas, puede minimizar los costosos cambios en la red física y los gastos operativos, a la vez que acelera el tiempo de rentabilización. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Desarrolle una arquitectura de red híbrida en función de los requisitos de ancho de banda. [Direct Connect](https://aws.amazon.com/directconnect/) le permite conectar su red en las instalaciones de forma privada con AWS. Es conveniente cuando se necesita un gran ancho de banda y baja latencia con un rendimiento uniforme. Una conexión VPN establece una conexión segura a través de Internet. Se usa cuando solo se requiere una conexión temporal, cuando el costo es un factor o como alternativa mientras se espera que se establezca una conectividad de red física resiliente durante el uso de Direct Connect. 

 Si los requisitos de ancho de banda son elevados, podría considerar la posibilidad de utilizar varios servicios de Direct Connect o VPN. Es posible equilibrar la carga del tráfico entre los servicios, aunque no recomendamos equilibrar la carga entre Direct Connect y una VPN debido a las diferencias de latencia y ancho de banda. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Calcule los requisitos de ancho de banda y de latencia de sus aplicaciones actuales. 
  +  En el caso de cargas de trabajo existentes que se trasladan a AWS, utilice los datos de sus sistemas internos de supervisión de red. 
  +  En el caso de cargas de trabajo nuevas o existentes para las que no disponga de datos de supervisión, consulte con los propietarios del producto para determinar las métricas de rendimiento adecuadas y ofrecer una buena experiencia de usuario. 
+  Seleccione una conexión dedicada o VPN como opción de conectividad. En función de todos los requisitos de la carga de trabajo (necesidades de cifrado, ancho de banda y tráfico), puede elegir AWS Direct Connect o [Site-to-Site VPN](https://aws.amazon.com/vpn/) (o ambas). El siguiente diagrama puede ayudarle a elegir el tipo de conexión adecuado. 
  +  [AWS Direct Connect](https://aws.amazon.com/directconnect/) ofrece conectividad dedicada al entorno de AWS, desde 50 Mbps hasta 100 Gbps, mediante conexiones dedicadas o conexiones alojadas. Esto le ofrece un ancho de banda aprovisionado y una latencia administrada y controlada, a fin de que su carga de trabajo pueda conectarse de manera eficiente a otros entornos. Mediante el uso de socios de AWS Direct Connect, puede disponer de conectividad de extremo a extremo desde varios entornos, lo que proporciona una red ampliada con un rendimiento coherente. AWS ofrece un ancho de banda de conexión directa escalable mediante 100 Gbps nativos, un grupo de agregación de enlaces (LAG) o varias rutas de igual costo (ECMP) con BGP. 
  +  AWS [Site-to-Site VPN](https://aws.amazon.com/vpn/) proporciona un servicio de VPN administrado compatible con la seguridad del protocolo de Internet (IPsec). Cuando se crea una conexión VPN, cada conexión VPN incluye dos túneles para ofrecer una alta disponibilidad. 
+  Siga la documentación de AWS para elegir la opción de conectividad adecuada: 
  +  Si decide usar Direct Connect, seleccione el ancho de banda adecuado para su conectividad. 
  +  Si utiliza una conexión de AWS Site-to-Site VPN en varias ubicaciones para conectarse a una Región de AWS, utilice una [conexión de VPN Site-to-Site acelerada](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) para tener la oportunidad de mejorar el rendimiento de la red. 
  +  Si el diseño de su red consta de una conexión VPN IPsec a través de [AWS Direct Connect](https://aws.amazon.com/directconnect/), considere la posibilidad de utilizar una VPN con IP privada para mejorar la seguridad y lograr la segmentación. [AWS La VPN con IP privada de Site-to-Site](https://aws.amazon.com/blogs/networking-and-content-delivery/introducing-aws-site-to-site-vpn-private-ip-vpns/) se implementa sobre la interfaz virtual (VIF) de tránsito. 
  +  [AWS Direct Connect SiteLink](https://aws.amazon.com/blogs/aws/new-site-to-site-connectivity-with-aws-direct-connect-sitelink/) permite crear conexiones redundantes y de baja latencia entre sus centros de datos de todo el mundo mediante el envío de datos a través de la ruta más corta entre las [ubicaciones de AWS Direct Connect](https://aws.amazon.com/directconnect/locations/), pasando por alto Regiones de AWS. 
+  Valide la configuración de la conectividad antes de la implementación en producción. Lleve a cabo pruebas de seguridad y rendimiento para asegurarse de que cumpla los requisitos de ancho de banda, fiabilidad, latencia y cumplimiento. 
+  Supervise periódicamente el rendimiento y el uso de la conectividad y optimícelo si es necesario. 

![\[Un diagrama de flujo que describe las opciones que debe tener en cuenta a la hora de determinar si necesita o no un rendimiento determinístico de su red.\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/images/deterministic-networking-flowchart.png)


 

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

 **Documentos relacionados:** 
+ [Productos de redes con AWS](https://aws.amazon.com/products/networking/)
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)
+ [ VPC Endpoints ](https://docs.aws.amazon.com/vpc/latest/privatelink/concepts.html)
+  [Creación de una infraestructura de red de AWS multiVPC escalable y segura](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – Building hybrid network connectivity with AWS](https://www.youtube.com/watch?v=Fi4me2vPwrQ) 
+  [AWS re:Invent 2023 – Secure remote connectivity to AWS](https://www.youtube.com/watch?v=yHEhrkGdnj0) 
+  [AWS re:Invent 2022 – Optimizing performance with Amazon CloudFront](https://www.youtube.com/watch?v=LkyifXYEtrg) 
+ [AWS re:Invent 2019 – Connectivity to AWS and hybrid AWS network architectures ](https://www.youtube.com/watch?v=eqW6CPb58gs)
+  [AWS re:Invent 2020 – AWS Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 

 **Ejemplos relacionados:** 
+  [AWS Transit Gateway and Scalable Security Solutions](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Talleres de redes de](https://networking.workshop.aws/) 

# PERF04-BP04 Uso del equilibrio de carga para distribuir el tráfico entre varios recursos
<a name="perf_networking_load_balancing_distribute_traffic"></a>

 Distribuya el tráfico entre varios recursos o servicios para que su carga de trabajo aproveche la elasticidad que ofrece la nube. También puede utilizar el equilibrio de carga para descargar la terminación del cifrado con el objetivo de mejorar el rendimiento, la fiabilidad y administrar y dirigir el tráfico de manera eficaz. 

 **Patrones comunes de uso no recomendados:** 
+  No tiene en cuenta los requisitos de la carga de trabajo al elegir el tipo de equilibrador de carga. 
+  No aprovecha las características del equilibrador de carga para optimizar el rendimiento. 
+  La carga de trabajo se expone directamente a Internet sin un equilibrador de carga. 
+  Enruta todo el tráfico de Internet a través de los equilibradores de carga existentes. 
+  Utiliza el equilibrio de carga TCP genérico y hace que cada nodo de computación gestione el cifrado SSL. 

 **Beneficios de establecer esta práctica recomendada:** un equilibrador de carga gestiona la carga variable del tráfico de la aplicación en una única zona de disponibilidad o en varias zonas de disponibilidad y facilita una alta disponibilidad, un escalado automático y un mejor uso de la carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los equilibradores de carga actúan como punto de entrada de la carga de trabajo y, a partir de ahí, distribuyen el tráfico a los destinos de backend, como instancias de computación o contenedores, para mejorar el uso. 

 La elección del tipo de equilibrador de carga adecuado es el primer paso para optimizar su arquitectura. Comience por enumerar las características de su carga de trabajo, como el protocolo (por ejemplo, TCP, HTTP, TLS o WebSockets), el tipo de destino (como instancias, contenedores o sin servidor), los requisitos de la aplicación (como conexiones de larga duración, autenticación de usuarios o permanencia) y la ubicación (como región, zona local, Outpost o aislamiento de zona). 

 AWS proporciona varios modelos para que sus aplicaciones utilicen el equilibrio de carga. El [equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) es el más adecuado para el equilibrio de carga del tráfico de HTTP y HTTPS y entrega un direccionamiento de solicitudes avanzado enfocado a la entrega de arquitecturas de aplicaciones modernas, incluidos los microservicios y los contenedores. 

 El [equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) es el más adecuado para el equilibrio de carga del tráfico de TCP donde se necesite un rendimiento extremo. Es capaz de gestionar millones de solicitudes por segundo a la vez que mantiene latencias ultrabajas y está optimizado para manejar patrones de tráfico repentinos y volátiles. 

 [Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/) proporciona administración de certificados y descifrado SSL/TLS integrados, lo que le permite la flexibilidad de administrar de forma centralizada la configuración SSL del equilibrador de carga y descargar el trabajo intensivo de la CPU de su carga de trabajo. 

 Una vez elegido el equilibrador de carga adecuado, puede empezar a utilizar sus características para reducir el esfuerzo que debe hacer su backend para atender al tráfico. 

 Por ejemplo, al utilizar tanto el equilibrador de carga de aplicación (ALB) como el equilibrador de carga de red (NLB), puede llevar a cabo la descarga de cifrado SSL/TLS, lo que da la oportunidad de evitar que sus destinos completen el establecimiento de comunicación TLS, que consume mucha CPU, y también para mejorar la administración de certificados. 

 Cuando configura la descarga SSL/TLS en el equilibrador de carga, este se ocupa del cifrado del tráfico desde y hacia los clientes, al tiempo que entrega el tráfico sin cifrar a sus backends, lo que libera recursos de backend y mejora el tiempo de respuesta para los clientes. 

 El equilibrador de carga de aplicación también puede atender el tráfico HTTP/2 sin necesidad de soporte en sus destinos. Esta simple decisión puede mejorar el tiempo de respuesta de su aplicación, ya que HTTP/2 utiliza las conexiones TCP de forma más eficiente. 

 Los requisitos de latencia de la carga de trabajo deben tenerse en cuenta a la hora de definir la arquitectura. Por ejemplo, si tiene una aplicación sensible a la latencia, puede decidir utilizar el equilibrador de carga de red, que ofrece latencias extremadamente bajas. Como alternativa, puede decidir acercar su carga de trabajo a sus clientes con el equilibrador de carga de aplicación en las [zonas locales de AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) o incluso [AWS Outposts](https://aws.amazon.com/outposts/rack/). 

 Otra consideración para las cargas de trabajo sensibles a la latencia es el equilibrio de carga entre zonas. Con el equilibrio de carga entre zonas, cada nodo del equilibrador de carga distribuye el tráfico entre los destinos registrados en todas las zonas de disponibilidad permitidas. 

 Utilice el escalado automático integrado con su equilibrador de carga. Uno de los aspectos clave de un sistema con un rendimiento eficiente tiene que ver con el redimensionamiento correcto de sus recursos de backend. Para ello, puede utilizar las integraciones del equilibrador de carga para los recursos de destino de backend. Mediante la integración del equilibrador de carga con los grupos de escalado automático, los destinos se agregarán o eliminarán del equilibrador de carga según sea necesario y en respuesta al tráfico entrante. Los equilibradores de carga también pueden integrarse con [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) y [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) para cargas de trabajo en contenedores. 
+  [Amazon ECS: equilibrador de carga del servicio](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 
+  [Equilibrador de carga de aplicaciones en Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html) 
+  [Equilibrio de carga de red en Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html) 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Defina sus requisitos de equilibrio de carga, incluidos el volumen de tráfico, la disponibilidad y la escalabilidad de las aplicaciones. 
+  Elija el tipo de equilibrador de carga adecuado para su aplicación. 
  +  Use el equilibrador de carga de aplicación para cargas de trabajo HTTP/HTTPS. 
  +  Utilice el equilibrador de carga de red para cargas de trabajo distintas de HTTP que se ejecuten en TCP o UDP. 
  +  Utilice una combinación de ambos ([ALB como objetivo de NLB](https://aws.amazon.com/blogs/networking-and-content-delivery/application-load-balancer-type-target-group-for-network-load-balancer/)) si desea aprovechar las características de ambos productos. Por ejemplo, puede hacerlo si desea utilizar las IP estáticas del equilibrador de carga de red junto con el enrutamiento basado en encabezado HTTP del equilibrador de carga de aplicación, o si desea exponer su carga de trabajo HTTP a un [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html). 
  +  Para obtener una comparación completa de los equilibradores de carga, consulte la [comparación de productos de ELB](https://aws.amazon.com/elasticloadbalancing/features/). 
+  Utilice la descarga SSL/TLS si es posible. 
  +  Configure los oyentes HTTPS/TLS con un [equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) y un [equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) integrados con [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/). 
  +  Tenga en cuenta que algunas cargas de trabajo pueden requerir cifrado de extremo a extremo por motivos de conformidad. En este caso, es un requisito permitir el cifrado en los destinos. 
  +  Para conocer las prácticas recomendadas de seguridad, consulte [SEC09-BP02 Aplicación del cifrado en tránsito](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html). 
+  Seleccione el algoritmo de enrutamiento adecuado (solo para el ALB). 
  +  El algoritmo de enrutamiento puede marcar la diferencia en el grado de utilización de sus destinos de backend y, por lo tanto, en su repercusión en el rendimiento. Por ejemplo, el equilibrador de carga de aplicación ofrece [dos opciones para los algoritmos de enrutamiento](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm): 
  +  **Solicitudes menos pendientes:** utilícelas para lograr una mejor distribución de la carga a sus destinos de backend para los casos en que las solicitudes de la aplicación varíen en complejidad o los destinos varíen en capacidad de procesamiento. 
  +  **Patrón rotativo:** utilícelo cuando las solicitudes y los destinos sean similares, o si necesita distribuir las solicitudes equitativamente entre los destinos. 
+  Considere el aislamiento entre zonas o de zonas. 
  +  Desactive el aislamiento entre zonas (aislamiento de zonas) para mejorar la latencia y los dominios de error de zona. Está desactivado de forma predeterminada en el equilibrador de carga de red y en el [equilibrador de carga de aplicación lo puede desactivar por grupo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/disable-cross-zone.html). 
  +  Active el aislamiento entre zonas para aumentar la disponibilidad y flexibilidad. Está activado de forma predeterminada para el equilibrador de carga de aplicación y en el [equilibrador de carga de red lo puede activar por grupo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-cross-zone.html). 
+  Active la conexión persistente HTTP para sus cargas de trabajo HTTP (solo ALB). Con esta característica, el equilibrador de carga puede reutilizar las conexiones de backend hasta que expire el tiempo de espera activo, lo que mejora el tiempo de solicitud y respuesta HTTP, además de reducir la utilización de recursos en los destinos de backend. Para obtener más información sobre cómo hacer esto para Apache y Nginx, consulte [¿Cuál es la configuración óptima para usar Apache o NGINX como servidor de backend para ELB?](https://aws.amazon.com/premiumsupport/knowledge-center/apache-backend-elb/). 
+  Active la supervisión de su equilibrador de carga. 
  +  Active los registros de acceso del [equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html) y el [equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html). 
  +  Los principales campos a tener en cuenta para el equilibrador de carga de aplicación son `request_processing_time`, `request_processing_time` y `response_processing_time`. 
  +  Los principales campos a tener en cuenta para el equilibrador de carga de red son `connection_time` y `tls_handshake_time`. 
  +  Esté preparado para consultar los registros cuando los necesite. Puede usar Amazon Athena para consultar tanto los [registros del equilibrador de carga de aplicación](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) como los [registros del equilibrador de carga de red](https://docs.aws.amazon.com/athena/latest/ug/networkloadbalancer-classic-logs.html). 
  +  Cree alarmas para las métricas relacionadas con el rendimiento, como [`TargetResponseTime` para el ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html). 

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

 **Documentos relacionados:** 
+  [Comparación de productos de Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/features/) 
+  [Infraestructura global de AWS](https://aws.amazon.com/about-aws/global-infrastructure/) 
+  [Improving Performance and Reducing Cost Using Availability Zone Affinity](https://aws.amazon.com/blogs/architecture/improving-performance-and-reducing-cost-using-availability-zone-affinity/) 
+  [Step by step for Log Analysis with Amazon Athena ](https://github.com/aws/elastic-load-balancing-tools/tree/master/amazon-athena-for-elb) 
+  [Consulta de los registros del Equilibrador de carga de aplicación](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) 
+  [Monitor your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-monitoring.html) 
+  [Monitor your Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-monitoring.html) 
+  [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023: What can networking do for your application?](https://www.youtube.com/watch?v=tUh26i8uY9Q) 
+  [AWS re:Inforce 20: How to use Elastic Load Balancing to enhance your security posture at scale](https://www.youtube.com/watch?v=YhNc5VSzOGQ) 
+  [AWS re:Invent 2018: Elastic Load Balancing: Deep Dive and Best Practices](https://www.youtube.com/watch?v=VIgAT7vjol8) 
+  [AWS re:Invent 2021 - How to choose the right load balancer for your AWS workloads ](https://www.youtube.com/watch?v=p0YZBF03r5A) 
+  [AWS re:Invent 2019: Get the most from Elastic Load Balancing for different workloads](https://www.youtube.com/watch?v=HKh54BkaOK0) 

 **Ejemplos relacionados:** 
+  [Gateway Load Balancer](https://catalog.workshops.aws/gwlb-networking/en-US) 
+  [CDK and CloudFormation samples for Log Analysis with Amazon Athena ](https://github.com/aws/elastic-load-balancing-tools/tree/master/log-analysis-elb-cdk-cf-template) 

# PERF04-BP05 Elección de los protocolos de red para mejorar el rendimiento
<a name="perf_networking_choose_network_protocols_improve_performance"></a>

 Tome decisiones sobre los protocolos de comunicación entre sistemas y redes en función del impacto en el rendimiento de la carga de trabajo. 

 Existe una relación entre la latencia y el ancho de banda para lograr el rendimiento. Si la transferencia de archivos utiliza el protocolo de control de transmisión (TCP), las latencias más altas probablemente reducirán el rendimiento general. Existen enfoques para solucionar esto con el ajuste de TCP y protocolos de transferencia optimizados, pero una solución es utilizar el protocolo de datagramas de usuario (UDP). 

 **Patrones comunes de uso no recomendados:** 
+  Utiliza TCP para todas las cargas de trabajo, independientemente de los requisitos de rendimiento. 

 **Beneficios de establecer esta práctica recomendada:** verificar que se utiliza un protocolo adecuado para la comunicación entre los usuarios y los componentes de la carga de trabajo ayuda a mejorar la experiencia general del usuario para sus aplicaciones. Por ejemplo, UDP sin conexión permite una alta velocidad, pero no ofrece retransmisión ni alta fiabilidad. TCP es un protocolo con todas las características, pero requiere una mayor sobrecarga para procesar los paquetes. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Si tiene la capacidad de elegir diferentes protocolos para su aplicación y tiene experiencia en esta área, optimice la aplicación y la experiencia del usuario final mediante un protocolo diferente. Tenga en cuenta que este enfoque presenta una dificultad significativa y solo debe intentarse si primero ha optimizado su aplicación de otras maneras. 

 Una consideración primordial para mejorar el rendimiento de la carga de trabajo es comprender los requisitos de latencia y rendimiento, y luego elegir protocolos de red que optimicen el rendimiento. 

 **Cuándo considerar el uso de TCP** 

 TCP proporciona una entrega de datos fiable, y se puede utilizar para la comunicación entre los componentes de la carga de trabajo cuando la fiabilidad y la entrega garantizada de datos es importante. Muchas aplicaciones basadas en web dependen de protocolos basados en TCP, como HTTP y HTTPS, con el fin de abrir sockets TCP para la comunicación entre componentes de la aplicación. La transferencia de datos de correo electrónico y archivos son aplicaciones habituales que también utilizan TCP, ya que es un mecanismo de transferencia sencillo y fiable entre los componentes de la aplicación. El uso de TLS con TCP puede agregar cierta sobrecarga a la comunicación, lo que puede provocar un aumento de la latencia y una reducción del rendimiento, pero tiene la ventaja de seguridad. La sobrecarga proviene principalmente de la sobrecarga agregada del proceso de establecimiento de comunicación, que puede tardar varias idas y vueltas en completarse. Una vez completado el proceso, la sobrecarga de cifrado y descifrado de datos es relativamente pequeña. 

 **Cuándo considerar el uso de UDP** 

 UDP es un protocolo sin conexión y, por tanto, adecuado para aplicaciones que necesitan una transmisión rápida y eficiente, como datos de registro, supervisión y VoIP. Además, considere el uso de UDP si tiene componentes de carga de trabajo que responden a pequeñas consultas de un gran número de clientes, a fin de garantizar un rendimiento óptimo de la carga de trabajo. La seguridad de la capa de transporte de datagramas (DTLS) es el equivalente UDP de la seguridad de la capa de transporte (TLS). Cuando se utiliza DTLS con UDP, la sobrecarga proviene del cifrado y descifrado de los datos, ya que el proceso de establecimiento de comunicación se simplifica. DTLS también agrega una pequeña cantidad de sobrecarga a los paquetes UDP, ya que incluye campos adicionales para indicar los parámetros de seguridad y detectar manipulaciones. 

 **Cuándo considerar el uso de SRD** 

 Scalable reliable datagram (SRD) es un protocolo de transporte de red optimizado para cargas de trabajo de alto rendimiento debido a su capacidad para equilibrar la carga de tráfico a través de numerosas rutas y recuperarse rápidamente de las caídas de paquetes o errores de enlace. Por lo tanto, es mejor utilizar SRD para cargas de trabajo de computación de alto rendimiento (HPC) que exigen un alto rendimiento y una comunicación de baja latencia entre nodos de computación. Puede que esto incluya tareas de procesamiento paralelo como simulación, modelado y análisis de datos que impliquen una gran cantidad de transferencia de datos entre nodos. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Use los servicios de [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) y [AWS Transfer Family](https://aws.amazon.com/aws-transfer-family/) para mejorar el rendimiento de sus aplicaciones de transferencia de archivos en línea. El servicio AWS Global Accelerator le ayuda a conseguir una latencia menor entre sus dispositivos cliente y su carga de trabajo en AWS. Con AWS Transfer Family, puede utilizar protocolos basados en TCP como el protocolo de transferencia de archivos de shell seguro (SFTP) y el protocolo de transferencia de archivos sobre SSL (FTPS) para escalar y administrar de forma segura las transferencias de archivos a los servicios de almacenamiento de AWS. 
+  Utilice la latencia de la red para determinar si TCP es adecuado para la comunicación entre los componentes de la carga de trabajo. Si la latencia de la red entre la aplicación cliente y el servidor es alta, la comunicación TCP de tres vías puede tardar un tiempo, lo que afectará a la capacidad de respuesta de la aplicación. Para medir la latencia de la red pueden utilizarse métricas, como el tiempo hasta el primer byte (TTFB) y el tiempo de ida y vuelta (RTT). Si la carga de trabajo sirve contenido dinámico a los usuarios, considere la posibilidad de usar [Amazon CloudFront](https://aws.amazon.com/cloudfront/), que establece una conexión persistente con cada origen para el contenido dinámico para eliminar el tiempo de configuración de la conexión que, de otro modo, ralentizaría cada solicitud del cliente. 
+  El uso de TLS con TCP o UDP puede aumentar la latencia y reducir el rendimiento de la carga de trabajo debido al impacto del cifrado y el descifrado. Para estas cargas de trabajo, considere la posibilidad de usar la descarga de SSL/TLS en [Elastic Load Balancing](https://aws.amazon.com/elasticloadbalancing/) para mejorar el rendimiento de la carga de trabajo al permitir que el equilibrador de carga gestione el proceso de cifrado y descifrado SSL/TLS, en lugar de que lo hagan las instancias de backend. Esto puede ayudar a reducir el uso de la CPU en las instancias backend, lo que puede mejorar el rendimiento y aumentar la capacidad. 
+  Use el [equilibrador de carga de red (NBT)](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/) para implementar servicios que dependan del protocolo UDP, como autenticación y autorización, registro, DNS, IoT y streaming multimedia, para mejorar el rendimiento y la fiabilidad de su carga de trabajo. El equilibrador de carga de red distribuye el tráfico UDP entrante entre varios destinos, lo que le permite escalar su carga de trabajo horizontalmente, aumentar la capacidad y reducir la sobrecarga de un único destino. 
+  Para sus cargas de trabajo de computación de alto rendimiento (HPC), considere la posibilidad de utilizar la funcionalidad [Elastic Network Adapter (ENA) Express](https://aws.amazon.com/about-aws/whats-new/2022/11/elastic-network-adapter-ena-express-amazon-ec2-instances/), que utiliza el protocolo SRD para mejorar el rendimiento de la red al proporcionar un ancho de banda de flujo único más alto (25 Gbps) y una latencia de cola más baja (percentil 99,9) para el tráfico de red entre las instancias de EC2. 
+  Utilice el [equilibrador de carga de aplicación (ALB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) para enrutar y equilibrar la carga del tráfico gRPC (llamadas a procedimientos remotos) entre componentes de carga de trabajo o entre clientes y servicios gRPC. gRPC utiliza el protocolo HTTP/2 basado en TCP para el transporte y proporciona ventajas de rendimiento como una huella de red más ligera, compresión, serialización binaria eficiente, compatibilidad con numerosos idiomas y streaming bidireccional. 

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

 **Documentos relacionados:** 
+  [How to route UDP traffic into Kubernetes](https://aws.amazon.com/blogs/containers/how-to-route-udp-traffic-into-kubernetes/) 
+  [Equilibrador de carga de aplicación](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Redes de EC2 mejoradas en Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Redes de EC2 mejoradas en Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Grupos de ubicación de EC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Habilitación de las redes mejoradas con Elastic Network Adapter (ENA) en las instancias Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Equilibrador de carga de red de](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Productos de redes con AWS](https://aws.amazon.com/products/networking/) 
+  [Transitioning to Latency-Based Routing in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC Endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 

 **Videos relacionados:** 
+  [AWS re:Invent 2022 – Scaling network performance on next-gen Amazon Elastic Compute Cloud instances](https://www.youtube.com/watch?v=jNYpWa7gf1A) 
+  [AWS re:Invent 2022 – Application networking foundations](https://www.youtube.com/watch?v=WcZwWuq6FTk) 

 **Ejemplos relacionados:** 
+  [AWS Transit Gateway and Scalable Security Solutions](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Talleres de redes de AWS](https://networking.workshop.aws/) 

# PERF04-BP06 Elección de la ubicación de la carga de trabajo en función de los requisitos de la red
<a name="perf_networking_choose_workload_location_network_requirements"></a>

Evalúe las opciones de colocación de recursos para reducir la latencia de la red y mejorar el rendimiento, lo que proporcionará una experiencia de usuario óptima al reducir los tiempos de carga de las páginas y de transferencia de datos.

 **Patrones comunes de uso no recomendados:** 
+  Consolida todos los recursos de la carga de trabajo en una ubicación geográfica. 
+  Ha elegido la región más cercana a su ubicación, pero no al usuario final de la carga de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** la experiencia del usuario se ve muy afectada por la latencia entre el usuario y la aplicación. Al utilizar las Regiones de AWS adecuadas y la red global privada de AWS, puede reducir la latencia y ofrecer una mejor experiencia a los usuarios remotos. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los recursos, como las instancias de Amazon EC2, se colocan en zonas de disponibilidad dentro de [Regiones de AWS](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [zonas locales de AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/), [AWS Outposts](https://aws.amazon.com/outposts/) o zonas de [AWS Wavelength](https://aws.amazon.com/wavelength/). La selección de esta ubicación influye en la latencia y el rendimiento de la red desde una ubicación de usuario. Los servicios de periferia como [Amazon CloudFront](https://aws.amazon.com/cloudfront/) y [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) también se pueden utilizar para mejorar el rendimiento de la red al almacenar contenido en caché en ubicaciones periféricas o proporcionar a los usuarios una ruta óptima a la carga de trabajo a través de la red global de AWS. 

 Amazon EC2 ofrece grupos de ubicación para la creación de redes. Un grupo de ubicación es una agrupación lógica de instancias para reducir la latencia. El uso de grupos de ubicación con tipos de instancias compatibles y un Elastic Network Adapter (ENA) permite que las cargas de trabajo participen en una red de 25 Gbps de baja latencia y fluctuación reducida. Se recomiendan grupos de colocación para cargas de trabajo que aprovechan la baja latencia de red, el alto rendimiento de red o ambos. 

 Los servicios sensibles a la latencia se prestan en ubicaciones periféricas mediante una red global de AWS, como [Amazon CloudFront](https://aws.amazon.com/cloudfront/). Estas ubicaciones periféricas normalmente prestan servicios como red de entrega de contenido (CDN) y sistema de nombres de dominio (DNS). Al tener estos servicios en la periferia, las cargas de trabajo pueden responder con baja latencia a las solicitudes de contenido o de resolución de DNS. Estos servicios pueden ofrecer servicios geográficos como la geolocalización del contenido (que proporciona contenido diferente según la ubicación de los usuarios finales) o el enrutamiento basado en la latencia para dirigir a los usuarios finales hacia la región más cercana (latencia mínima). 

 Utilice los servicios de periferia para reducir la latencia y permitir el almacenamiento en caché del contenido. Configure correctamente el control de caché para DNS y HTTP/HTTPS a fin de obtener el mayor beneficio de estos enfoques. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Capture información sobre el tráfico IP que entra y sale de las interfaces de red. 
  + [Registro del tráfico de IP con registros de flujo de la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
  + [How the client IP address is preserved in AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/preserve-client-ip-address.headers.html)
+  Analice los patrones de acceso a la red en su carga de trabajo para identificar cómo utilizan los usuarios su aplicación. 
  +  Utilice herramientas de supervisión, como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) y [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), para recopilar datos sobre las actividades de la red. 
  +  Analice los datos para identificar el patrón de acceso a la red. 
+  Seleccione las regiones para la implementación de la carga de trabajo en función de los siguientes elementos clave: 
  +  **Ubicación de los datos:** en el caso de las aplicaciones con gran cantidad de datos (como macrodatos y machine learning), el código de la aplicación debe ejecutarse lo más cerca posible de los datos. 
  +  **Ubicación de los usuarios:** para las aplicaciones orientadas al usuario, elija una región (o regiones) cercana a los usuarios de su carga de trabajo. 
  +  **Otras restricciones**: tenga en cuenta las limitaciones, como el costo y el cumplimiento, tal y como se explica en [What to Consider when Selecting a Region for your Workloads](https://aws.amazon.com/blogs/architecture/what-to-consider-when-selecting-a-region-for-your-workloads/).
+  Use [Zonas locales de AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) para ejecutar cargas de trabajo como la renderización de video. Las zonas locales le permiten beneficiarse de tener recursos de computación y almacenamiento más cerca de los usuarios finales. 
+  Utilice [AWS Outposts](https://aws.amazon.com/outposts/) para cargas de trabajo que deban seguir en las instalaciones y en las que desee que esa carga de trabajo se ejecute sin problemas con el resto de sus demás cargas de trabajo en AWS. 
+  Aplicaciones como la transmisión de vídeo en directo de alta resolución, audio de alta fidelidad y realidad aumentada/realidad virtual (RA/RV) requieren una latencia ultrabaja para dispositivos 5G. Para estas aplicaciones, considere la posibilidad de usar [AWS Wavelength](https://aws.amazon.com/wavelength/). AWS Wavelength integra los servicios de computación y almacenamiento de AWS en las redes 5G, proporcionando una infraestructura de computación periférica móvil para desarrollar, implementar y escalar aplicaciones de latencia ultrabaja. 
+  Utilice almacenamiento en caché local o [soluciones de almacenamiento en caché de AWS](https://aws.amazon.com/caching/aws-caching/) para los activos de uso frecuente con el fin de mejorar el rendimiento, reducir el movimiento de datos y disminuir el impacto medioambiental.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_networking_choose_workload_location_network_requirements.html)
+  Utilice servicios que puedan ayudarle a ejecutar el código más cerca de los usuarios de su carga de trabajo, como los siguientes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_networking_choose_workload_location_network_requirements.html)
+  Algunas aplicaciones requieren puntos de entrada fijos o un mayor rendimiento mediante el aumento del rendimiento y la reducción de la fluctuación y de la latencia del primer byte. Esta aplicaciones pueden aprovechar servicios de redes que proporcionen direcciones IP estáticas de anycast y la terminación de TCP en las ubicaciones periféricas. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) puede mejorar el rendimiento de las aplicaciones hasta en un 60 % y proporcionar una rápida conmutación por error para arquitecturas multirregionales. AWS Global Accelerator le proporciona direcciones IP estáticas de difusión por proximidad que sirven como punto de entrada fijo para las aplicaciones alojadas en una o más Regiones de AWS. Estas direcciones IP permiten que el tráfico entre en la red global de AWS lo más cerca posible de sus usuarios. AWS Global Accelerator reduce el tiempo de configuración de la conexión inicial al establecer una conexión TCP entre el cliente y la ubicación periférica de AWS más cercana al cliente. Revise el uso de AWS Global Accelerator para mejorar el rendimiento de sus cargas de trabajo TCP/UDP y proporcionar una rápida conmutación por error para arquitecturas multirregión. 

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

 **Prácticas recomendadas relacionadas:** 
+ [ COST07-BP02 Implementación de regiones según los costos ](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_pricing_model_region_cost.html)
+ [COST08-BP03 Implementación de servicios para reducir los costos de transferencia de datos ](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_data_transfer_implement_services.html)
+ [REL10-BP01 Implementación de la carga de trabajo en varias ubicaciones](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_multiaz_region_system.html)
+ [REL10-BP02 Selección de las ubicaciones adecuadas para la implementación en varias ubicaciones](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_select_location.html)
+ [SUS01-BP01 Selección de la región en función de los requisitos empresariales y los objetivos de sostenibilidad](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_region_a2.html)
+ [SUS02-BP04 Optimización de la ubicación geográfica de las cargas de trabajo en función de sus requisitos de red](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_user_a5.html)
+ [SUS04-BP07 Minimización del movimiento de datos entre redes](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_data_a8.html)

 **Documentos relacionados:** 
+ [Infraestructura global de AWS](https://aws.amazon.com/about-aws/global-infrastructure/)
+ [AWS Local Zones and AWS Outposts, choosing the right technology for your edge workload ](https://aws.amazon.com/blogs/compute/aws-local-zones-and-aws-outposts-choosing-the-right-technology-for-your-edge-workload/)
+ [ Grupos de ubicación ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+ [Zonas locales de AWS](https://aws.amazon.com/about-aws/global-infrastructure/localzones/)
+ [AWS Outposts](https://aws.amazon.com/outposts/)
+ [AWS Wavelength](https://aws.amazon.com/wavelength/)
+ [ Amazon CloudFront ](https://aws.amazon.com/cloudfront/)
+ [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/)
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/)
+ [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/site-to-site-vpn/)
+ [ Amazon Route 53 ](https://aws.amazon.com/route53/)

 **Videos relacionados:** 
+ [AWS Local Zones Explainer Video ](https://www.youtube.com/watch?v=JHt-D4_zh7w)
+ [AWS Outposts: Overview and How it Works ](https://www.youtube.com/watch?v=ppG2FFB0mMQ)
+ [AWS re:Invent 2023 - A migration strategy for edge and on-premises workloads ](https://www.youtube.com/watch?v=4wUXzYNLvTw)
+ [AWS re:Invent 2021 - AWS Outposts: Bringing the AWS experience on premises ](https://www.youtube.com/watch?v=FxVF6A22498)
+ [AWS re:Invent 2020: AWS Wavelength: Run apps with ultra-low latency at 5G edge ](https://www.youtube.com/watch?v=AQ-GbAFDvpM)
+ [AWS re:Invent 2022 - AWS Local Zones: Building applications for a distributed edge ](https://www.youtube.com/watch?v=bDnh_d-slhw)
+ [AWS re:Invent 2021 - Building low-latency websites with Amazon CloudFront ](https://www.youtube.com/watch?v=9npcOZ1PP_c)
+ [AWS re:Invent 2022 - Improve performance and availability with AWS Global Accelerator](https://www.youtube.com/watch?v=s5sjsdDC0Lg)
+ [AWS re:Invent 2022 - Build your global wide area network using AWS](https://www.youtube.com/watch?v=flBieylTwvI)
+ [AWS re:Invent 2020: Global traffic management with Amazon Route 53 ](https://www.youtube.com/watch?v=E33dA6n9O7I)

 **Ejemplos relacionados:** 
+ [AWS Global Accelerator Custom Routing Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/ac213084-3f4a-4b01-9835-5052d6096b5b/en-US)
+ [Handling Rewrites and Redirects using Edge Functions](https://catalog.us-east-1.prod.workshops.aws/workshops/814dcdac-c2ad-4386-98d5-27d37bb77766/en-US)

# PERF04-BP07 Optimización de la configuración de red según las métricas
<a name="perf_networking_optimize_network_configuration_based_on_metrics"></a>

 Utilice los datos recogidos y analizados para tomar decisiones informadas sobre la optimización de la configuración de su red. 

 **Patrones comunes de uso no recomendados:** 
+  Supone que todos los problemas de rendimiento están relacionados con las aplicaciones. 
+  Solo hace pruebas del rendimiento de la red desde una ubicación cercana al punto de implementación de la carga de trabajo. 
+  Se utilizan configuraciones predeterminadas para todos los servicios de red. 
+  Se sobreaprovisionan los recursos de red para proporcionar capacidad suficiente. 

 **Beneficios de establecer esta práctica recomendada:** la recopilación de las métricas necesarias de su red de AWS y la implementación de herramientas de supervisión de red le permiten comprender el rendimiento y optimizar las configuraciones de la misma. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 La supervisión del tráfico hacia y desde VPC, subredes o interfaces de red es crucial para comprender cómo utilizar los recursos de red de AWS y optimizar las configuraciones de la red. Con las siguientes herramientas de la red de AWS, puede inspeccionar más a fondo la información sobre el uso del tráfico, el acceso a la red y los registros. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Identifique las métricas clave de rendimiento, como la latencia o la pérdida de paquetes, que desee recopilar. AWS proporciona varias herramientas que pueden ayudarle a recopilar dichas métricas. Mediante las siguientes herramientas, puede inspeccionar más a fondo la información sobre el uso del tráfico, el acceso a la red y los registros:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_networking_optimize_network_configuration_based_on_metrics.html)
+  Identifique los principales interlocutores y patrones de tráfico de las aplicaciones mediante VPC y Registros de flujo de AWS Transit Gateway. 
+  Evalúe y optimice su arquitectura de red actual, incluidas las VPC, las subredes y el enrutamiento. Por ejemplo, puede evaluar cómo diferentes emparejamientos de VPC o AWS Transit Gateway pueden ayudarle a mejorar las redes de su arquitectura. 
+  Evalúe las rutas de enrutamiento de su red para verificar que siempre se utilice la ruta más corta entre los destinos. El Analizador de acceso a la red puede ayudarle a hacer esto. 

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

 **Documentos relacionados:** 
+  [Registro de consultas de DNS públicas](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) 
+  [¿Qué es IPAM?](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) 
+  [¿Qué es Analizador de accesibilidad?](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) 
+  [¿Qué es Analizador de acceso a la red?](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html) 
+  [Métricas de CloudWatch para sus VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cloudwatch.html) 
+  [Optimize performance and reduce costs for network analytics with VPC Flow Logs in Apache Parquet format ](https://aws.amazon.com/blogs/big-data/optimize-performance-and-reduce-costs-for-network-analytics-with-vpc-flow-logs-in-apache-parquet-format/) 
+  [Supervisión de la red global con métricas de Amazon CloudWatch](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [Supervisar de forma continua el tráfico y los recursos de red](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) 

 **Videos relacionados:** 
+  [AWS re:Invent 2023 – A developer's guide to cloud networking](https://www.youtube.com/watch?v=i77D556lrgY) 
+  [AWS re:Invent 2023 – Ready for what’s next? Designing networks for growth and flexibility](https://www.youtube.com/watch?v=FkWOhTZSfdA) 
+  [AWS re:Invent 2023 – Advanced VPC designs and new capabilities](https://www.youtube.com/watch?v=cRdDCkbE4es) 
+  [AWS re:Invent 2022 – Dive deep on AWS networking infrastructure](https://www.youtube.com/watch?v=HJNR_dX8g8c) 
+  [AWS re:Invent 2020 – Networking best practices and tips with the AWS Well-Architected Framework ](https://www.youtube.com/watch?v=wOMNpG49BeM) 
+  [AWS re:Invent 2020 – Monitoring and troubleshooting network traffic ](https://www.youtube.com/watch?v=Ed09ReWRQXc) 

 **Ejemplos relacionados:** 
+  [Talleres de redes de AWS](https://networking.workshop.aws/) 
+  [Supervisión de la red de AWS](https://github.com/aws-samples/monitor-vpc-network-patterns) 
+  [Observing and diagnosing your network on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64/en-US) 
+  [Finding and addressing network misconfigurations on AWS](https://validating-network-reachability.awssecworkshops.com/) 

# Proceso y cultura
<a name="a-process-culture"></a>

**Topics**
+ [PERF 5. ¿Cómo contribuyen las prácticas y la cultura de su organización a la eficiencia del rendimiento en su carga de trabajo?](perf-05.md)

# PERF 5. ¿Cómo contribuyen las prácticas y la cultura de su organización a la eficiencia del rendimiento en su carga de trabajo?
<a name="perf-05"></a>

 Al diseñar cargas de trabajo, hay principios y prácticas que puede adoptar con el fin de ayudarle a ejecutar mejor cargas de trabajo en la nube eficientes y de alto rendimiento. Para adoptar una cultura que fomente la eficiencia del rendimiento de las cargas de trabajo en la nube, tenga en cuenta estos principios y prácticas clave: 

**Topics**
+ [PERF05-BP01 Establecimiento de indicadores clave de rendimiento (KPI) para medir el estado y el rendimiento de la carga de trabajo](perf_process_culture_establish_key_performance_indicators.md)
+ [PERF05-BP02 Uso de soluciones de supervisión para saber en qué áreas es más crítico el rendimiento](perf_process_culture_use_monitoring_solutions.md)
+ [PERF05-BP03 Definición de un proceso para mejorar el rendimiento de la carga de trabajo](perf_process_culture_workload_performance.md)
+ [PERF05-BP04 Pruebas de carga de la carga de trabajo](perf_process_culture_load_test.md)
+ [PERF05-BP05 Uso de la automatización para solucionar de forma proactiva los problemas relacionados con el rendimiento](perf_process_culture_automation_remediate_issues.md)
+ [PERF05-BP06 Mantenimiento de la carga de trabajo y los servicios actualizados](perf_process_culture_keep_workload_and_services_up_to_date.md)
+ [PERF05-BP07 Revisión de las métricas a intervalos regulares](perf_process_culture_review_metrics.md)

# PERF05-BP01 Establecimiento de indicadores clave de rendimiento (KPI) para medir el estado y el rendimiento de la carga de trabajo
<a name="perf_process_culture_establish_key_performance_indicators"></a>

 Identifique los KPI que miden de forma cuantitativa y cualitativa el rendimiento de la carga de trabajo. Los KPI ayudan a medir el estado y el rendimiento de una carga de trabajo en relación con un objetivo empresarial. 

 **Patrones comunes de uso no recomendados:** 
+  Supervisa únicamente las métricas del nivel del sistema para obtener información sobre su carga de trabajo sin comprender el impacto empresarial de dichas métricas. 
+  Presupone que los KPI ya se publican y comparten como datos de métricas estándar. 
+  No tiene definido un KPI cuantitativo (que se pueda medir). 
+  Los KPI no se corresponden con los objetivos o estrategias empresariales. 

 **Beneficios de establecer esta práctica recomendada:** identificar los KPI específicos que representan el estado y el rendimiento de la carga de trabajo ayuda a alinear a los equipos con sus prioridades y a definir unos resultados empresariales satisfactorios. Al compartir estas métricas con todos los departamentos, se obtiene información y se fomenta un enfoque coherente en relación con los umbrales, las expectativas y las repercusiones empresariales. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Los KPI ayudan a las empresas y a los equipos de ingeniería a organizarse en función de la medición de los objetivos y estrategias. Además, indican cómo estos factores se combinan para producir resultados empresariales. Por ejemplo, en una carga de trabajo de un sitio web, el tiempo de carga de la página se podría usar como indicativo del rendimiento general. Esta métrica sería uno de los múltiples puntos de datos que miden la experiencia del usuario. Además de identificar los umbrales de los tiempos de carga de la página, debería documentar el resultado previsto o el riesgo empresarial si no se cumple el ideal de rendimiento. Si una página tarda en cargarse, los usuarios finales se ven directamente afectados, se reduce su valoración de la experiencia y se pueden perder clientes. Cuando defina los umbrales de KPI, combine tanto las referencias del sector como las expectativas de los usuarios finales. Por ejemplo, si la referencia sectorial actual es que una página web se cargue en dos segundos, pero los usuarios esperan que tarde solamente un segundo, debería tener en cuenta estos dos puntos de datos al establecer el KPI. 

 El equipo debe evaluar los KPI de su carga de trabajo por medio de datos granulares en tiempo real y datos históricos como referencia. Además, debe crear paneles en los que se hagan cálculos de métricas sobre los datos de los KPI para obtener información sobre las operaciones y la utilización. Los KPI se deben documentar e incluir umbrales que respalden los objetivos y las estrategias de la empresa, además de asignarse a las métricas que se supervisen. Los KPI deberían revisitarse siempre que cambien los objetivos empresariales, las estrategias o los requisitos del usuario final.   

## Pasos para la implementación
<a name="implementation-steps"></a>
+ **Identificación de las partes interesadas:** identifique y documente las partes interesadas clave de la empresa, como los equipos de desarrollo y operación. 
+ **Definición de los objetivos:** trabaje con estas partes interesadas para definir y documentar los objetivos de su carga de trabajo. Tenga en cuenta los aspectos esenciales de desempeño de las cargas de trabajo, como, por ejemplo, el rendimiento, el tiempo de respuesta y el costo, así como los objetivos empresariales, como, por ejemplo, la satisfacción del usuario. 
+ **Revisión de las prácticas recomendadas del sector:** revise las prácticas sectoriales recomendadas para identificar los KPI relevantes que se ajusten a los objetivos de su carga de trabajo. 
+  **Identificación de las métricas:** identifique las métricas que estén alineadas con los objetivos de su carga de trabajo y que puedan ayudarle a medir el rendimiento y los objetivos empresariales. Establezca los KPI en función de estas métricas. Las métricas de ejemplo son medidas como el tiempo promedio de respuesta o el número de usuarios simultáneos. 
+ **Definición y documentación de los KPI:** utilice las prácticas recomendadas del sector y los objetivos de su carga de trabajo para establecer los objetivos del KPI de su carga de trabajo. Utilice esta información para establecer los umbrales de gravedad o el nivel de alarma de los KPI. Identifique y documente el riesgo y el impacto del incumplimiento de los KPI. 
+ **Implementación de la supervisión:** utilice herramientas de supervisión como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) o [AWS Config](https://aws.amazon.com/config/) para recopilar métricas y medir los KPI. 
+ **Comunicación de los KPI de forma visual:** utilice herramientas de panel como [Amazon Quick](https://aws.amazon.com/pm/quicksight/) para visualizar y comunicar los KPI a las partes interesadas. 
+ **Análisis y optimización:** revise y analice periódicamente las métricas para identificar las áreas de la carga de trabajo que deben mejorarse. Colabore con las partes interesadas para implementar estas mejoras. 
+ **Revisita y refinamiento:** revise periódicamente las métricas y los KPI para evaluar su eficacia, especialmente cuando cambien los objetivos empresariales o el rendimiento de la carga de trabajo. 

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

 **Documentos relacionados:** 
+  [Documentación de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Supervisión, registro y rendimiento de los AWS Partner](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+ [Herramientas de observabilidad de AWS](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html)
+ [La importancia de los indicadores clave de rendimiento (KPI) para las migraciones a gran escala a la nube](https://aws.amazon.com/blogs/mt/the-importance-of-key-performance-indicators-kpis-for-large-scale-cloud-migrations/)
+ [ How to track your cost optimization KPIs with the KPI Dashboard ](https://aws.amazon.com/blogs/aws-cloud-financial-management/how-to-track-your-cost-optimization-kpis-with-the-kpi-dashboard/)
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Uso de paneles de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [KPI de Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2023 - Manage resource lifecycle events at scale with AWS Health](https://www.youtube.com/watch?v=VoLLNL5j9NA)
+ [AWS re:Invent 2023 - Performance & efficiency at Pinterest: Optimizing the latest instances ](https://www.youtube.com/watch?v=QSudpowE_Hs)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2023 - Scaling on AWS for the first 10 million users ](https://www.youtube.com/watch?v=JzuNJ8OUht0)
+ [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+ [ Creating an Effective Metrics Strategy for Your Business \$1 AWS Events ](https://www.youtube.com/watch?v=zBO-K4RvbtM)

 **Ejemplos relacionados:** 
+  [Creación de un panel con Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF05-BP02 Uso de soluciones de supervisión para saber en qué áreas es más crítico el rendimiento
<a name="perf_process_culture_use_monitoring_solutions"></a>

 Comprenda y detecte las áreas en las que un aumento de rendimiento de la carga de trabajo tendrá un impacto positivo en la eficiencia o en la experiencia del cliente. Por ejemplo, un sitio web que tenga una gran interacción del cliente se beneficiaría de utilizar servicios en la periferia para acercar la entrega de contenido a los clientes. 

 **Patrones comunes de uso no recomendados:** 
+  Supone que las métricas de computación estándares como el uso de CPU o la presión sobre la memoria son suficientes para detectar problemas de rendimiento. 
+  Solo se utilizan las métricas predeterminadas registradas por el software de supervisión seleccionado. 
+  Solo se revisan las métricas cuando hay un problema. 

 **Ventajas de establecer esta práctica recomendada:** el conocimiento de las áreas críticas de rendimiento ayuda a los propietarios de la carga de trabajo a supervisar los KPI y a priorizar las mejoras de alto impacto. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Configure el seguimiento de extremo a extremo para identificar los patrones de tráfico, la latencia y las áreas esenciales de rendimiento. Supervise los patrones de acceso a los datos para detectar consultas lentas o datos fragmentados y particionados de forma deficiente. Identifique las áreas restringidas de la carga de trabajo mediante pruebas de carga o supervisión. 

 Para aumentar la eficiencia del rendimiento, comprenda su arquitectura, patrones de tráfico y patrones de acceso a los datos e identificar sus tiempos de latencia y procesamiento. Identifique los posibles cuellos de botella que puedan afectar a la experiencia del cliente a medida que aumenta la carga de trabajo. Al identificar esas áreas, fíjese en qué solución podría implementar para acabar con los problemas de rendimiento. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+  Configure la supervisión de extremo a extremo para capturar todos los componentes y métricas de la carga de trabajo. A continuación, se muestran algunos ejemplos de soluciones de supervisión de AWS.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/latest/framework/perf_process_culture_use_monitoring_solutions.html)
+  Lleve a cabo pruebas para generar métricas, identificar patrones de tráfico, cuellos de botella y áreas críticas de rendimiento. Estos son algunos ejemplos de cómo se hacen las pruebas: 
  +  Configure [Canarios sintéticos de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) para imitar las actividades de los usuarios en el navegador mediante programación con expresiones de frecuencia o tareas cron de Linux y generar métricas coherentes a lo largo del tiempo. 
  +  Use la solución [Pruebas de carga distribuidas de AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para generar picos de tráfico o probar la carga de trabajo con la tasa de crecimiento prevista. 
+  Evalúe las métricas y la telemetría para identificar sus áreas fundamentales de rendimiento. Revise estas áreas con su equipo con el fin de analizar la supervisión y las soluciones para evitar los cuellos de botella. 
+  Experimente con las mejoras de rendimiento y mida los cambios con datos. Por ejemplo, puede usar [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) para probar nuevas mejoras y los impactos en el rendimiento de su carga de trabajo. 

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

 **Documentos relacionados:** 
+ [ What's new in AWS Observability at re:Invent 2023 ](https://aws.amazon.com/blogs/mt/whats-new-in-aws-observability-at-reinvent-2023/)
+  [Amazon Builders’ Library](https://aws.amazon.com/builders-library) 
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - [LAUNCH] Application monitoring for modern workloads ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023 - Implementing application observability ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+  [AWS re:Invent 2022 - The Amazon Builders’ Library: 25 years of Amazon operational excellence](https://www.youtube.com/watch?v=DSRhgBd_gtw) 
+ [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+  [Visual Monitoring of Applications with Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=_PCs-ucZz7E) 

 **Ejemplos relacionados:** 
+  [Measure page load time with Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Cliente web de Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [SDK de X-Ray para Python](https://github.com/aws/aws-xray-sdk-python) 
+  [Pruebas de carga distribuidas en AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP03 Definición de un proceso para mejorar el rendimiento de la carga de trabajo
<a name="perf_process_culture_workload_performance"></a>

 Defina un proceso para evaluar nuevos servicios, patrones de diseño, tipos de recursos y configuraciones a medida que estén disponibles. Por ejemplo, ejecute las pruebas de rendimiento existentes en las nuevas ofertas de instancias a fin de determinar su capacidad para mejorar su carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Presupone que la arquitectura actual es estática y no se va a actualizar con el tiempo. 
+  Incorpora cambios en la arquitectura a lo largo del tiempo sin justificación basada en métricas. 

 **Beneficios de establecer esta práctica recomendada:** al definir el proceso para hacer cambios en la arquitectura, puede utilizar los datos recopilados para influir en el diseño de la carga de trabajo a lo largo del tiempo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 El rendimiento de su carga de trabajo tiene algunas limitaciones clave. Documéntelos para que sepa qué tipos de innovación pueden mejorar el rendimiento de su carga de trabajo. Utilice esta información cuando conozca nuevos servicios o tecnologías a medida que estén disponibles para identificar formas de mitigar las limitaciones o cuellos de botella. 

 Identifique las principales restricciones en el rendimiento de su carga de trabajo. Documente las restricciones de rendimiento de la carga de trabajo para que sepa los tipos de innovación que puedan mejorarlo. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+ **Identificación de los KPI:** identifique los KPI de rendimiento de su carga de trabajo tal como se describe en [PERF05-BP01 Establecimiento de indicadores clave de rendimiento (KPI) para medir el estado y el rendimiento de la carga de trabajo](perf_process_culture_establish_key_performance_indicators.md) para basar su carga de trabajo. 
+ **Implementación de la supervisión:** utilice [herramientas de observabilidad de AWS](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html) para recopilar métricas de rendimiento y medir los KPI. 
+ **Análisis:** haga un análisis exhaustivo para identificar las áreas de la carga de trabajo (como la configuración y el código de la aplicación) que tienen un rendimiento inferior, tal y como se describe en [PERF05-BP02 Uso de soluciones de supervisión para saber en qué áreas es más crítico el rendimiento](perf_process_culture_use_monitoring_solutions.md). Utilice sus herramientas de análisis y rendimiento para identificar las estrategias de mejora del rendimiento. 
+ **Validación de las mejoras:** utilice entornos de pruebas o de preproducción para validar la eficacia de la estrategia. 
+ **Implementación de cambios:** implemente los cambios en la producción y supervise continuamente el rendimiento de la carga de trabajo. Documente las mejoras y comunique los cambios a las partes interesadas. 
+ **Revisita y ajuste:** revise periódicamente su proceso de mejora del rendimiento para identificar las áreas que se puedan optimizar. 

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

 **Documentos relacionados:** 
+  [AWS Blog de](https://aws.amazon.com/blogs/) 
+  [Novedades de AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+  [AWS Skill Builder de](https://explore.skillbuilder.aws/learn) 

 **Videos relacionados:** 
+ [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2022 - Optimize your AWS workloads with best-practice guidance ](https://www.youtube.com/watch?v=t8yl1TrnuIk)

 **Ejemplos relacionados:** 
+  [AWS GitHub](https://github.com/aws) 

# PERF05-BP04 Pruebas de carga de la carga de trabajo
<a name="perf_process_culture_load_test"></a>

 Haga una prueba de carga en su carga de trabajo para comprobar que puede gestionar la carga de producción e identificar cualquier cuello de botella en el rendimiento. 

 **Patrones comunes de uso no recomendados:** 
+  Hace pruebas de partes individuales de su carga de trabajo, pero no de la carga completa. 
+  Hace pruebas de carga en una infraestructura que no es la misma que su entorno de producción. 
+  Solo hace pruebas de carga hasta su carga prevista y no más allá, para ayudar a prever dónde puede tener problemas en el futuro. 
+  Hace pruebas de carga sin consultar la [Política de pruebas de Amazon EC2](https://aws.amazon.com/ec2/testing/) ni presentar un formulario de envío de eventos simulados. Esto hace que la prueba no se ponga en marcha, ya que parece un evento de denegación de servicio. 

 **Beneficios de establecer esta práctica recomendada:** calcular el rendimiento en una prueba de carga le mostrará qué áreas se verán afectadas a medida que aumente la carga. De este modo, podrá anticipar los cambios necesarios antes de que afecten a la carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las pruebas de carga en la nube son un proceso que permite medir el rendimiento de la carga de trabajo en la nube bajo condiciones realistas y con la carga de usuarios esperada. Este proceso implica el aprovisionamiento de un entorno de nube similar al de producción, el uso de herramientas de pruebas de carga para generar la carga y el análisis de métricas para evaluar la capacidad de la carga de trabajo a la hora de gestionar una carga realista. Las pruebas de carga deben ponerse en marcha con versiones sintéticas o saneadas de los datos de producción (debe eliminarse la información confidencial o de identificación). Haga automáticamente pruebas de carga en la canalización de entrega y compare los resultados con los KPI y los umbrales predefinidos. Este proceso le permitirá seguir alcanzando el rendimiento requerido. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+ **Definición de los objetivos de la prueba:** identifique los aspectos de desempeño de su carga de trabajo que desea evaluar, como el rendimiento y el tiempo de respuesta. 
+ **Selección de una herramienta para hacer la prueba:** elija y configure la herramienta para hacer la prueba de carga que se ajuste a su carga de trabajo. 
+ **Configuración del entorno:** configure el entorno de prueba en función de su entorno de producción. Puede usar los servicios de AWS para poner en marcha entornos a escala de producción y poner a prueba su arquitectura. 
+ **Implementación de la supervisión:** utilice herramientas de supervisión como [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) para recopilar métricas de todos los recursos de su arquitectura. También puede recopilar y publicar métricas personalizadas. 
+ **Definición de escenarios:** defina los escenarios y los parámetros de las pruebas de carga (como la duración de la prueba y el número de usuarios). 
+ **Pruebas de carga:** lleve a cabo escenarios de prueba a escala. Utilice la Nube de AWS para probar la carga de trabajo y detectar las áreas en las que el escalado no se hace correctamente o no se produce de forma lineal. Por ejemplo, utilice instancias de spot para generar cargas a bajo costo y descubrir obstáculos antes que se experimenten en la producción. 
+ **Análisis de los resultados de las pruebas:** analice los resultados para identificar los cuellos de botella del rendimiento y las áreas en las que se pueden mejorar. 
+ **Documentación y comunicación de los resultados:** documente e informe sobre los resultados y recomendaciones. Comparta esta información con las partes interesadas para que puedan tomar decisiones fundamentadas con respecto a las estrategias de optimización del rendimiento. 
+ **Repetición continua:** las pruebas de carga deben hacerse con periodicidad, especialmente después de un cambio o actualización del sistema. 

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

 **Documentos relacionados:** 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Pruebas de carga distribuidas en AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Videos relacionados:** 
+ [AWS Summit ANZ 2023: Accelerate with confidence through AWS Distributed Load Testing ](https://www.youtube.com/watch?v=4J6lVqa6Yh8)
+ [AWS re:Invent 2022 - Scaling on AWS for your first 10 million users ](https://www.youtube.com/watch?v=yrP3M4_13QM)
+  [Solving with AWS Solutions: Distributed Load Testing](https://www.youtube.com/watch?v=Y-2rk0sSyOM) 
+ [AWS re:Invent 2021 - Optimize applications through end user insights with Amazon CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Ejemplos relacionados:** 
+  [Pruebas de carga distribuidas en AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP05 Uso de la automatización para solucionar de forma proactiva los problemas relacionados con el rendimiento
<a name="perf_process_culture_automation_remediate_issues"></a>

 Utilice los indicadores clave de rendimiento (KPI), junto con los sistemas de supervisión y alerta, para abordar de forma proactiva los problemas relacionados con el rendimiento. 

 **Patrones comunes de uso no recomendados:** 
+  Únicamente permite que el personal de operaciones pueda llevar a cabo cambios operativos en la carga de trabajo. 
+  Permite que todas las alarmas se filtren al equipo de operaciones sin medidas de corrección proactivas. 

 **Beneficios de establecer esta práctica recomendada:** la corrección proactiva de las acciones de alarma permite al personal de asistencia centrarse en aquellos elementos que no son accionables automáticamente. De este modo, el personal de operaciones podrá gestionar todas las alarmas sin sentirse abrumado y concentrarse exclusivamente en las críticas. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Use alarmas para activar acciones automatizadas y corregir los problemas siempre que sea posible. Escale la alarma a aquellos capaces de responder cuando no se pueda recurrir a la respuesta automatizada. Por ejemplo, podría tener un sistema capaz de predecir los valores esperados de los indicadores clave de rendimiento (KPI) y emitir alarmas cuando se sobrepasen ciertos umbrales, o una herramienta que pudiera detener o revertir automáticamente las implementaciones si los KPI están fuera de los valores esperados. 

 Implemente procesos que informen el rendimiento cuando la carga de trabajo esté en marcha. Cree paneles de supervisión y establezca normas de referencia sobre las expectativas del rendimiento para determinar si la carga de trabajo funciona de manera óptima. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+ **Identificación del flujo de trabajo de corrección:** identifique y estudie si el problema de rendimiento puede solucionarse automáticamente. Utilice soluciones de supervisión de AWS, como [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) o AWS X-Ray, que le permitan entender mejor la causa raíz del problema. 
+ **Definición de un proceso de automatización:** cree un plan y un proceso de corrección paso a paso que pueda utilizar para solucionar el problema automáticamente. 
+ **Configure el evento de inicio:** configure el evento para iniciar automáticamente el proceso de corrección. Por ejemplo, puede definir un activador que reinicie automáticamente una instancia cuando se alcance un determinado umbral de uso de la CPU. 
+ **Automatización de la corrección:** utilice los servicios y las tecnologías de AWS para automatizar el proceso de corrección. Por ejemplo, [Automatización de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) proporciona una forma segura y escalable para automatizar el proceso de corrección. Asegúrese de usar la lógica de autorrecuperación para revertir los cambios si el problema no se soluciona correctamente. 
+ **Prueba del flujo de trabajo:** pruebe el proceso de corrección automatizado en un entorno de preproducción. 
+ **Implementación del flujo de trabajo:** implemente la corrección automática en el entorno de producción. 
+ **Elaboración de un manual de estrategias:** elabore y documente un manual de estrategias que describa los pasos del plan de corrección, incluidos los eventos de inicio, la lógica de corrección y las medidas adoptadas. Asegúrese de que las partes interesadas reciban formación para que puedan responder de manera eficaz a los eventos de corrección automatizada. 
+ **Revisión y perfeccionamiento:** evalúe periódicamente la eficacia del flujo de trabajo de corrección automatizado. Ajuste los eventos de inicio y la lógica de corrección si es necesario. 

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

 **Documentos relacionados:** 
+  [Documentación de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Socios de AWS Partner Network de supervisión, registro y rendimiento](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Alarms and Alarm Actions in CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 
+ [ Build a Cloud Automation Practice for Operational Excellence: Best Practices from AWS Managed Services](https://aws.amazon.com/blogs/mt/build-a-cloud-automation-practice-for-operational-excellence-best-practices-from-aws-managed-services/)
+ [ Automate your Amazon Redshift performance tuning with automatic table optimization ](https://aws.amazon.com/blogs/big-data/automate-your-amazon-redshift-performance-tuning-with-automatic-table-optimization/)

 **Videos relacionados:** 
+ [AWS re:Invent 2023 - Strategies for automated scaling, remediation, and smart self-healing ](https://www.youtube.com/watch?v=nlGyIa3UQYU)
+ [AWS re:Invent 2023 - [LAUNCH] Application monitoring for modern workloads ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023 - Implementing application observability ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+  [AWS re:Invent 2021 - Intelligently automating cloud operations](https://www.youtube.com/watch?v=m0S8eAF0l54) 
+  [AWS re:Invent 2022 - Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022 - Automating patch management and compliance using AWS](https://www.youtube.com/watch?v=gL3baXQJvc0) 
+  [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023 - Take a load off: Diagnose & resolve performance issues with Amazon RDS ](https://www.youtube.com/watch?v=Ulj88e5Aqzg)
+ [AWS re:Invent 2021 -\$1New Launch\$1 Automatically detect and resolve issues with Amazon DevOps Guru ](https://www.youtube.com/watch?v=iwQNQHwoXfk)
+ [AWS re:Invent 2023 - Centralize your operations ](https://www.youtube.com/watch?v=9-RBjmhDdaM)

 **Ejemplos relacionados:** 
+  [CloudWatch Logs Customize Alarms](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# PERF05-BP06 Mantenimiento de la carga de trabajo y los servicios actualizados
<a name="perf_process_culture_keep_workload_and_services_up_to_date"></a>

 Manténgase al tanto de los nuevos servicios y características de la nube para adoptar características eficientes, resolver problemas y mejorar la eficiencia general del rendimiento de la carga de trabajo. 

 **Patrones comunes de uso no recomendados:** 
+  Asume que su arquitectura actual es estática y no se actualizará con el tiempo. 
+  No dispone de sistemas ni de una cadencia regular para evaluar si los programas y paquetes actualizados son compatibles con la carga de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** al establecer un proceso que le permita estar al tanto de los nuevos servicios y ofertas, puede adoptar nuevas características y funcionalidades, resolver problemas y mejorar el rendimiento de la carga de trabajo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Evalúe mecanismos para mejorar el rendimiento a medida que disponga de nuevos servicios, patrones de diseño y características de productos. Determine cuáles de ellas podrían mejorar el rendimiento o aumentar la eficiencia de la carga de trabajo mediante una evaluación, un debate interno o un análisis externo. Defina un proceso para evaluar las actualizaciones, las nuevas características y servicios pertinentes para su carga de trabajo. Por ejemplo, cree una prueba de concepto que utilice nuevas tecnologías o consulte a un grupo interno. Cuando pruebe nuevas ideas o servicios, haga pruebas de rendimiento para medir el impacto que tienen en el rendimiento de la carga de trabajo. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+ **Inventario de la carga de trabajo:** haga un inventario del software y la arquitectura de su carga de trabajo e identifique los componentes que deben actualizarse. 
+ **Identificación de los orígenes de actualización:** identifique las noticias y los orígenes de actualización relacionados con los componentes de su carga de trabajo. Por ejemplo, puede suscribirse al [blog de novedades de AWS](https://aws.amazon.com/new/) para ver los productos que se adapten a su componente de carga de trabajo. Puede suscribirse a la fuente RSS o administrar sus [suscripciones de correo electrónico](https://pages.awscloud.com/communication-preferences.html). 
+ **Definición de un calendario de actualización:** establezca un calendario para evaluar nuevos servicios y características con su carga de trabajo. 
  +  Puede usar [Inventario de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html) para recopilar los metadatos del sistema operativo (SO), las aplicaciones y los metadatos de instancias de sus instancias de Amazon EC2 y comprender rápidamente qué instancias están poniendo en marcha el software y las configuraciones requeridas por su política de software, así como las instancias que deben actualizarse. 
+ **Evaluación de la nueva actualización:** entienda cómo actualizar los componentes de su carga de trabajo. Aproveche la agilidad de la nube para probar rápidamente cómo las nuevas características pueden mejorar la eficiencia del rendimiento de la carga de trabajo. 
+ **Uso de la automatización:** utilice la automatización del proceso de actualización a fin de reducir el nivel de esfuerzo para implementar nuevas funciones y limitar los errores causados por los procesos manuales. 
  +  Puede usar [CI/CD](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/) para actualizar automáticamente las AMI, las imágenes de contenedor y otros artefactos relacionados con la aplicación en la nube. 
  +  Puede utilizar herramientas como [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) para automatizar el proceso de actualizaciones del sistema y programar la actividad mediante [Ventanas de mantenimiento de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 
+ **Documentación del proceso:** documente su proceso para evaluar las actualizaciones y los nuevos servicios. Proporcione a los propietarios el tiempo y el espacio necesarios para investigar, probar, experimentar y validar las actualizaciones y los nuevos servicios. Consulte los requisitos empresariales documentados y los KPI para ayudar a priorizar qué actualización tendrá un impacto empresarial positivo. 

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

 **Documentos relacionados:** 
+  [Blog de AWS](https://aws.amazon.com/blogs/) 
+  [Novedades de AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+ [ Implementing up-to-date images with automated EC2 Image Builder pipelines ](https://aws.amazon.com/blogs/compute/implementing-up-to-date-images-with-automated-ec2-image-builder-pipelines/)

 **Videos relacionados:** 
+ [AWS re:Inforce 2022 - Automating patch management and compliance using AWS](https://www.youtube.com/watch?v=gL3baXQJvc0)
+ [ All Things Patch: AWS Systems Manager \$1 AWS Events ](https://www.youtube.com/watch?v=PhIiVsCEBu8)

 **Ejemplos relacionados:** 
+ [ Inventory and Patch Management ](https://mng.workshop.aws/ssm/use-case-labs/inventory_patch_management.html)
+ [ One Observability Workshop ](https://catalog.workshops.aws/observability/en-US)

# PERF05-BP07 Revisión de las métricas a intervalos regulares
<a name="perf_process_culture_review_metrics"></a>

 Revise qué métricas se recopilan durante el mantenimiento rutinario o en respuesta a eventos o incidentes. Utilice estas revisiones para determinar qué métricas son esenciales para abordar los problemas y cuáles otras, en caso de que se les haga un seguimiento, podrían ayudar a identificar, abordar o prevenir problemas. 

 **Patrones comunes de uso no recomendados:** 
+  Permite que las métricas se mantengan en un estado de alarma durante un periodo de tiempo prolongado. 
+  Crea alarmas que un sistema de automatización no puede accionar. 

 **Beneficios de establecer esta práctica recomendada:** revise continuamente las métricas que se recopilan para verificar que puedan identificar, abordar o prevenir problemas correctamente. Las métricas también pueden quedarse obsoletas si deja que permanezcan en un estado de alarma durante mucho tiempo. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Mejore continuamente la recopilación y la supervisión de métricas. Como parte de la respuesta a incidentes o sucesos, evalúe qué métricas fueron útiles para abordar el problema y cuáles podrían haber ayudado, pero no se les da seguimiento actualmente. Utilice este método para mejorar la calidad de las métricas que recopila, de modo que pueda prevenir o resolver incidentes en el futuro con mayor rapidez. 

 Como parte de la respuesta a incidentes o sucesos, evalúe qué métricas fueron útiles para abordar el problema y cuáles podrían haber ayudado, pero no se les da seguimiento actualmente. Utilícelo para mejorar la calidad de la métrica que recopila, de modo que pueda prevenir o resolver más rápidamente incidentes futuros. 

### Pasos para la implementación
<a name="implementation-steps"></a>
+ **Definición de las métricas:** defina las métricas de rendimiento críticas para supervisar que estén adaptadas al objetivo de su carga de trabajo. Esto incluye métricas como el tiempo de respuesta y la utilización de los recursos.
+ **Establecimiento de bases de referencia:** establezca una base de referencia y el valor que desee para cada métrica. La base de referencia debe proporcionar puntos de referencia para identificar desviaciones o anomalías.
+ **Configuración de una cadencia:** establezca una cadencia (como semanal o mensual) para revisar las métricas críticas. 
+ **Identificación de los problemas de rendimiento:** durante cada revisión, evalúe las tendencias y la desviación de los valores de la base de referencia. Busque cualquier cuello de botella o anomalía en el rendimiento. Lleve a cabo un análisis exhaustivo de la causa raíz de los problemas identificados para conocer qué los provoca.
+ **Identificación de las acciones correctivas:** utilice su análisis para identificar las acciones correctivas. Entre dichas medidas se pueden incluir el ajuste de parámetros, la corrección de errores y el escalado de los recursos.
+ **Documentación de los resultados:** documente sus resultados, incluidos los problemas identificados, las causas raíz y las acciones correctivas.
+ **Iteración y mejora:** evalúe y mejore continuamente el proceso de revisión de las métricas. Aplique lo que ha aprendido de la revisión anterior para mejorar el proceso con el tiempo.

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

 **Documentos relacionados:** 
+  [Documentación de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Recopilación de métricas y registros de instancias de Amazon EC2 y en los servidores en las instalaciones con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+ [ Consulte sus métricas con Información de métricas de CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html)
+  [Socios de AWS Partner Network de supervisión, registro y rendimiento](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentación de X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Videos relacionados:** 
+  [AWS re:Invent 2022 - Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2023 - Take a load off: Diagnose & resolve performance issues with Amazon RDS ](https://www.youtube.com/watch?v=Ulj88e5Aqzg)

 **Ejemplos relacionados:** 
+  [Creación de un panel con Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+ [ CloudWatch Dashboards ](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US/300-cloudwatch/340-cloudwatch-dashboards)