

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

**Topics**
+ [PERF 1: ¿Cómo selecciona la arquitectura con el mejor rendimiento?](perf-01.md)
+ [PERF 2: ¿Cómo selecciona su solución de computación?](perf-02.md)
+ [PERF 3: ¿Cómo selecciona su solución de almacenamiento?](perf-03.md)
+ [PERF 4: ¿Cómo selecciona una solución de base de datos?](perf-04.md)
+ [PERF 5: ¿Cómo configura la solución de red?](perf-05.md)

# PERF 1: ¿Cómo selecciona la arquitectura con el mejor rendimiento?
<a name="perf-01"></a>

 A menudo, se requieren varios enfoques para obtener un rendimiento óptimo en una carga de trabajo. Los sistemas de buena arquitectura utilizan varias soluciones y características para mejorar el rendimiento. 

**Topics**
+ [PERF01-BP01 Comprender los servicios y recursos disponibles](perf_performing_architecture_evaluate_resources.md)
+ [PERF01-BP02 Definir un proceso para las opciones de arquitectura](perf_performing_architecture_process.md)
+ [PERF01-BP03 Tener en cuenta los requisitos de costes en las decisiones](perf_performing_architecture_cost.md)
+ [PERF01-BP04 Usar políticas o arquitecturas de referencia](perf_performing_architecture_use_policies.md)
+ [PERF01-BP05 Utilizar la orientación del proveedor de la nube o de un socio adecuado](perf_performing_architecture_external_guidance.md)
+ [PERF01-BP06 Realizar pruebas comparativas de las cargas de trabajo existentes](perf_performing_architecture_benchmark.md)
+ [PERF01-BP07 Realizar pruebas de la carga de trabajo](perf_performing_architecture_load_test.md)

# PERF01-BP01 Comprender los servicios y recursos disponibles
<a name="perf_performing_architecture_evaluate_resources"></a>

 Conozca y entienda la amplia gama de servicios y recursos disponibles en la nube. Identifique los servicios y opciones de configuración relevantes para su carga de trabajo y entienda cómo lograr un rendimiento óptimo. 

 Si está evaluando una carga de trabajo existente, debe generar un inventario de los distintos recursos de servicios que consume. Su inventario le ayuda a evaluar qué componentes se pueden sustituir por servicios administrados y tecnologías más nuevas. 

 **Patrones de uso no recomendados comunes:** 
+  Utiliza la nube como un centro de datos coubicado. 
+  Utiliza el almacenamiento compartido para todos los elementos que necesitan un almacenamiento persistente. 
+  No utiliza el escalado automático. 
+  Utiliza los tipos de instancia que más se acercan, pero más grandes cuando es necesario, a sus estándares actuales. 
+  Despliega y administra tecnologías que están disponibles como servicios administrados. 

 **Beneficios de establecer esta práctica recomendada:** Si tiene en cuenta los servicios con los que puede no estar familiarizado, podrá reducir en gran medida el coste de la infraestructura y el esfuerzo necesario para mantener los servicios. Puede acelerar su tiempo de comercialización mediante el despliegue de nuevos servicios y características. 

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

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

 Haga un inventario de su carga de trabajo de software y arquitectura para los servicios relacionados: realice un inventario de su carga de trabajo y decida qué categoría de productos debe conocer más. Identifique los componentes de la carga de trabajo que se pueden reemplazar por servicios administrados para aumentar el rendimiento y reducir la complejidad operativa. 

## 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 conocimientos de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (Presentación de Amazon Builders' Library) (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP02 Definir un proceso para las opciones de arquitectura
<a name="perf_performing_architecture_process"></a>

 Usar la experiencia y los conocimientos internos de la nube o usar recursos externos, como los casos de uso publicados, la documentación pertinente o los documentos técnicos para definir un proceso de selección de recursos y servicios. Debe definir un proceso que fomente la experimentación y la evaluación comparativa con los servicios que podrían utilizarse en su carga de trabajo. 

 Cuando escriba historias de usuario cruciales para su arquitectura, debe incluir requisitos de rendimiento, como especificar la velocidad a la que debe ejecutarse cada historia crucial. Para estas historias cruciales, debe implementar trayectos de usuario con scripts adicionales para asegurarse de tener visibilidad sobre cómo estas historias funcionan según sus requisitos. 

 **Patrones de uso no recomendados comunes:** 
+  Asume que su arquitectura actual será estática y no se actualizará con el tiempo. 
+  Se introducen cambios en la arquitectura a lo largo del tiempo sin justificación. 

 **Beneficios de establecer esta práctica recomendada:** Al tener un proceso definido para realizar cambios en la arquitectura, permite 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:** Alto 

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

 Seleccionar un enfoque arquitectónico: identifique el tipo de arquitectura que satisfaga sus requisitos de rendimiento. Identifique las restricciones como los medios de entrega (escritorio, web, móvil e IoT), los requisitos de legado y las integraciones. Identifique las oportunidades de reutilización, incluida la refactorización. Consulte a otros equipos, diagramas de arquitectura y los recursos como los arquitectos de soluciones de AWS, las arquitecturas de referencia de AWS y los socios de AWS para que le ayuden a elegir una arquitectura. 

 Definir los requisitos de rendimiento: utilice la experiencia del cliente para identificar las métricas más importantes. Para cada medida, identificar el objetivo, el enfoque de la medida y la prioridad. Defina la experiencia del cliente. Documentar la experiencia de rendimiento requerida por los clientes, incluyendo cómo los clientes juzgarán el rendimiento de la carga de trabajo. Priorice las preocupaciones de la experiencia para las historias de usuario cruciales. Incluya los requisitos de rendimiento e implemente viajes de usuarios con scripts para asegurarse de que sabe cómo se comportan las historias con respecto a sus requisitos. 

## 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/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP03 Tener en cuenta los requisitos de costes en las decisiones
<a name="perf_performing_architecture_cost"></a>

 Las cargas de trabajo suelen tener requisitos de coste para su funcionamiento. Utilizar los controles de costes internos para seleccionar los tipos y tamaños de recursos en función de las necesidades de recursos previstas. 

 Determine qué componentes de la carga de trabajo podrían sustituirse por servicios totalmente administrados, como bases de datos administradas, cachés en memoria y servicios ETL. La reducción de la carga de trabajo operativa le permite centrar los recursos en los resultados empresariales. 

 Para conocer las prácticas recomendadas en materia de requisitos de costes, consulte la sección de *Recursos rentables* del [documento técnico Pilar de optimización de costes](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html). 

 **Antipatrones usuales:** 
+  Solo utiliza una familia de instancias. 
+  No evalúa las soluciones con licencia frente a las de código abierto 
+  Solo utiliza el almacenamiento de bloques. 
+  Despliega software común en instancias de EC2 y Amazon EBS o volúmenes efímeros que están disponibles como servicio administrado. 

 **Beneficios de establecer esta práctica recomendada:** Tener en cuenta el coste a la hora de hacer sus selecciones le posibilitará otras inversiones. 

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

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

 Optimizar los componentes de la carga de trabajo para reducir los costes: dimensione correctamente los componentes de la carga de trabajo y permita la elasticidad para reducir el coste y maximizar la eficiencia de los componentes. Determine qué componentes de la carga de trabajo pueden sustituirse por servicios administrados cuando corresponda, como bases de datos administradas, cachés en memoria y proxies inversos. 

## 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 conocimientos de AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Ejemplos relacionados:** 
+  [Ejemplos de AWS](https://github.com/aws-samples) 
+  [Ejemplos de SDK de AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Redimensionamiento con Compute Optimizer y utilización de la memoria habilitada](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código de demostración de AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 Usar políticas o arquitecturas de referencia
<a name="perf_performing_architecture_use_policies"></a>

 Maximice el rendimiento y la eficiencia evaluando las políticas internas y las arquitecturas de referencia existentes y utilizando su análisis para seleccionar servicios y configuraciones para su carga de trabajo. 

 **Patrones de uso no recomendados comunes:** 
+  Permite un amplio uso de la selección tecnológica que puede repercutir en los gastos generales de gestión de su 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 permitirá tomar decisiones rápidamente. 

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

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

 Desplegar la carga de trabajo utilizando las políticas existentes o las arquitecturas de referencia: integre los servicios en su despliegue en la nube y, a continuación, utilice sus pruebas de rendimiento para asegurarse de que puede seguir cumpliendo sus requisitos de rendimiento. 

## 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/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP05 Utilizar la orientación del proveedor de la nube o de un socio adecuado
<a name="perf_performing_architecture_external_guidance"></a>

 Utilice los recursos de la empresa de la nube, como los arquitectos de soluciones, los servicios profesionales o un socio adecuado para orientar sus decisiones. Estos recursos pueden ayudar a revisar y mejorar su arquitectura para obtener un rendimiento óptimo. 

 Solicite ayuda a AWS cuando necesite orientación adicional o información sobre el producto. Los arquitectos de soluciones de AWS y [los servicios profesionales de AWS](https://aws.amazon.com/professional-services/) proporcionan orientación para la aplicación de la solución. [Los socios de AWS](https://aws.amazon.com/partners/) proporcionan conocimientos de AWS para ayudarle a desbloquear la agilidad y la innovación para su negocio. 

 **Antipatrones usuales:** 
+  Utiliza AWS como un proveedor de centro de datos común. 
+  Utiliza los servicios de AWS de una manera para la que no fueron diseñados. 

 **Beneficios de establecer esta práctica recomendada:** Consultar con su proveedor o con un socio le dará confianza en sus decisiones. 

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

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

 Recurra a los recursos de AWS para obtener ayuda: los arquitectos de soluciones y los servicios profesionales de AWS ofrecen orientación para la implementación de soluciones. Los socios de APN proporcionan conocimientos de AWS para ayudarle a desbloquear la agilidad y la innovación para su negocio. 

## 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/) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

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

# PERF01-BP06 Realizar pruebas comparativas de las cargas de trabajo existentes
<a name="perf_performing_architecture_benchmark"></a>

 Realice pruebas comparativas del rendimiento de una carga de trabajo existente para entender cómo se rinde en la nube. Utilice los datos recogidos de pruebas comparativas para impulsar las decisiones arquitectónicas. 

 Utilice la evaluación comparativa con pruebas sintéticas y la supervisión de usuarios reales para generar datos sobre el rendimiento de los componentes de su carga de trabajo. Los puntos de referencia son generalmente más rápidos de configurar que las pruebas de carga y se utilizan para evaluar la tecnología para un componente en particular. Los puntos de referencia suelen usarse al inicio de un proyecto nuevo, cuando se carece de una solución completa para la prueba de carga. 

 Puede diseñar sus propias pruebas de puntos de referencia personalizadas o bien, usar un estándar industrial, como [TPC-DS](http://www.tpc.org/tpcds/) para evaluar sus cargas de trabajo de almacenamiento de datos. Los puntos de referencia industriales son útiles cuando se comparan entornos. Los puntos de referencia personalizados son útiles para encontrar tipos específicos de operaciones que espera realizar en su arquitectura. 

 Con los puntos de referencia, es importante realizar los preparativos necesarios en su entorno de prueba para asegurarse de obtener resultados válidos. Ejecute el mismo punto de referencia muchas veces para asegurarse de detectar cualquier diferencia que haya podido surgir a lo largo del tiempo. 

 Debido a que los puntos de referencia generalmente se ejecutan más rápido que las pruebas de carga, pueden usarse antes en la canalización de implementación para entregar una retroalimentación sobre las desviaciones del rendimiento con más rapidez. Cuando evalúa un cambio significante en un componente o servicio, un punto de referencia puede ser un método rápido para ver si puede justificar el esfuerzo para hacer el cambio. El uso de la evaluación comparativa junto con las pruebas de carga es importante porque las pruebas de carga le informan sobre el rendimiento de su carga de trabajo en producción. 

 **Patrones de uso no recomendados comunes:** 
+  Se basa en puntos de referencia comunes que no son indicativos de las características de su carga de trabajo. 
+  Confía en las opiniones y percepciones de los clientes como único punto de referencia. 

 **Beneficios de establecer esta práctica recomendada:** El estudio comparativo de su aplicación actual le permite medir la mejora del rendimiento. 

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

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

 Supervisar el rendimiento durante el desarrollo: implemente procesos que proporcionen visibilidad sobre el rendimiento a medida que evolucione la carga de trabajo. 

 Integrar en su canalización de distribución: ejecute automáticamente las pruebas de carga en su canal de distribución. Compare los resultados de las pruebas con los indicadores clave de rendimiento (KPI) y los umbrales predefinidos para asegurarse de que sigue cumpliendo los requisitos de rendimiento. 

 Prueba de los viajes de usuarios: use versiones sintéticas o sanitizadas de datos de producción (elimine la información sensible o identificante) para las pruebas de carga. Implemente toda su arquitectura utilizando viajes de usuario reproducidos o preprogramados a través de su aplicación a escala. 

 Supervisión de usuarios reales: utilice CloudWatch RUM como ayuda para recopilar y visualizar datos del lado del cliente sobre el rendimiento de su aplicación. Utilice estos datos para ayudar a establecer sus puntos de referencia de rendimiento de los usuarios reales. 

## 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/) 
+  [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) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimizar aplicaciones a través de Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demostración de Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Ejemplos relacionados:** 
+  [Ejemplos de AWS](https://github.com/aws-samples) 
+  [Ejemplos de SDK de AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Pruebas de carga distribuida](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Mida el tiempo de carga de la página con 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 Realizar pruebas de la carga de trabajo
<a name="perf_performing_architecture_load_test"></a>

 Despliegue su arquitectura de carga de trabajo más reciente en la nube mediante diferentes tipos y tamaños de recursos. Supervise el despliegue para captar las métricas de rendimiento que identifiquen los cuellos de botella o el exceso de capacidad. Utilice esta información sobre el rendimiento para diseñar o mejorar su arquitectura y la selección de recursos. 

 Las pruebas de carga usan su carga de trabajo *real* para que pueda ver el rendimiento de la solución en un entorno de producción. Las pruebas de carga se deben ejecutar con versiones sintéticas o saneadas de datos de producción (elimine la información confidencial o de identificación). Utilice procesos de usuario reproducidos o preprogramados a través de su carga de trabajo a escala que ejerciten toda su arquitectura. Realice automáticamente pruebas de carga como parte de su canalización de entregas y compare los resultados con los KPI y los umbrales predefinidos. De esta forma se garantiza que siga alcanzando el rendimiento requerido. 

 **Patrones de uso no recomendados comunes:** 
+  Realiza pruebas de carga de partes individuales de su carga de trabajo, pero no de toda. 
+  Realiza pruebas de carga en una infraestructura que no es la misma que su entorno de producción. 
+  Solo realiza pruebas de carga hasta su carga prevista y no más allá, para ayudar a prever dónde puede tener problemas en el futuro. 
+  Realizar pruebas de carga sin informar a AWS Support y que su prueba no se supere ya que parece un evento de denegación de servicio. 

 **Beneficios de establecer esta práctica recomendada:** La medición de su rendimiento en una prueba de carga le mostrará dónde se verá afectado a medida que aumente la carga. Esto puede proporcionarle la capacidad de prever los cambios necesarios antes de que afecten a su 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>

 Valide su enfoque con pruebas de carga: realice pruebas de carga de una prueba de concepto para descubrir si cumple sus requisitos de rendimiento. Puede usar los servicios de AWS para ejecutar entornos a escala de producción y poner a prueba su arquitectura. Como solo paga por el entorno de prueba cuando es necesario, puede llevar a cabo pruebas a escala completa a una fracción del coste que tiene usar el entorno local. 

 Supervise las métricas: Amazon 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. 

 Realice pruebas a escala: las pruebas de carga usan su carga de trabajo real para que pueda ver el rendimiento de la solución en un entorno de producción. Puede usar los servicios de AWS para ejecutar entornos a escala de producción y poner a prueba su arquitectura. Como solo paga por el entorno de prueba cuando es necesario, puede ejecutar pruebas a escala completa con un coste menor que usar un entorno local. Aproveche Nube de AWS para probar su carga de trabajo y descubrir dónde no realiza el escalado o si desescala horizontalmente de manera no lineal. Por ejemplo, utilice Spot Instances para generar cargas a bajo costo y descubrir obstáculos antes que se experimenten en la producción 

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

 **Documentos relacionados:** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Building AWS CloudFormation Templates using CloudFormer (Creación de plantillas de AWS CloudFormation con CloudFormer)](https://aws.amazon.com/blogs/devops/building-aws-cloudformation-templates-using-cloudformer/) 
+  [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 distribuida en AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vídeos relacionados:** 
+  [Introducing The Amazon Builders’ Library (Presentación de Amazon Builders' Library) (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimize applications through Amazon CloudWatch RUM (Optimizar aplicaciones a través de Amazon CloudWatch RUM)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demostración de Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

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

# PERF 2: ¿Cómo selecciona su solución de computación?
<a name="perf-02"></a>

La solución de computación óptima para cada carga de trabajo depende del diseño de las aplicaciones, de los patrones de uso y de las opciones de configuración. Las arquitecturas pueden usar diferentes soluciones de informática para varios componentes y habilitar diferentes funciones que mejoren el rendimiento. Seleccione las soluciones de informática incorrectas para una arquitectura puede disminuir la eficiencia del rendimiento.

**Topics**
+ [PERF02-BP01 Evaluar las opciones de computación disponibles](perf_select_compute_evaluate_options.md)
+ [PERF02-BP02 Comprender las opciones de configuración informática disponibles](perf_select_compute_config_options.md)
+ [PERF02-BP03 Recopilar métricas relacionadas con la computación](perf_select_compute_collect_metrics.md)
+ [PERF02-BP04 Determinar la configuración necesaria mediante el redimensionamiento correcto](perf_select_compute_right_sizing.md)
+ [PERF02-BP05 Usar la elasticidad de recursos disponible](perf_select_compute_elasticity.md)
+ [PERF02-BP06 Evaluar constantemente las necesidades de computación según las métricas](perf_select_compute_use_metrics.md)

# PERF02-BP01 Evaluar las opciones de computación disponibles
<a name="perf_select_compute_evaluate_options"></a>

 Entienda cómo su carga de trabajo puede beneficiarse del uso de diferentes opciones de computación, como instancias, contenedores y funciones. 

 **Resultado deseado:** al conocer todas las opciones de computación disponibles, será consciente de las oportunidades de aumentar el rendimiento, reducir los costes de infraestructura innecesarios y disminuir el esfuerzo operativo necesario para mantener su carga de trabajo. También puede acelerar el tiempo de comercialización al desplegar nuevos servicios y características. 

 **Patrones de uso no recomendados comunes:** 
+  En una carga de trabajo posterior a la migración, se utiliza la misma solución de computación que se utilizaba localmente. 
+  Falta de conocimiento de las soluciones de computación en la nube y de cómo esas soluciones podrían mejorar su rendimiento de computación. 
+  Sobredimensionar una solución de computación existente para cumplir los requisitos de escalado o rendimiento, cuando una solución de computación alternativa se ajustaría a las características de su carga de trabajo con mayor precisión. 

 **Beneficios de establecer esta práctica recomendada:** Al identificar los requisitos de computación y evaluar las soluciones de computación disponibles, las partes interesadas de la empresa y los equipos de ingeniería comprenderán los beneficios y las limitaciones de utilizar la solución de computación seleccionada. La solución de computación seleccionada debe ajustarse a los criterios de rendimiento de la carga de trabajo. Los criterios clave incluyen 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. 

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

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

 Comprenda las soluciones de virtualización, creación de contenedores y administración que pueden beneficiar a su carga de trabajo y satisfacer sus requisitos de rendimiento. Una carga de trabajo puede contener varios tipos de soluciones de computación. Cada solución de computación tiene características diferentes. En función de los requisitos de escalado y computación de su carga de trabajo, se puede seleccionar y configurar una solución de computación que satisfaga sus necesidades. El arquitecto de la nube debe conocer las ventajas y desventajas de las instancias, los contenedores y las funciones. Los siguientes pasos le ayudarán a seleccionar su solución de computación para que se ajuste a las características de su carga de trabajo y a sus requisitos de rendimiento. 


|  **Tipo**  |  **Servidor**  |  **Contenedores**  |  **Función**  | 
| --- | --- | --- | --- | 
|  Servicio de AWS  |  Amazon Elastic Compute Cloud (Amazon EC2)  |  Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS)  |  AWS Lambda  | 
|  Características clave  |  Tiene una opción dedicada a los requisitos de licencia de hardware, opciones de ubicación y una gran selección de diferentes familias de instancias basadas en métricas de computación  |  Fácil despliegue, entornos coherentes, se ejecuta sobre instancias EC2, escalable  |  Tiempo de ejecución breve (15 minutos como máximo), la memoria y la CPU máximas no son tan elevadas como las de otros servicios, capa de hardware administrada, escala a millones de solicitudes simultáneas  | 
|  Casos de uso comunes  |  Migraciones mediante «lift-and-shift», aplicación monolítica, entornos híbridos, aplicaciones empresariales  |  Microservicios, entornos híbridos  |  Microservicios, aplicaciones basadas en eventos  | 

 

 **Pasos de implementación:** 

1.  Seleccione la ubicación de donde debe encontrarse la solución de computación mediante la evaluación de [PERF05-BP06 Elegir la ubicación de la carga de trabajo en función de los requisitos de la red](perf_select_network_location.md). Esta ubicación limitará los tipos de solución de computación a su disposición. 

1.  Identifique el tipo de solución de computación que funciona con el requisito de ubicación y los requisitos de la aplicación  

   1.  [https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/) Las instancias de servidor virtual se presentan en una amplia variedad de familias y tamaños diferentes. Ofrecen una amplia variedad de capacidades, incluidas unidades de estado sólido (SSD) y unidades de procesamiento gráfico (GPU). Las instancias EC2 ofrecen la mayor flexibilidad en la elección de instancias. Cuando lanza una instancia EC2, el tipo de instancia que especifique determina el hardware de su instancia. Cada tipo de instancia ofrece diferentes capacidades informáticas, de memoria y de almacenamiento. Los tipos de instancia se agrupan en familias de instancias basadas en dichas capacidades. Los casos de uso típicos incluyen: ejecución de aplicaciones empresariales, computación de alto rendimiento (HPC), entrenamiento y despliegue de aplicaciones de machine learning y ejecución de aplicaciones nativas en la nube. 

   1.  [https://aws.amazon.com/ecs/](https://aws.amazon.com/ecs/) es un servicio completamente administrado de orquestación de contenedores que le permite ejecutar y administrar automáticamente contenedores en un clúster de instancias EC2 o instancias sin servidor mediante AWS Fargate. Puede utilizar Amazon ECS con otros servicios como Amazon Route 53, Secrets Manager, AWS Identity and Access Management (IAM) y Amazon CloudWatch. Se recomienda Amazon ECS si su aplicación está en contenedores y su equipo de ingeniería prefiere los contenedores Docker. 

   1.  [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/) es un servicio Kubernetes completamente administrado. Puede optar por ejecutar sus clústeres EKS mediante AWS Fargate, lo que elimina la necesidad de aprovisionar y administrar servidores. La administración de Amazon EKS se simplifica gracias a las integraciones con servicios de AWS como Amazon CloudWatch, grupos de escalado automático, AWS Identity and Access Management (IAM) y Amazon Virtual Private Cloud (VPC). Al usar contenedores, debe utilizar las métricas de computación para seleccionar el tipo óptimo para su carga de trabajo, de forma similar a como utiliza las métricas de computación para seleccionar sus tipos de instancias EC2 o AWS Fargate. Se recomienda Amazon EKS si su aplicación está en contenedores y su equipo de ingeniería prefiere Kubernetes a los contenedores Docker. 

   1.  Puede usar [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/) para ejecutar el código que admite las opciones de tiempo de ejecución, memoria y CPU permitidas. Simplemente suba el código y AWS Lambda administrará todo lo necesario para ejecutar y escalar ese código. Puede configurar el código para que se desencadene automáticamente desde otros servicios de AWS o llamarlo directamente. Se recomienda Lambda para arquitecturas de microservicios de corta duración desarrolladas para la nube.  

1.  Una vez que haya experimentado con su nueva solución de computación, planifique su migración y valide sus métricas de rendimiento. Es un proceso continuo; consulte [PERF02-BP04 Determinar la configuración necesaria mediante el redimensionamiento correcto](perf_select_compute_right_sizing.md). 

 **Nivel de esfuerzo para el plan de implementación:** Si una carga de trabajo se desplaza de una solución de computación a otra, podría haber un nivel de esfuerzo *moderado* implicado en la refactorización de la aplicación.   

## 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 EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Control de los estados del procesador de la instancia EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Contenedores de EKS: nodos de trabajo de 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) 
+  [Recomendaciones de contenedores](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) 
+  [Recomendaciones de sistemas sin servidor](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) 

 **Vídeos relacionados:** 
+  [How to choose compute option for startups (Cómo elegir la opción de computación para las empresas emergentes)](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Optimize performance and cost for your AWS compute (Optimizar el rendimiento y el coste de la computación de AWS) (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations (Fundamentos de Amazon EC2) (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system (Impulso de Amazon EC2 de nueva generación: profundización en el sistema Nitro) ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Deliver high performance ML inference with AWS Inferentia (Ofrecer inferencia de ML de alto rendimiento con AWS Inferentia) (CMP324-R1) ](https://www.youtube.com/watch?v=17r1EapAxpk&ref=wellarchitected) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (Computación mejor, más rápida y más barata: Optimización de costes de Amazon EC2) (CMP202-R1) ](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **Ejemplos relacionados:** 
+  [Migración de la aplicación web a contenedores](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Ejecutar un programa «Hello, World\$1» sin servidor](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 Comprender las opciones de configuración informática disponibles
<a name="perf_select_compute_config_options"></a>

 Cada solución de computación tiene opciones y configuraciones disponibles para admitir las características de su carga de trabajo. Obtenga información sobre cómo complementan su carga de trabajo las diversas opciones y qué opciones de configuración son mejores para su aplicación. Algunos ejemplos de estas opciones son la familia de instancias, los tamaños, las características (GPU, E/S), la ampliación, los tiempos de espera, los tamaños de función, las instancias de contenedor y la simultaneidad. 

 **Resultado deseado:** las características de la carga de trabajo, como la CPU, la memoria, el rendimiento de la red, la GPU, las IOPS, los patrones de tráfico y los patrones de acceso a los datos, se documentan y se utilizan para configurar la solución de computación de forma que se ajuste a las características de la carga de trabajo. Cada una de estas métricas, además de las específicas de su carga de trabajo, se registran, se supervisan y, a continuación, se utilizan para optimizar la configuración de la computación para satisfacer mejor los requisitos. 

 **Patrones de uso no recomendados comunes:** 
+  Se utiliza la misma solución de computación que se utilizaba localmente. 
+  No revisar las opciones de computación o la familia de instancias para que se ajusten a las características de la carga de trabajo. 
+  Sobredimensionamiento de la computación para garantizar la capacidad de ampliación. 
+  Utiliza varias plataformas de administración de la computación para la misma carga de trabajo. 

** Beneficios de establecer esta práctica recomendada:** Familiarícese con las ofertas de computación de AWS para poder determinar la solución correcta para cada una de sus cargas de trabajo. Después de haber seleccionado las ofertas de computación para su carga de trabajo, puede experimentar rápidamente con ellas para determinar lo bien que satisfacen sus necesidades de carga de trabajo. Una solución de computación optimizada para satisfacer las características de su carga de trabajo aumentará su rendimiento, reducirá su coste y aumentará su fiabilidad.

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

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

 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 ofrecerle una recomendación basada en sus características de computación. Si AWS Compute Optimizer no es posible debido a la falta de métricas, [un tipo de instancia no admitido](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances) o un cambio previsible en sus características, debe entonces predecir sus métricas a partir de pruebas de carga y experimentación.  

 **Pasos de implementación:** 

1.  ¿Realiza la ejecución en instancias EC2 o contenedores con el tipo de lanzamiento EC2? 

   1.  ¿Su carga de trabajo puede utilizar las GPU para aumentar el rendimiento? 

      1.  [Las instancias de computación acelerada](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Accelerated_Computing) son instancias basadas en GPU que proporcionan el mayor rendimiento para el entrenamiento de machine learning, la inferencia y la computación de alto rendimiento. 

   1.  ¿Su carga de trabajo ejecuta aplicaciones de inferencia de machine learning? 

      1.  [AWS Inferentia (Inf1):](https://aws.amazon.com/ec2/instance-types/inf1/) las instancias Inf1 se crean para admitir aplicaciones de inferencia de machine learning. Con las instancias Inf1, los clientes pueden ejecutar aplicaciones de inferencia de machine learning a gran escala, como el reconocimiento de imágenes, reconocimiento de voz, procesamiento de lenguaje natural, personalización y detección de fraude. Puede crear un modelo en uno de los marcos populares de machine learning, como TensorFlow, PyTorch o MXNet y utilizar instancias de GPU, para entrenar su modelo. Después de que su modelo de machine learning se haya entrenado para satisfacer sus necesidades, puede desplegar el modelo en instancias Inf1 mediante [AWS Neuron](https://aws.amazon.com/machine-learning/neuron/), un kit de desarrollo de software (SDK) especializado que consiste en un compilador, un módulo de tiempo de ejecución y herramientas de perfilado que optimizan el rendimiento de la inferencia de machine learning de los chips Inferentia. 

   1.  ¿Su carga de trabajo se integra con el hardware de bajo nivel para mejorar el rendimiento?  

      1.  [Matrices de puertas programables en campo (FPGA):](https://aws.amazon.com/ec2/instance-types/f1/) con FPGA, puede optimizar las cargas de trabajo mediante la ejecución personalizada y acelerada por hardware de las cargas de trabajo más exigentes. Puede definir sus algoritmos utilizando lenguajes de programación generales compatibles como C o Go, o bien lenguajes orientados a hardware como Verilog o VHDL. 

   1.  ¿Tiene al menos cuatro semanas de métricas y puede predecir que su patrón de tráfico y sus métricas se mantendrán más o menos igual en el futuro? 

      1.  Uso [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para obtener una recomendación de machine learning sobre qué configuración de computación se ajusta mejor a sus características de computación. 

   1.  ¿El rendimiento de su carga de trabajo está limitado por las métricas de CPU?  

      1.  [Las instancias optimizadas para la computación](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Compute_Optimized) son ideales para las cargas de trabajo que requieren procesadores de alto rendimiento.  

   1.  ¿El rendimiento de su carga de trabajo está limitado por las métricas de memoria?  

      1.  [Las instancias optimizadas para memoria](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Memory_Optimized) ofrecen grandes cantidades de memoria para admitir cargas de trabajo que hacen un uso intensivo de la memoria. 

   1.  ¿El rendimiento de su carga de trabajo está limitado por IOPS? 

      1.  [Las instancias optimizadas para almacenamiento](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Storage_Optimized) están diseñadas para cargas de trabajo que requieren un alto acceso secuencial de lectura y escritura (IOPS) al almacenamiento local. 

   1.  ¿Las características de su carga de trabajo representan una necesidad equilibrada en todas las métricas? 

      1.  ¿La CPU de su carga de trabajo necesita ampliares para hacer frente a los picos de tráfico? 

         1.  [Las instancias de rendimiento ampliable](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Instance_Features) son similares a las instancias optimizadas para computación, salvo que ofrecen la posibilidad de ampliar la base de referencia de CPU fija identificada en una instancia optimizada para la computación. 

      1.  [Las instancias de uso general](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#General_Purpose) proporcionan un equilibrio de todas las características para admitir diversas cargas de trabajo. 

   1.  ¿Su instancia de computación se ejecuta en Linux y está limitada por el rendimiento de la red en la tarjeta de interfaz de red? 

      1.  Efectúe la revisión. [la pregunta de rendimiento 5, práctica recomendada 2: Evaluar las características de las redes disponibles](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/network-architecture-selection.html) para encontrar el tipo y la familia de instancias adecuados para satisfacer sus necesidades de rendimiento. 

   1.  ¿Su carga de trabajo necesita instancias coherentes y predecibles en una zona de disponibilidad específica a la que pueda comprometerse durante un año?  

      1.  [Instancias reservadas](https://aws.amazon.com/ec2/pricing/reserved-instances/) confirma las reservas de capacidad en una zona de disponibilidad específica. Las instancias reservadas son ideales para la potencia de computación requerida en una zona de disponibilidad específica.  

   1.  ¿Su carga de trabajo tiene licencias que requieren un hardware dedicado? 

      1.  [Hosts dedicados](https://aws.amazon.com/ec2/dedicated-hosts/) admiten las licencias de software existentes y le ayudan a cumplir los requisitos de cumplimiento. 

   1.  ¿Su solución de computación se amplía y requiere un procesamiento síncrono? 

      1.  [Las instancias bajo demanda](https://aws.amazon.com/ec2/pricing/on-demand/) le permiten utilizar la capacidad de computación por horas o por segundos sin compromiso a largo plazo. Estas instancias son adecuadas para la ampliación por encima de las necesidades de la base de referencia de rendimiento. 

   1.  ¿Su solución de computación no tiene estado, tiene tolerancia a los errores y es asíncrona?  

      1.  [Instancias de spot](https://aws.amazon.com/ec2/spot/) le permiten aprovechar la capacidad de instancia no utilizada para sus cargas de trabajo sin estado y tolerantes a errores.  

1.  ¿Ejecuta contenedores en [Fargate](https://aws.amazon.com/fargate/)? 

   1.  ¿El rendimiento de su tarea está limitado por la memoria o la CPU? 

      1.  Use el [tamaño de tarea](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-tasksize.html) para ajustar su memoria o CPU. 

   1.  ¿Se está viendo afectado su rendimiento por las ampliaciones de los patrones de tráfico? 

      1.  Use la configuración de [Auto Scaling](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html) para establecer la correspondencia con los patrones de tráfico. 

1.  ¿Su solución de computación está en [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html)? 

   1.  ¿Tiene al menos cuatro semanas de métricas y puede predecir que su patrón de tráfico y sus métricas se mantendrán más o menos igual en el futuro? 

      1.  Uso [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) para obtener una recomendación de machine learning sobre qué configuración de computación se ajusta mejor a sus características de computación. 

   1.  ¿No tiene suficientes métricas para utilizar AWS Compute Optimizer? 

      1.  Si no tiene métricas disponibles para usar Compute Optimizer, utilice [Ajuste de potencia de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) para seleccionar la mejor configuración. 

   1.  ¿El rendimiento de su función está limitado por la memoria o la CPU? 

      1.  Configure su [memoria de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) para cumplir las métricas de necesidades de rendimiento. 

   1.  ¿Se agota el tiempo de ejecución de su función al ejecutarse? 

      1.  Cambie la [configuración de tiempo de espera](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) 

   1.  ¿El rendimiento de sus funciones está limitado por las ampliaciones de actividad y la simultaneidad?  

      1.  Configure las [opciones de simultaneidad](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) para cumplir los requisitos de rendimiento. 

   1.  ¿Su función se ejecuta de forma asíncrona y se producen errores en los reintentos? 

      1.  Configure la duración máxima del evento y el límite máximo de reintentos en las opciones [de configuración asíncrona](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) . 

## Nivel de esfuerzo para el plan de implementación: 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-compute-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-compute-option-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Para establecer esta práctica recomendada, debe conocer sus características y métricas de computación actuales. Reunir esas métricas, establecer una línea de referencia y luego usar esas métricas para identificar la opción de computación ideal es un nivel de esfuerzo de *bajo* to *moderado* . La mejor forma de validarlo es mediante pruebas de carga y experimentación. 

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

 **Documentos relacionados:** 
+  [Computación en la nube con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Tipos de instancias EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Control de los estados del procesador de la instancia EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Contenedores de EKS: nodos de trabajo de 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) 

 **Vídeos relacionados:** 
+  [Amazon EC2 foundations (Fundamentos de Amazon EC2) (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system (Impulso de Amazon EC2 de nueva generación: profundización en el sistema Nitro) ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Optimize performance and cost for your AWS compute (Optimizar el rendimiento y el coste de la computación de AWS) (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Ejemplos relacionados:** 
+  [Redimensionamiento con Compute Optimizer y utilización de la memoria habilitada](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Código de demostración de AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

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

Para entender el rendimiento de sus recursos de computación, debe registrar y hacer un seguimiento de la utilización de varios sistemas. Estos datos pueden utilizarse para determinar con mayor precisión las requisitos de recursos.  

 Las cargas de trabajo pueden generar grandes volúmenes de datos como métricas, registros y eventos. Determine si su actual servicio de almacenamiento, supervisión y observabilidad puede administrar los datos generados. Identifique qué métricas reflejan la utilización de los recursos y pueden recopilarse, agregarse y correlacionarse en una única plataforma. Esas métricas deben representar todos sus recursos de carga de trabajo, aplicaciones y servicios, para que pueda obtener fácilmente una visibilidad de todo el sistema e identificar rápidamente las oportunidades y los problemas de mejora del rendimiento.

 **Resultado deseado:** todas las métricas relacionadas con los recursos relacionados con la computación se identifican, recopilan, agregan y correlacionan en una única plataforma con retención implementada para respaldar los costes y los objetivos operativos. 

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

 

 **Beneficios de establecer esta práctica recomendada:** para supervisar el rendimiento de las cargas de trabajo, debe registrar múltiples métricas de rendimiento durante un período de tiempo. Estas métricas le permiten detectar anomalías en el rendimiento. También le ayudarán a medir el rendimiento con respecto a las métricas empresariales para asegurarse de que satisface sus necesidades de 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>

 Identifique, recopile, agregue y correlacione las métricas relacionadas con la computación. El uso de un servicio como Amazon CloudWatch, puede acelerar la implementación y facilitar su mantenimiento. Además de las métricas predeterminadas registradas, identifique y haga un seguimiento de las métricas adicionales en el nivel del sistema en su carga de trabajo. Registre datos como las métricas de utilización de la CPU, memoria, E/S del disco y red para conocer los niveles de utilización y los cuellos de botella. Estos datos son cruciales para entender el rendimiento de la carga de trabajo y cómo se utiliza la solución de computación. Utilice estas métricas como parte de un enfoque basado en datos para ajustar y optimizar activamente los recursos de su carga de trabajo.  

 **Pasos de implementación:** 

1.  ¿Qué métricas de solución de computación son importantes para hacer un seguimiento? 

   1.  [Métricas predeterminadas de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 

   1.  [Métricas predeterminadas de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 

   1.  [Métricas predeterminadas de EKS](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 

   1.  [Métricas predeterminadas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 

   1.  [Métricas de memoria y disco de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  ¿Dispongo actualmente de una solución de registro y supervisión aprobada? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 

   1.  [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/) 

   1.  [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 

1.  ¿He identificado y configurado mis políticas de retención de datos para que se ajusten a mis objetivos de seguridad y operativos? 

   1.  [Retención de datos predeterminada para métricas de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Retención de datos predeterminada para CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

1.  ¿Cómo despliega sus agentes de agregación de métricas y registros? 

   1.  [Automatización de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 

   1.  [OpenTelemetry Collector](https://aws-otel.github.io/docs/getting-started/collector) 

 **Nivel de esfuerzo para el plan de implementación: **hay un nivel *medio* de esfuerzo para identificar, hacer un seguimiento, recopilar, agregar y correlacionar las métricas de todos los recursos de computación. 

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

 **Documentos relacionados:** 
+  [Documentación de Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [Recopilación de métricas y registros de instancias Amazon EC2 y en los servidores locales con el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Acceso a Amazon CloudWatch Logs para AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Uso de CloudWatch Logs con instancias de contenedor](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [Publique métricas personalizadas](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) 
+  [Supervisión de Amazon EKS en AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 

 **Vídeos relacionados:** 
+  [Application Performance Management on AWS (Administración del rendimiento de las aplicaciones en AWS)](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Diseñe un plan de monitoreo](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **Ejemplos relacionados:** 
+  [Nivel 100: supervisión con paneles de CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Nivel 100: supervisión de una instancia EC2 de Windows con paneles de CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Nivel 100: supervisión de una instancia EC2 de Amazon Linux con paneles de CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 Determinar la configuración necesaria mediante el redimensionamiento correcto
<a name="perf_select_compute_right_sizing"></a>

Analice las distintas características de rendimiento de su carga de trabajo y la relación que tienen con el uso de memoria, redes, E/S y CPU. Use estos datos para elegir recursos que encajen bien con el perfil de su carga de trabajo. Por ejemplo, una carga de trabajo con un uso intensivo de memoria, como una base de datos, podría beneficiarse de una mayor proporción de memoria por núcleo. Sin embargo, una carga de trabajo con uso intensivo de computación podría necesitar un mayor número de núcleos y frecuencia, pero puede satisfacerse con una menor cantidad de memoria por núcleo.

 **Antipatrones usuales:** 
+  Se elige una instancia con los valores más altos de todas las características de rendimiento disponibles para todas las cargas de trabajo. 
+  Se estandarizan todos los tipos de instancias a un tipo para facilitar la administración. 
+  Se optimiza a partir de indicadores de referencia sintéticos estándar sin validar los requisitos reales de una carga de trabajo concreta. 
+  Mantiene la misma infraestructura durante un largo periodo sin reevaluar ni integrar nuevas ofertas. 

 **Beneficios de establecer esta práctica recomendada:** cuando esté familiarizado con los requisitos de su carga de trabajo, podrá comparar estas necesidades con las ofertas de computación disponibles y experimentar rápidamente para determinar cuáles satisfacen las necesidades de su carga de trabajo con mayor eficacia. Esto permite obtener un rendimiento óptimo sin pagar de más por recursos que no se requieren. 

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

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

Modifique la configuración de su carga de trabajo mediante el redimensionamiento correcto. Para optimizar el rendimiento, la eficiencia general y la rentabilidad, determine primero qué recursos necesita su carga de trabajo. Elija instancias optimizadas para memoria, como la familia de instancias R, para cargas de trabajo de uso intensivo de memoria como una base de datos. Para cargas de trabajo que requieren una mayor capacidad de cálculo, elija la familia de instancias C o instancias con un mayor número de núcleos o una mayor frecuencia de núcleos. Elija el rendimiento de E/S en función de las necesidades de su carga de trabajo, en lugar de compararlo con puntos de referencia sintéticos. Para obtener un mayor rendimiento de E/S, elija instancias de la familia de instancias I, [seleccione volúmenes optimizados E/S de Amazon EBS](https://aws.amazon.com/premiumsupport/knowledge-center/optimize-ebs-provisioned-iops/) o elija instancias con el [almacén de instancias](https://aws.amazon.com/premiumsupport/knowledge-center/instance-store-vs-ebs/). Para obtener más información sobre tipos de instancia concretos, consulte los [tipos de instancia Amazon EC2](https://aws.amazon.com/ec2/instance-types/).

 El redimensionamiento correcto verifica que las cargas de trabajo rindan al máximo sin pagar de más por recursos que no necesita. 

 **Pasos para la implementación** 
+  Conozca su carga de trabajo o analice sus necesidades de recursos. 
+  Evalúe las cargas de trabajo por separado. Nube de AWS le ofrece flexibilidad y agilidad para ajustar el tamaño de cada carga de trabajo por sí sola sin necesidad de hacer concesiones. 
+  Cree entornos de prueba para encontrar la mejor combinación de ofertas de computación para su carga de trabajo. 
+  Reevalúe continuamente las nuevas ofertas de computación y compárelas con las necesidades de su carga de trabajo. 
+  Revise con frecuencia las nuevas ofertas de servicios para obtener mejores precios. 
+  Complete revisiones periódicas de Well-Architected Framework. 

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

 **Prácticas recomendadas relacionadas:** 
+  [PERF02-BP03 Recopilar métricas relacionadas con la computación](perf_select_compute_collect_metrics.md) 
+  [PERF02-BP06 Evaluar constantemente las necesidades de computación según las métricas](perf_select_compute_use_metrics.md) 

 **Documentos relacionados:** 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)  
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/) (Computación en la nube con AWS) 
+  [Amazon EC2 Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) (Tipos de instancias Amazon EC2) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) (Contenedores: instancias de contenedor de Amazon ECS) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) (Contenedores: nodos de trabajo de Amazon EKS) 
+  [Functions: Lambda Function Configuration](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) (Funciones: configuración de funciones de Lambda) 

 **Vídeos relacionados: ** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) (Fundamentos de Amazon EC2) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) (Computación mejor, más rápida y más barata: Optimización de costes de Amazon EC2) (CMP202-R1) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) (Realice inferencias ML de alto rendimiento con AWS) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) (Optimice el rendimiento y coste de su computación con AWS) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) (Impulso de Amazon EC2 de nueva generación: profundización en el sistema Nitro) 
+  [How to choose compute option for startups](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) (Cómo elegir la opción de computación para las empresas emergentes) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) (Optimice el rendimiento y coste de su computación con AWS) 

 **Ejemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) (Redimensionamiento correcto con Compute Optimizer y utilización de memoria habilitada) 
+  [AWS Compute Optimizer Demo code](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) (Código de demostración de AWS Compute Optimizer) 

# PERF02-BP05 Usar la elasticidad de recursos disponible
<a name="perf_select_compute_elasticity"></a>

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

 **Antipatrones usuales:** 
+  Se sobreaprovisiona para cubrir posibles picos. 
+  Reacciona a las alarmas aumentando manualmente la capacidad. 
+  Aumenta la capacidad sin tener en cuenta el tiempo de aprovisionamiento. 
+  Deja la capacidad aumentada después de un evento de ajuste de escala en lugar de volver a desescalar verticalmente. 
+  Supervisa parámetros que no reflejan directamente los verdaderos requisitos de sus cargas de trabajo. 

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

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

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

La automatización basada en métricas debe utilizarse para aprovechar la elasticidad con el objetivo de que la oferta de recursos con la que dispone coincida con la demanda de los recursos que requiere su carga de trabajo. Por ejemplo, puede utilizar las [métricas de Amazon CloudWatch para supervisar sus recursos](https://aws.amazon.com/startups/start-building/how-to-monitor-resources/) o utilizar las métricas de Amazon CloudWatch para sus grupos de Auto Scaling.

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

 Las instancias, los contenedores y las funciones proporcionan mecanismos de elasticidad, ya sea como una característica del servicio, en la forma de [Application Auto Scaling](https://aws.amazon.com/autoscaling/) o en combinación con [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). Aproveche la elasticidad de su arquitectura para asegurarse de tener suficiente capacidad para atender los requisitos de rendimiento en una amplia variedad de escalas de uso. 

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

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

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

 **Pasos para la implementación** 
+  Aproveche los datos históricos para analizar las demandas de recursos de su carga de trabajo a lo largo del tiempo. Haga preguntas concretas como: 
  +  ¿Su carga de trabajo es constante y aumenta con el tiempo a un ritmo conocido? 
  +  ¿Su carga de trabajo aumenta y disminuye según patrones estacionales y repetibles? 
  +  ¿Tiene picos su carga de trabajo? ¿Se pueden anticipar o predecir los picos? 
+  Aproveche al máximo los servicios de supervisión y los datos históricos. 
+  Etiquetar los recursos puede ayudar a la supervisión. Al utilizar etiquetas, consulte las [prácticas recomendadas de etiquetado](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html). Además, [las etiquetas pueden ayudarle a administrar, identificar y organizar recursos](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). 
+  Con AWS, puede usar varios enfoques diferentes para hacer que la oferta coincida con la demanda. Las prácticas recomendadas del Pilar de optimización de costes ([COST09-BP01 a COST09-03](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/manage-demand-and-supply-resources.html)) describen cómo utilizar los siguientes enfoques de costes: 
  + [ COST09-BP01 Realizar un análisis de la demanda de la carga de trabajo ](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_cost_analysis.html)
  + [ COST09-BP02 Realizar un análisis de la demanda de la carga de trabajo ](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_buffer_throttle.html)
  + [COST09-BP03 Aprovisionar recursos de forma dinámica](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_dynamic.html)
+  Cree escenarios de prueba para eventos de desescalado vertical para verificar que la carga de trabajo se comporte como se espera. 
+  La mayoría de las instancias que no son de producción deben detenerse cuando no se utilizan. 
+  Para las necesidades de almacenamiento al utilizar Amazon Elastic Block Store (Amazon EBS), aproveche la [elasticidad basada en el volumen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html). 
+  Para [Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/ec2/), considere utilizar [grupos de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html), que le permiten optimizar el rendimiento y el coste al aumentar automáticamente el número de instancias de computación durante los picos de demanda y reducir la capacidad cuando la demanda disminuye. 

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

 **Prácticas recomendadas relacionadas:** 
+  [PERF02-BP03 Recopilar métricas relacionadas con la computación](perf_select_compute_collect_metrics.md) 
+  [PERF02-BP04 Determinar la configuración necesaria mediante el redimensionamiento correcto](perf_select_compute_right_sizing.md) 
+  [PERF02-BP06 Evaluar constantemente las necesidades de computación según las métricas](perf_select_compute_use_metrics.md) 

 **Documentos relacionados:** 
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/) (Computación en la nube con AWS) 
+  [Amazon EC2 Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) (Tipos de instancias Amazon EC2) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) (Contenedores: instancias de contenedor de Amazon ECS) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) (Contenedores: nodos de trabajo de Amazon EKS) 
+  [Functions: Lambda Function Configuration](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) (Funciones: configuración de funciones de Lambda) 

 **Vídeos relacionados: ** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) (Fundamentos de Amazon EC2) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) (Computación mejor, más rápida y más barata: Optimización de costes de Amazon EC2) (CMP202-R1) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) (Realice inferencias ML de alto rendimiento con AWS) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) (Optimice el rendimiento y coste de su computación con AWS) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) (Impulso de Amazon EC2 de nueva generación: profundización en el sistema Nitro) 

 **Ejemplos relacionados:** 
+  [Ejemplos de grupos de Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Tutoriales de Amazon EFS](https://github.com/aws-samples/amazon-efs-tutorial) 

# PERF02-BP06 Evaluar constantemente las necesidades de computación según las métricas
<a name="perf_select_compute_use_metrics"></a>

Utilice un enfoque basado en datos para evaluar y optimizar continuamente los recursos de computación para su carga de trabajo a lo largo del tiempo.

 **Resultado deseado:** use métricas en el nivel del sistema para supervisar activamente el comportamiento y los requisitos de su carga de trabajo a lo largo del tiempo. Evalúe las demandas de su carga de trabajo frente a los recursos disponibles basándose en los datos recopilados y realice cambios en su entorno de computación para adaptarlo mejor al perfil de su carga de trabajo. Por ejemplo, podría observar que, con el tiempo, una carga de trabajo exige más memoria que la especificada inicialmente, por lo que pasar a una familia o tamaño de instancia diferente podría mejorar tanto el rendimiento como la eficiencia. 

 **Antipatrones usuales:** 
+  Supervisión de las métricas en el nivel de sistema para conocer mejor la carga de trabajo y no reevaluar las necesidades de computación. 
+  Diseña sus necesidades de computación para los requisitos de carga de trabajo máxima. 
+  Sobredimensiona la solución de computación existente para cumplir los requisitos de escalado o rendimiento cuando el cambio a una solución de computación alternativa se adaptaría mejor a las características de su carga de trabajo. 

 **Beneficios de establecer esta práctica recomendada:** recursos de computación optimizados basados en datos de la vida real y el equilibrio deseado entre coste y rendimiento. 

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

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

Utilice un enfoque basado en datos para optimizar los recursos de computación en función del comportamiento observado de la carga de trabajo. Para lograr el máximo rendimiento y eficiencia, utilice los datos obtenidos a lo largo del tiempo de su carga de trabajo para ajustar y optimizar continuamente sus recursos. Observe la cantidad de recursos actuales que tiende a usar su carga de trabajo y determine dónde puede hacer cambios para ajustarlos mejor a las necesidades de su carga de trabajo. Cuando se comprometen demasiados recursos, el rendimiento del sistema se degrada, y cuando los recursos no se utilizan adecuadamente, el sistema funciona de forma menos eficiente y con un coste más elevado. 

 Para optimizar el rendimiento y la utilización de los recursos, se necesita una visión operativa unificada, datos granulares en tiempo real y una referencia histórica. Puede crear paneles automáticos para visualizar estos datos y obtener información operativa y de utilización. 

 **Pasos para la implementación** 

1.  Recopile métricas relacionadas con la computación a lo largo del tiempo. 

1.  Compare las métricas de la carga de trabajo con los recursos disponibles en la solución de computación seleccionada. 

1.  Determine los cambios de configuración necesarios adaptando la solución existente o evaluando la solución de computación alternativa. 

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

 **Prácticas recomendadas relacionadas:** 
+  [PERF02-BP01 Evaluar las opciones de computación disponibles](perf_select_compute_evaluate_options.md) 
+  [PERF02-BP02 Comprender las opciones de configuración informática disponibles](perf_select_compute_config_options.md) 
+  [PERF02-BP03 Recopilar métricas relacionadas con la computación](perf_select_compute_collect_metrics.md) 
+  [PERF02-BP04 Determinar la configuración necesaria mediante el redimensionamiento correcto](perf_select_compute_right_sizing.md) 

 **Documentos relacionados:** 
+  [Cloud Compute with AWS](https://aws.amazon.com/products/compute/?ref=wellarchitected) (Computación en la nube con AWS) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [EC2 Instance Types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) (Tipos de instancias EC2) 
+  [Amazon ECS Containers: Amazon ECS Container Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) (Contenedores: instancias de contenedor de Amazon ECS) 
+  [Amazon EKS Containers: Amazon EKS Worker Nodes](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) (Contenedores: nodos de trabajo de Amazon EKS) 
+ [ Best practices for working with AWS Lambda functions ](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration)(Prácticas recomendadas para trabajar con funciones de AWS Lambda)

 **Vídeos relacionados: ** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) (Fundamentos de Amazon EC2) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) (Computación mejor, más rápida y más barata: Optimización de costes de Amazon EC2) (CMP202-R1) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) (Realice inferencias ML de alto rendimiento con AWS) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) (Optimice el rendimiento y coste de su computación con AWS) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) (Impulso de Amazon EC2 de nueva generación: profundización en el sistema Nitro) 
+ [ Selecting and optimizing Amazon EC2 instances](https://www.youtube.com/watch?v=Vz0HZ6hlpgM) (Selección y optimización de instancias Amazon EC2) 

 **Ejemplos relacionados:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) (Redimensionamiento correcto con Compute Optimizer y utilización de memoria habilitada) 
+  [AWS Compute Optimizer Demo code](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) (Código de demostración de AWS Compute Optimizer) 

# PERF 3: ¿Cómo selecciona su solución de almacenamiento?
<a name="perf-03"></a>

 La solución de almacenamiento óptima para un sistema varía según el tipo de método de acceso (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ámico), y restricciones de disponibilidad y durabilidad. Los sistemas Well-Architected utilizan varias soluciones de almacenamiento y habilitan diferentes características para mejorar el rendimiento y utilizar los recursos de manera eficiente. 

**Topics**
+ [PERF03-BP01 Comprender las características y los requisitos de almacenamiento](perf_right_storage_solution_understand_char.md)
+ [PERF03-BP02 Evaluar las opciones de configuración disponibles](perf_right_storage_solution_evaluated_options.md)
+ [PERF03-BP03 Tomar decisiones según las métricas y los patrones de acceso](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 Comprender las características y los requisitos de almacenamiento
<a name="perf_right_storage_solution_understand_char"></a>

 Identifique y documente las necesidades de almacenamiento de la carga de trabajo y defina las características de almacenamiento de cada ubicación. Ejemplos de características de almacenamiento: acceso compartible, tamaño de los archivos, tasa de crecimiento, rendimiento, operaciones de entrada/salida por segundo (IOPS), latencia, patrones de acceso y persistencia de los datos. Utilice estas características para evaluar si los servicios de almacenamiento de bloques, archivos, objetos o instancias son la solución más eficiente para sus necesidades de almacenamiento. 

 **Resultado deseado:** Identificar y documentar los requisitos de almacenamiento por necesidad y evaluar las soluciones de almacenamiento disponibles. Basándose en las características clave del almacenamiento, su equipo entenderá cómo los servicios de almacenamiento seleccionados beneficiarán el rendimiento de su carga de trabajo. Los criterios clave incluyen los patrones de acceso a los datos, la tasa de crecimiento, las necesidades de escalado y los requisitos de latencia. 

 **Patrones comunes de uso no recomendados:** 
+  Solo utiliza un tipo de almacenamiento, como por ejemplo Amazon Elastic Block Store (Amazon EBS), para todas las cargas de trabajo. 
+  Supone que todas las cargas de trabajo tienen requisitos de rendimiento de acceso al almacenamiento similares. 

 **Beneficios de establecer esta práctica recomendada:** La selección de la solución de almacenamiento en función de las características identificadas y requeridas ayudará a mejorar el rendimiento de las cargas de trabajo, a disminuir los costes y a reducir los esfuerzos operativos a la hora de mantener la carga de trabajo. El rendimiento de su carga de trabajo se beneficiará de la solución, la configuración y la ubicación del servicio de almacenamiento. 

 **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 métricas de rendimiento de almacenamiento más importantes de su carga de trabajo e implemente mejoras como parte de un enfoque basado en datos, utilizando el análisis comparativo o las pruebas de carga. Utilice estos datos para identificar dónde está limitada su solución de almacenamiento y examine las opciones de configuración para mejorar la solución. Determine la tasa de crecimiento prevista para su carga de trabajo y elija una solución de almacenamiento que satisfaga esas tasas. Investigue las ofertas de almacenamiento de AWS para determinar la solución de almacenamiento correcta para sus diversas necesidades de carga de trabajo. El aprovisionamiento de soluciones de almacenamiento en AWS aumenta la oportunidad de probar las ofertas de almacenamiento y determinar si son adecuadas para sus necesidades de carga de trabajo. 


| Servicio de AWS | Características clave | Casos de uso habituales | 
| --- | --- | --- | 
| Amazon S3 |  99,999999999 % de durabilidad, crecimiento ilimitado, accesible desde cualquier lugar, varios modelos de coste basados en el acceso y resiliencia  |  Datos de aplicaciones nativas en la nube, archivo de datos y copias de seguridad, análisis, lagos de datos, alojamiento de sitios web estáticos, datos de IoT   | 
| Amazon Glacier |  Latencia de segundos a horas, crecimiento ilimitado, menor coste, almacenamiento a largo plazo  |  Archivado de datos, archivos multimedia, conservación de copias de seguridad a largo plazo.  | 
| Amazon EBS | El tamaño del almacenamiento requiere administración y supervisión, baja latencia, almacenamiento persistente, durabilidad del 99,8 % al 99,9 %, la mayoría de los tipos de volumen son accesibles solo desde una instancia de EC2. |  Aplicaciones COTS, aplicaciones con uso intensivo de E/S, bases de datos relacionales y NoSQL, copias de seguridad y recuperación  | 
| Almacén de instancias de EC2 |  Tamaño de almacenamiento predeterminado, latencia mínima, no persistente, accesible solo desde una instancia de EC2  |  Aplicaciones COTS, aplicaciones intensivas de E/S, almacén de datos en memoria  | 
| Amazon EFS |  99,999999999 % de durabilidad, crecimiento ilimitado, accesible por múltiples servicios de computación  |  Aplicaciones modernizadas que comparten archivos en múltiples servicios de computación, almacenamiento de archivos para escalar sistemas de administración de contenidos  | 
| Amazon FSx |  Admite cuatro sistemas de archivos (NetApp, OpenZFS, Windows File Server y Amazon FSx for Lustre), almacenamiento disponible diferente por sistema de archivos, accesible por varios servicios de computación  |  Cargas de trabajo nativas de la nube, ampliación en nube privada, cargas de trabajo migradas que requieren un sistema de archivos específico, VMC, sistemas ERP, almacenamiento de archivos y copias de seguridad locales   | 
| Familia Snow |  Dispositivos portátiles, cifrado de 256 bits, punto de conexión NFS, computación incorporada, TBs de almacenamiento  |  Migración de datos a la nube, almacenamiento y computación en condiciones locales extremas, recuperación de desastres, recopilación remota de datos  | 
| AWS Storage Gateway |  Proporciona acceso local de baja latencia al almacenamiento respaldado por la nube, caché local completamente administrada   |  Migraciones de datos locales a la nube, llenado de lagos de datos en la nube desde orígenes locales, uso compartido de archivos modernizado.  | 

 **Pasos para la aplicación:** 

1. Utilice estudios comparativos o pruebas de carga para recopilar las características clave de sus necesidades de almacenamiento. Entre las características clave se incluyen: 

   1. Compartible (qué componentes acceden a este almacenamiento) 

   1. Tasa de crecimiento 

   1. Rendimiento 

   1. Latencia 

   1. Tamaño de E/S 

   1. Durabilidad 

   1. Patrones de acceso (lecturas frente a escrituras, frecuencia, con picos o constantes) 

1. Identifique el tipo de solución de almacenamiento compatible con sus características de almacenamiento. 

   1. [Amazon S3](https://aws.amazon.com/s3/) es un servicio de almacenamiento de objetos con escalabilidad ilimitada, alta disponibilidad y varias opciones de accesibilidad. La transferencia y el acceso a los objetos dentro y fuera de Amazon S3 puede utilizar un servicio como [Aceleración de transferencia ](https://aws.amazon.com/s3/transfer-acceleration/) o bien [Puntos de acceso](https://aws.amazon.com/s3/features/access-points/) para respaldar su ubicación, necesidades de seguridad y patrones de acceso. Utilice las [directrices de rendimiento de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) para ayudar a optimizar la configuración de Amazon S3 para satisfacer sus necesidades de rendimiento de la carga de trabajo. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) es una clase de almacenamiento de Amazon S3 desarrollada para el archivado de datos. Puede elegir entre tres soluciones de archivo que van desde el acceso en milisegundos hasta el acceso de 5 a 12 horas con diferentes opciones de coste y seguridad. Amazon Glacier puede ayudarle a cumplir los requisitos de rendimiento mediante la implementación de un ciclo de vida de los datos que se ajuste a los requisitos de su empresa y a las características de los datos. 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) es un servicio de almacenamiento de bloques de alto rendimiento diseñado para Amazon Elastic Compute Cloud (Amazon EC2). Puede elegir entre soluciones [basadas en SSD o HDD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) con diferentes características que priorizan las [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) o bien [el rendimiento,](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). Los volúmenes de EBS son muy adecuados para las cargas de trabajo de alto rendimiento, el almacenamiento principal para los sistemas de archivos, las bases de datos o las aplicaciones que solo pueden acceder a los sistemas de etapas conectados. 

   1. [El almacén de instancias de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) es similar a Amazon EBS ya que se adjunta a una instancia de Amazon EC2; sin embargo, el almacén de instancias es solo un almacenamiento temporal que debería usarse idealmente como búfer, caché u otro contenido temporal. No se puede separar un almacén de instancias, y si la instancia se cierra se pierden todos los datos. Los almacenes de instancias pueden utilizarse para casos de uso de alto rendimiento de E/S y baja latencia en los que no es necesario conservar los datos. 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) es un sistema de archivos montable al que pueden acceder varios tipos de soluciones de computación. Amazon EFS aumenta y reduce automáticamente el almacenamiento y su rendimiento se ha optimizado para ofrecer latencias bajas y constantes. EFS tiene [dos modos de configuración del rendimiento](https://docs.aws.amazon.com/efs/latest/ug/performance.html): uso general y E/S máx. El modo de uso general tiene una latencia de lectura de menos de un milisegundo y una latencia de escritura de un milisegundo de un solo dígito. El modo de E/S máx. puede admitir miles de instancias de cálculo que requieran un sistema de archivos compartido. Amazon EFS admite [dos modos de rendimiento](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html): por ráfagas y aprovisionado. Una carga de trabajo que experimenta un patrón de acceso irregular se beneficiará del modo de rendimiento en ráfagas, mientras que una carga de trabajo que es constantemente alta tendría un buen rendimiento con un modo de rendimiento aprovisionado. 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) se basa en las últimas soluciones de computación de AWS para soportar cuatro sistemas de archivos de uso común: NetApp ONTAP, OpenZFS, Windows File Server y Lustre. Amazon FSx [latencia, rendimiento y E/S por segundo](https://aws.amazon.com/fsx/when-to-choose-fsx/) varían según el sistema de archivos y deben tenerse en cuenta a la hora de seleccionar el sistema de archivos adecuado para sus necesidades de carga de trabajo. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) son dispositivos de almacenamiento y computación que admiten la migración de datos en línea y fuera de línea a la nube y el almacenamiento y la computación de datos localmente. Los dispositivos de AWS Snow soportan la recopilación de grandes cantidades de datos localmente, el procesamiento de esos datos y su traslado a la nube. Hay varias [prácticas recomendadas documentadas sobre rendimiento](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) en lo que respecta al número de archivos, el tamaño de los mismos y la compresión. 

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) proporciona a las aplicaciones locales acceso al almacenamiento ubicado en la nube. AWS Storage Gateway admite varios servicios de almacenamiento en la nube, como Amazon S3, Amazon Glacier, Amazon FSx y Amazon EBS. Admite varios protocolos como iSCSI, SMB y NFS. Proporciona un rendimiento de baja latencia al almacenar en caché los datos a los que se accede con frecuencia localmente y solo envía los datos modificados y los comprimidos a AWS. 

1. Una vez que haya experimentado con su nueva solución de almacenamiento y haya identificado la configuración óptima, planifique su migración y valide sus métricas de rendimiento. Se trata de un proceso continuo, que debe reevaluarse cuando cambien las características clave o los servicios u opciones disponibles. 

 **Nivel de esfuerzo para el plan de implementación: **Si una carga de trabajo se desplaza de una solución de almacenamiento a otra, podría haber un nivel de esfuerzo *moderado* implicado en la refactorización de la aplicación.   

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

 **Documentos relacionados:** 
+  [Amazon EBS Volume Types (Tipos de volumen de Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 Storage (Almacenamiento de Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: Amazon EFS Performance (Amazon EFS: rendimiento de Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance (Rendimiento de Amazon FSx para Lustre)](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance (Rendimiento de Amazon FSx for Windows File Server)](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP performance (Rendimiento de Amazon FSx for NetApp ONTAP)](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS performance (Rendimiento de Amazon FSx for OpenZFS)](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier: Amazon Glacier Documentation (Amazon Glacier: documentación de Amazon Glacier)](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: Request Rate and Performance Considerations (Amazon S3: tasa de solicitud y consideraciones de rendimiento)](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Cloud Storage with AWS (Almacenamiento en la nube con AWS)](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [EBS I/O Characteristics (Características de E/S de EBS)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vídeos relacionados:** 
+  [Deep dive on Amazon EBS (STG303-R1) (Conocer en profundidad Amazon EBS [STG303-R1])](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343) (Optimizar el rendimiento del almacenamiento con Amazon S3 [STG343])](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Ejemplos relacionados:** 
+  [Amazon EFS CSI Driver (Controlador CSI de Amazon EFS)](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI Driver (Controlador CSI de Amazon EBS)](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS Utilities (Utilidades de Amazon EFS)](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale (Escala automática de Amazon EBS)](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 Examples (Ejemplos de Amazon S3)](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Amazon FSx for Lustre Container Storage Interface (CSI) Driver (Controlador de la interfaz de almacenamiento de contenedores (CSI) de Amazon FSx for Lustre)](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

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

 Evalúe las diferentes características y opciones de configuración y cómo se relacionan con el almacenamiento. Comprenda dónde y cómo utilizar las IOPS aprovisionadas, las SSD, el almacenamiento magnético, el almacenamiento de objetos, el almacenamiento de archivos o el almacenamiento efímero para optimizar el espacio de almacenamiento y el rendimiento de su carga de trabajo. 

 [Amazon EBS](https://aws.amazon.com/ebs) tiene varias opciones que le permiten optimizar el rendimiento y el coste del almacenamiento de la carga de trabajo. Estas opciones se dividen en dos categorías principales: almacenamiento con respaldo de unidades de estado sólido (SSD) para cargas de trabajo transaccionales como bases de datos y volúmenes de arranque (el rendimiento depende principalmente de las IOPS) y almacenamiento con respaldo de unidades de disco duro (HDD) para cargas de trabajo de alto rendimiento como MapReduce y el procesamiento de registros (el rendimiento depende sobre todo de los MB/s). 

 Los volúmenes respaldados por unidades SSD incluyen unidades SSD con IOPS aprovisionadas de mayor rendimiento para cargas de trabajo transaccionales sensibles a la latencia y unidades SSD de uso general que equilibran el precio y el rendimiento para una amplia variedad de datos transaccionales. 

 [La aceleración de transferencia de Amazon S3](https://aws.amazon.com/s3/transfer-acceleration/) permite transferir archivos de forma rápida a larga distancia entre el cliente y su bucket de S3. La aceleración de transferencia utiliza las ubicaciones perimetrales distribuidas a nivel mundial de Amazon CloudFront para dirigir los datos por una ruta de red optimizada. Para una carga de trabajo en un bucket de S3 que reciba numerosas solicitudes GET, use Amazon S3 con CloudFront. Al cargar archivos grandes, use cargas de varios componentes con múltiples partes que se carguen a la vez para ayudar a maximizar el rendimiento de la red. 

 [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) proporciona un sistema de archivos NFS sencillo, escalable, flexible y completamente administrado para su uso con los servicios de Nube de AWS y los recursos locales. Para soportar una amplia variedad de cargas de trabajo de almacenamiento en la nube, Amazon EFS ofrece dos modos de rendimiento: el modo de rendimiento de uso general y el modo de rendimiento máximo de E/S. También hay dos modos de rendimiento a elegir para su sistema de archivos: rendimiento de ráfaga y rendimiento aprovisionado. Para determinar los ajustes que debe utilizar para su carga de trabajo, consulte la [guía del usuario de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html). 

 [Amazon FSx](https://aws.amazon.com/fsx/) ofrece cuatro sistemas de archivos para elegir: [Amazon FSx para Windows File Server](https://aws.amazon.com/fsx/windows/) para cargas de trabajo empresariales, [Amazon FSx para Lustre](https://aws.amazon.com/fsx/lustre/) para cargas de trabajo de alto rendimiento, [Amazon FSx para NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) para sistema de archivos ONTAP populares de NetApps y [Amazon FSx para OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) para servidores de archivos basados en Linux. FSx está respaldado por SSD y está diseñado para ofrecer un rendimiento rápido, predecible, escalable y consistente. Los sistemas de archivos de Amazon FSx ofrecen altas velocidades de lectura y escritura sostenidas y un acceso a los datos de baja latencia constante. Puede elegir el nivel de rendimiento que necesita para satisfacer las necesidades de su carga de trabajo. 

 **Patrones de uso no recomendados comunes:** 
+  Solo se utiliza un tipo de almacenamiento, como Amazon EBS, para todas las cargas de trabajo. 
+  Utiliza las IOPS aprovisionadas para todas las cargas de trabajo sin realizar pruebas en el mundo real con todos los niveles de almacenamiento. 
+  Da por supuesto que todas las cargas de trabajo tienen requisitos de rendimiento de acceso al almacenamiento similares. 

 **Beneficios de establecer esta práctica recomendada:** evaluar todas las opciones de servicios de almacenamiento puede reducir el coste de la infraestructura y el esfuerzo necesario para mantener sus cargas de trabajo. Puede acelerar potencialmente su tiempo de comercialización para desplegar nuevos servicios y características. 

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

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

 Determinar las características de almacenamiento: cuando evalúe una solución de almacenamiento, determine qué características de almacenamiento necesita, como la capacidad de compartir, el tamaño de los archivos, el tamaño de la caché, la latencia, el rendimiento y la persistencia de los datos. Entonces, cubra esas necesidades con el servicio de AWS que mejor cumpla sus requisitos. 

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

 **Documentos relacionados:** 
+  [Almacenamiento en la nube con AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Tipos de volumen de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Almacenamiento de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: rendimiento de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Rendimiento de Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Rendimiento de Amazon FSx para Windows File Server](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: tasa de solicitud y consideraciones de rendimiento](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Almacenamiento en la nube con AWS](https://aws.amazon.com/products/storage/) 
+  [Almacenamiento en la nube con AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [EBS: características de E/S](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vídeos relacionados:** 
+  [Profundización en Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimizar el rendimiento de su almacenamiento con Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Ejemplos relacionados:** 
+  [Controlador CSI de Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Controlador CSI de Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilidades de Amazon EFS](https://github.com/aws/efs-utils) 
+  [Escala automática de Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Ejemplos de Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF03-BP03 Tomar decisiones según las métricas y los patrones de acceso
<a name="perf_right_storage_solution_optimize_patterns"></a>

 Elija los sistemas de almacenamiento en función de los patrones de acceso de su carga de trabajo y configúrelos determinando cómo accede la carga de trabajo a los datos. Aumente la eficiencia del almacenamiento eligiendo el almacenamiento de objetos en lugar del almacenamiento de bloques. Configure las opciones de almacenamiento que elija para que se adapten a sus patrones de acceso a datos. 

 La forma de acceder a sus datos afecta al rendimiento de la solución de almacenamiento. Seleccione la solución de almacenamiento que mejor se adapte a sus patrones de acceso, o bien considere cambiar sus patrones de acceso de modo que se adapten a la solución de almacenamiento a fin de maximizar el rendimiento. 

 Crear una matriz RAID 0 permite conseguir un nivel mayor de rendimiento para un sistema de archivos que puede suministrar en un solo volumen. Considere utilizar RAID 0 cuando el rendimiento E/S sea más importante que la tolerancia a errores. Por ejemplo, podría utilizarlo con una base de datos muy usada, donde la replicación ya esté configurada por separado. 

 Seleccione las métricas de almacenamiento adecuadas para su carga de trabajo en todas las opciones de almacenamiento consumidas para la carga de trabajo. Cuando utilice sistemas de archivos que utilicen créditos de ráfaga, cree alarmas para saber cuándo se está acercando a esos límites de crédito. Debe crear paneles de control de almacenamiento para mostrar el estado general del almacenamiento de la carga de trabajo. 

 En el caso de los sistemas de almacenamiento de tamaño fijo, como Amazon EBS o Amazon FSx, asegúrese de supervisar la cantidad de almacenamiento utilizada en relación con el tamaño total del almacenamiento y cree una automatización, si es posible, para aumentar el tamaño del almacenamiento cuando se alcance un umbral. 

 **Patrones de uso no recomendados comunes:** 
+  Asume que el rendimiento del almacenamiento es adecuado si los clientes no se quejan. 
+  Solo utiliza un nivel de almacenamiento, asumiendo que todas las cargas de trabajo encajan en ese nivel. 

 **Beneficios de establecer esta práctica recomendada:** necesita una visión operativa unificada, datos pormenorizados en tiempo real y una referencia histórica para optimizar el rendimiento y la utilización de los recursos. Puede crear paneles automáticos y datos con una granularidad de un segundo para realizar cálculos métricos en sus datos y obtener información operativa y de utilización para sus necesidades de almacenamiento. 

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

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

 Optimizar el uso de almacenamiento y los patrones de acceso: seleccione los sistemas de almacenamiento en función de los patrones de acceso de su carga de trabajo y las características de las opciones de almacenamiento disponibles. Determine el mejor lugar para almacenar los datos que le permita satisfacer sus necesidades y reducir los gastos generales. Utilice las optimizaciones de rendimiento y los patrones de acceso cuando configure e interactúe con los datos en función de las características de almacenamiento (por ejemplo, la separación de volúmenes o la partición de datos). 

 Seleccionar las métricas adecuadas para las opciones de almacenamiento: asegúrese de seleccionar las métricas de almacenamiento adecuadas para la carga de trabajo. Cada opción de almacenamiento ofrece varias métricas para seguir el rendimiento de su carga de trabajo a lo largo del tiempo. Asegúrese de que está midiendo con respecto a cualquier métrica de ráfaga de almacenamiento (por ejemplo, supervisando los créditos de ráfaga para Amazon EFS). En el caso de los sistemas de almacenamiento de tamaño fijo, como Amazon Elastic Block Store o Amazon FSx, asegúrese de que está supervisando la cantidad de almacenamiento utilizada en relación con el tamaño de almacenamiento total. Cree una automatización cuando sea posible para aumentar el tamaño de almacenamiento al alcanzar un umbral. 

 Supervisar métricas: Amazon 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. 

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

 **Documentos relacionados:** 
+  [Tipos de volumen de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Almacenamiento de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: rendimiento de Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Rendimiento de Amazon FSx para Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Rendimiento de Amazon FSx para Windows File Server](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: tasa de solicitud y consideraciones de rendimiento](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Almacenamiento en la nube con AWS](https://aws.amazon.com/products/storage/) 
+  [EBS: características de E/S](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Seguimiento y comprensión del rendimiento de Amazon EBS con Amazon CloudWatch](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **Vídeos relacionados:** 
+  [Análisis profundo de Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimiza tu rendimiento de almacenamiento con Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Ejemplos relacionados:** 
+  [Controlador CSI de Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Controlador CSI de Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilidades de Amazon EFS](https://github.com/aws/efs-utils) 
+  [Escala automática de Amazon EBS](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Ejemplos de Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF 4: ¿Cómo selecciona una solución de base de datos?
<a name="perf-04"></a>

 La solución de base de datos óptima para un sistema varía según los requisitos de disponibilidad, constancia, tolerancia de partición, latencia, durabilidad, escalabilidad y capacidad de consulta. Muchos sistemas utilizan diferentes soluciones de bases de datos para varios subsistemas y habilitan diferentes características para mejorar el rendimiento. Seleccionar la solución de base de datos y las características incorrectas para un sistema puede conducir a una menor eficiencia de rendimiento. 

**Topics**
+ [PERF04-BP01 Comprender las características de los datos](perf_right_database_solution_understand_char.md)
+ [PERF04-BP02 Evaluar las opciones disponibles](perf_right_database_solution_evaluate_options.md)
+ [PERF04-BP03 Recopilar y registrar métricas de rendimiento de la base de datos](perf_right_database_solution_collect_metrics.md)
+ [PERF04-BP04 Elija el almacenamiento de datos según los patrones de acceso](perf_right_database_solution_access_patterns.md)
+ [PERF04-BP05 Optimizar el almacenamiento de datos según las métricas y los patrones de acceso](perf_right_database_solution_optimize_metrics.md)

# PERF04-BP01 Comprender las características de los datos
<a name="perf_right_database_solution_understand_char"></a>

 Elija sus soluciones de administración de datos para que se ajusten de forma óptima a las características, los patrones de acceso y los requisitos de sus conjuntos de datos de carga de trabajo. A la hora de seleccionar e implementar una solución de administración de datos, debe asegurarse de que las características de consulta, escalado y almacenamiento admiten los requisitos de datos de la carga de trabajo. Obtenga información sobre cómo las distintas opciones de bases de datos se ajustan a sus modelos de datos y qué opciones de configuración son las mejores para su caso de uso.  

 AWS proporciona numerosos motores de bases de datos personalizadas, entre los que se incluyen bases de datos relacionales, de valor clave, de documentos, en memoria, de gráficos, de serie temporal y de libro mayor. Cada solución de administración de datos tiene opciones y configuraciones a su disposición para admitir sus casos de uso y modelos de datos. Su carga de trabajo podría utilizar varias soluciones de bases de datos diferentes, en función de las características de los datos. Al seleccionar las mejores soluciones de bases de datos para un problema específico, puede prescindir de las bases de datos monolíticas, con el enfoque de solución única que resulta restrictiva, y centrarse en la administración de los datos para satisfacer las necesidades de su cliente. 

 **Resultado deseado:** Las características de datos de la carga de trabajo se documentan con suficiente detalle para facilitar la selección y la configuración de las soluciones de bases de datos de asistencia y proporcionan información sobre posibles alternativas. 

 **Patrones de uso no recomendados comunes:** 
+  No considerar formas de segmentar grandes conjuntos de datos en colecciones más pequeñas de datos que tengan características similares, lo que hace que se pierdan oportunidades de utilizar bases de datos más personalizadas que se ajusten mejor a las características de los datos y del crecimiento. 
+  No identificar los patrones de acceso a los datos por adelantado, lo que conduce a una costosa y compleja repetición posterior del trabajo. 
+  Limitar el crecimiento mediante el uso de estrategias de almacenamiento de datos que no se escalan tan rápidamente como se necesita. 
+  Elegir un tipo de base de datos y un proveedor para todas las cargas de trabajo. 
+  Limitarse a una solución de base de datos porque se tiene experiencia y conocimiento interno de un tipo concreto de solución de base de datos. 
+  Mantener una solución de base de datos porque funcionaba bien en un entorno local. 

 **Beneficios de establecer esta práctica recomendada:** familiarícese con todas las soluciones de bases de datos de AWS para poder determinar la solución de base de datos correcta para sus diversas cargas de trabajo. Después de seleccionar la solución de base de datos adecuada para su carga de trabajo, puede experimentar rápidamente con cada una de esas ofertas de bases de datos para determinar si siguen satisfaciendo sus necesidades de carga de trabajo. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** Alto 
+  Es posible que no se identifique el ahorro potencial de costes. 
+  Los datos pueden no estar protegidos en el nivel requerido. 
+  Es posible que el acceso a los datos y el rendimiento del almacenamiento no sean óptimos. 

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

 Defina las características de los datos y los patrones de acceso de su carga de trabajo. Revise todas las soluciones de bases de datos disponibles para identificar cuál es la que respalda sus necesidades de datos. En una carga de trabajo determinada, pueden seleccionarse varias bases de datos. Evalúe cada servicio o grupo de servicios y valórelos individualmente. Si se identifican posibles soluciones alternativas de administración de datos para una parte o la totalidad de los datos, experimente con las implementaciones alternativas que podrían desbloquear los beneficios de coste, seguridad, rendimiento y fiabilidad. Actualice la documentación existente, en caso de que se adopte un nuevo enfoque de administración de datos. 


|  **Tipo**  |  **Servicios de AWS**  |  **Características clave**  |  **Casos de uso comunes**  | 
| --- | --- | --- | --- | 
|  Relacionales  |  Amazon RDS, Amazon Aurora  |  Integridad referencial, transacciones ACID, esquema en escritura  |  ERP, CRM, software comercial  | 
|  De clave-valor  |  Amazon DynamoDB  |  Alto rendimiento, baja latencia, escalabilidad casi infinita  |  Carros de la compra (comercio electrónico), catálogos de productos, aplicaciones de chat  | 
|  Documento  |  Amazon DocumentDB  |  Almacenar documentos JSON y consultar sobre cualquier atributo  |  Administración de contenidos (CMS), perfiles de clientes, aplicaciones móviles  | 
|  En memoria  |  Amazon ElastiCache, Amazon MemoryDB  |  Latencia de microsegundos  |  Caché, tablas de clasificación de juegos  | 
|  Gráfico  |  Amazon Neptune  |  Datos muy relacionales en los que las relaciones entre los datos tienen significado  |  Redes sociales, motores de personalización, detección de fraude  | 
|  Serie temporal  |  Amazon Timestream  |  Datos en los que la dimensión principal es el tiempo  |  DevOps, IoT, supervisión  | 
|  Columnas anchas  |  Amazon Keyspaces  |  Cargas de trabajo de Cassandra.  |  Mantenimiento de equipos industriales, optimización de enrutamiento  | 
|  Libro mayor  |  Amazon QLDB  |  Libro mayor inmutable y criptográficamente verificable de los cambios  |  Sistemas de registro, sanidad, cadenas de suministro, instituciones financieras  | 

 **Pasos para la aplicación** 

1.  ¿Cómo están estructurados los datos? (por ejemplo, no estructurados, clave-valor, semiestructurados, relacionales) 

   1.  Si los datos no están estructurados, considere la posibilidad de usar un almacén de objetos como [Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) o una base de datos NoSQL como [Amazon DocumentDB.](https://aws.amazon.com/documentdb/) 

   1.  Para los datos de valor clave, considere la posibilidad de usar [DynamoDB](https://aws.amazon.com/documentdb/), [ElastiCache para Redis](https://aws.amazon.com/elasticache/redis/) o bien [MemoryDB.](https://aws.amazon.com/memorydb/) 

   1.  Si los datos tienen una estructura relacional, ¿qué nivel de integridad referencial se requiere? 

      1.  Para las restricciones de clave externa, las bases de datos relacionales como [Amazon RDS](https://aws.amazon.com/rds/) y [Aurora](https://aws.amazon.com/rds/aurora/) pueden proporcionar este nivel de integridad. 

      1.  Normalmente, dentro de un modelo de datos NoSQL, se anularía la normalización de los datos en un único documento o colección de documentos para recuperarlos en una única solicitud en lugar de unirlos en diferentes documentos o tablas.  

1.  ¿Se requiere el cumplimiento de ACID (atomicidad, coherencia, aislamiento, durabilidad)? 

   1.  Si se requieren las propiedades ACID asociadas a las bases de datos relacionales, considere la posibilidad de usar una base de datos relacional como [Amazon RDS](https://aws.amazon.com/rds/) y [Aurora.](https://aws.amazon.com/rds/aurora/) 

1.  ¿Qué modelo de coherencia se requiere? 

   1.  Si su aplicación puede tolerar una coherencia eventual, considere una implementación NoSQL. Revise las demás características como ayuda para elegir qué [base de datos NoSQL](https://aws.amazon.com/nosql/) es la más adecuada. 

   1.  Si se requiere una coherencia fuerte, puede utilizar lecturas con coherencia fuerte con [DynamoDB](https://aws.amazon.com/documentdb/) o una base de datos relacional como [Amazon RDS](https://aws.amazon.com/rds/). 

1.  ¿Qué formatos de consulta y de resultados se deben admitir? (por ejemplo, SQL, CSV, Parque, Avro, JSON, etc.) 

1.  ¿Qué tipos de datos, tamaños de campo y cantidades globales hay? (por ejemplo, texto, numérico, espacial, serie temporal calculada, binario o blob, documento) 

1.  ¿Cómo cambiarán las necesidades de almacenamiento con el tiempo? ¿Cómo afecta esto a la escalabilidad? 

   1.  Las bases de datos sin servidor, como [DynamoDB](https://aws.amazon.com/documentdb/) y [Amazon Quantum Ledger Database](https://aws.amazon.com/qldb/) se escalarán dinámicamente hasta llegar a un almacenamiento casi ilimitado. 

   1.  Las bases de datos relacionales tienen límites máximos de almacenamiento aprovisionado y, a menudo, se deben hacer particiones horizontalmente mediante mecanismos como la fragmentación una vez que alcanzan estos límites. 

1.  ¿Cuál es la proporción de consultas de lectura en relación con las de escritura? ¿Es probable que el almacenamiento en caché mejore el rendimiento? 

   1.  Las cargas de trabajo con mucha lecturas pueden beneficiarse de una capa de caché, que podría ser [ElastiCache](https://aws.amazon.com/elasticache/) o bien [DAX](https://aws.amazon.com/dynamodb/dax/) si la base de datos es DynamoDB. 

   1.  Las lecturas también pueden descargarse en réplicas de lectura con bases de datos relacionales como [Amazon RDS](https://aws.amazon.com/rds/). 

1.  ¿Tiene mayor prioridad el almacenamiento y la modificación (OLTP, procesamiento de transacciones en línea) o la recuperación y la elaboración de informes (OLAP, procesamiento analítico en línea)? 

   1.  Para el procesamiento transaccional de alto rendimiento, considere una base de datos NoSQL como DynamoDB o Amazon DocumentDB. 

   1.  Para las consultas analíticas, considere una base de datos en columnas como [Amazon Redshift](https://aws.amazon.com/redshift/) o la exportación de los datos a Amazon S3 y la realización de análisis mediante [Athena](https://aws.amazon.com/athena/) o bien [QuickSight.](https://aws.amazon.com/quicksight/) 

1.  ¿Qué grado de confidencialidad tienen estos datos y qué nivel de protección y cifrado requieren? 

   1.  Todos los motores Amazon RDS y Aurora admiten el cifrado de datos en reposo mediante AWS KMS. Microsoft SQL Server y Oracle también admiten el cifrado transparente de datos (TDE) nativo cuando se utiliza Amazon RDS. 

   1.  Para DynamoDB, puede utilizar el control de acceso detallado con [IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html) para controlar quién tiene acceso a determinados datos en el nivel de clave. 

1.  ¿Qué nivel de durabilidad requieren los datos? 

   1.  Aurora replica automáticamente sus datos en tres zonas de disponibilidad en una región, lo que significa que sus datos son muy duraderos con menos posibilidades de pérdida. 

   1.  DynamoDB se replica automáticamente en varias zonas de disponibilidad, lo que proporciona alta disponibilidad y durabilidad de los datos. 

   1.  Amazon S3 proporciona 11 nueves de durabilidad. Muchos servicios de bases de datos, como Amazon RDS y DynamoDB, admiten la exportación de datos a Amazon S3 para la retención y el archivo a largo plazo. 

1.  ¿Los requisitos de [objetivo de tiempo de recuperación (RTO) u objetivo de punto de recuperación (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html) influyen en la solución? 

   1.  Amazon RDS, Aurora, DynamoDB, Amazon DocumentDB y Neptune admiten la recuperación puntual y la copia de seguridad y restauración bajo demanda.  

   1.  En el caso de los requisitos de alta disponibilidad, las tablas de DynamoDB se pueden replicar globalmente mediante la característica de [tablas globales](https://aws.amazon.com/dynamodb/global-tables/) y los clústeres de Aurora pueden replicarse en varias regiones con la característica de base de datos global. Además, los buckets de S3 pueden replicarse entre Regiones de AWS mediante la replicación entre regiones.  

1.  ¿Existe el deseo de evitar los motores de bases de datos comerciales o costes de licencia? 

   1.  Considere la posibilidad de utilizar motores de código abierto como PostgreSQL y MySQL en Amazon RDS o Aurora 

   1.  Use [AWS DMS](https://aws.amazon.com/dms/) y [AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/) para realizar migraciones de los motores de bases de datos comerciales a los de código abierto 

1.  ¿Cuál es la expectativa operativa de la base de datos? ¿El cambio a los servicios administrados es una preocupación principal? 

   1.  El uso de Amazon RDS en lugar de Amazon EC2 y DynamoDB o Amazon DocumentDB en lugar de alojar una base de datos NoSQL puede reducir la carga operativa. 

1.  ¿Cómo se accede actualmente a la base de datos? ¿Se trata solo del acceso a la aplicación, o hay usuarios de inteligencia empresarial (BI) y otras aplicaciones comerciales conectadas? 

   1.  Si tiene dependencias de herramientas externas, es posible que deba mantener la compatibilidad con las bases de datos que soportan. Amazon RDS es completamente compatible con las diferentes versiones de motores que soporta, como Microsoft SQL Server, Oracle, MySQL y PostgreSQL. 

1.  A continuación, se presenta una lista de posibles servicios de administración de datos y dónde pueden utilizarse mejor: 

   1.  Las bases de datos relacionales almacenan datos con esquemas predefinidos y relaciones entre ellos. Estas bases de datos se han diseñado para respaldar las transacciones ACID (atomicidad, coherencia, aislamiento, durabilidad) y mantener la integridad referencial y una coherencia fuerte de los datos. Muchas aplicaciones tradicionales, la planificación de recursos empresariales (ERP), la administración de las relaciones con los clientes (CRM) y el comercio electrónico utilizan bases de datos relacionales para almacenar sus datos. Puede ejecutar muchos de estos motores de bases de datos en Amazon EC2 o elegir uno de los [servicios de base de datos gestionados por AWS](https://aws.amazon.com/products/databases/): [Amazon Aurora](https://aws.amazon.com/rds/aurora), [Amazon RDS](https://aws.amazon.com/rds)y [Amazon Redshift](https://aws.amazon.com/redshift). 

   1.  Las bases de datos de clave-valor están optimizadas para patrones de acceso comunes, normalmente para almacenar y recuperar grandes volúmenes de datos. Estas bases de datos ofrecen tiempos de respuesta rápidos, incluso en volúmenes extremos de solicitudes simultáneas. Las aplicaciones web con mucho tráfico, los sistemas de comercio electrónico y las aplicaciones de juegos son casos de uso típicos para las bases de datos de clave-valor. En AWS, puede utilizar [Amazon DynamoDB](https://aws.amazon.com/dynamodb/), una base de datos duradera, completamente administrada, multirregión y multimaestro, con seguridad integrada, copia de seguridad y restauración, y almacenamiento en memoria para aplicaciones a escala de Internet. 

   1.  Las bases de datos en memoria se utilizan para aplicaciones que requieren acceso a los datos en tiempo real, menor latencia y mayor rendimiento. Al almacenar los datos directamente en la memoria, estas bases de datos ofrecen una latencia de microsegundos a las aplicaciones en las que la latencia de milisegundos no es suficiente. Puede utilizar las bases de datos en memoria para el almacenamiento en caché de aplicaciones, la administración de sesiones, las tablas de clasificación de juegos y las aplicaciones geoespaciales. [Amazon ElastiCache](https://aws.amazon.com/elasticache/) es un almacén de datos en memoria completamente administrado, compatible con [Redis](https://aws.amazon.com/elasticache/redis/) o bien [Memcached](https://aws.amazon.com/elasticache/memcached). En el caso de que las aplicaciones también requieran una mayor durabilidad, [Amazon MemoryDB para Redis](https://aws.amazon.com/memorydb/) ofrece esto además de ser un servicio de base de datos duradero y en memoria para ofrecer un rendimiento ultrarrápido. 

   1.  Una base de datos de documentos se ha diseñado para almacenar datos semiestructurados como documentos de tipo JSON. Estas bases de datos ayudan a los desarrolladores a crear y actualizar rápidamente aplicaciones como la administración de contenidos, catálogos y perfiles de usuario. [Amazon DocumentDB](https://aws.amazon.com/documentdb/) es un servicio de base de datos de documentos escalable, de alta disponibilidad y completamente administrado que admite cargas de trabajo de MongoDB. 

   1.  Un almacén de columnas anchas es un tipo de base de datos NoSQL. Utiliza tablas, filas y columnas, pero, a diferencia de una base de datos relacional, los nombres y el formato de las columnas pueden variar de una fila a otra en la misma tabla. Por lo general, un almacén de columnas anchas está en aplicaciones industriales a gran escala para el mantenimiento de equipos, la administración de flotas y la optimización de rutas. [Amazon Keyspaces (para Apache Cassandra)](https://aws.amazon.com/mcs/) es un servicio de base de datos de columnas anchas compatible con Apache Cassandra, escalable, altamente disponible y administrado. 

   1.  Las bases de datos de grafos se utilizan para aplicaciones que deben navegar y consultar millones de relaciones entre conjuntos de datos de grafos con un alto grado de conexión y con una latencia de milisegundos a gran escala. Muchas empresas utilizan las bases de datos de grafos para la detección de fraude, redes sociales y motores de recomendaciones. [Amazon Neptune](https://aws.amazon.com/neptune/) es un servicio de base de datos de grafos de confianza y completamente administrado que facilita la creación y ejecución de aplicaciones que funcionan con conjuntos de datos con un nivel alto de conexión. 

   1.  Las bases de datos de serie temporal recopilan, sintetizan y obtienen información de forma eficaz a partir de datos que cambian con el tiempo. Las aplicaciones de IoT, DevOps y telemetría industrial pueden utilizar bases de datos de serie temporal. [Amazon Timestream](https://aws.amazon.com/timestream/) es un servicio de base de datos de serie temporal rápido, escalable y completamente administrado para aplicaciones operativas y de IoT que facilita el almacenamiento y el análisis de billones de eventos al día. 

   1.  Las bases de datos de libro mayor proporcionan una autoridad centralizada y de confianza para mantener un registro de transacciones escalable, inmutable y verificable criptográficamente para cada aplicación. Las bases de datos de libro mayor se utilizan para sistemas de registro, cadena de suministro, registros e incluso transacciones bancarias. [Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/) es una base de datos de libro mayor completamente administrada que proporciona un registro de transacciones transparente, inmutable y criptográficamente verificable, propiedad de una autoridad central de confianza. Amazon QLDB realiza un seguimiento de cada cambio de datos de la aplicación y mantiene un historial completo y verificable de los cambios a lo largo del tiempo. 

 **Nivel de esfuerzo para el plan de implementación: **Si una carga de trabajo se desplaza de una solución de base de datos a otra, podría haber un nivel de esfuerzo *alto* implicado en la refactorización de los datos y la aplicación.   

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

 **Documentos relacionados:** 
+  [Bases de datos en la nube con AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Almacenamiento en caché de base de datos de AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Acelerador de Amazon DynamoDB ](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) 
+  [Los 10 mejores consejos de rendimiento de Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Elegir entre EC2 y Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+  [Prácticas recomendadas para implementar Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 

 **Vídeos relacionados:** 
+ [AWS purpose-built databases (Bases de datos personalizadas de AWS) (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+ [Amazon Aurora storage demystified: How it all works (Desmitificación del almacenamiento de Amazon Aurora: cómo funciona todo) (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+ [Amazon DynamoDB deep dive: Advanced design patterns (Profundización de Amazon DynamoDB: patrones de diseño avanzado) (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Ejemplos relacionados:** 
+  [Optimizar el patrón de datos mediante el uso compartido de datos de Amazon Redshift](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migraciones de bases de datos](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server: demostración de replicación de AWS Database Migration Service (DMS)](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Taller práctico de modernización de bases de datos](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Ejemplos de Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF04-BP02 Evaluar las opciones disponibles
<a name="perf_right_database_solution_evaluate_options"></a>

 Comprenda las opciones de bases de datos disponibles y cómo puede optimizar el rendimiento antes de seleccionar su solución de administración de datos. Utilice las pruebas de carga para identificar las métricas de la base de datos que son importantes para su carga de trabajo. Mientras explora las opciones de la base de datos, tenga en cuenta varios aspectos como los grupos de parámetros, las opciones de almacenamiento, la memoria, la computación, la réplica de lectura, la coherencia posterior, la agrupación de conexiones y las opciones de almacenamiento en caché. Experimente con estas diversas opciones de configuración para mejorar las métricas. 

 **Resultado esperado:** una carga de trabajo podría tener una o más soluciones de bases de datos utilizadas en función de los tipos de datos. La funcionalidad y las prestaciones de la base de datos se ajustan de forma óptima a las características de los datos, los patrones de acceso y los requisitos de la carga de trabajo. Para optimizar el rendimiento y el coste de su base de datos, debe evaluar los patrones de acceso a los datos para determinar las opciones adecuadas de la base de datos. Evalúe los tiempos de consulta aceptables para asegurarse de que las opciones de base de datos seleccionadas pueden cumplir los requisitos. 

 **Patrones de uso no recomendados comunes:** 
+  No identificar los patrones de acceso a los datos. 
+  No conocer las opciones de configuración de la solución elegida para la administración de datos. 
+  Confiar únicamente en el aumento del tamaño de la instancia sin considerar otras opciones de configuración disponibles. 
+  No comprobar las características de escalado de la solución elegida. 

 

 **Beneficios de establecer esta práctica recomendada:** si explora y experimenta con las opciones de bases de datos, podrá reducir el coste de la infraestructura, mejorar el rendimiento y la escalabilidad y reducir el esfuerzo necesario para mantener sus cargas de trabajo. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** Alto 
+  Tener que optimizar para una base de datos *que sirve para todo* significa hacer compromisos innecesarios. 
+  Mayores costes por no haber configurado la solución de base de datos para que se ajuste a los patrones de tráfico. 
+  Los problemas operativos pueden surgir de los problemas de escala. 
+  Los datos pueden no estar protegidos al nivel requerido. 

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

 Comprenda las características de los datos de su carga de trabajo para poder configurar las opciones de su base de datos. Realice pruebas de carga para identificar sus métricas de rendimiento clave y los cuellos de botella. Utilice estas características y métricas para evaluar las opciones de la base de datos y experimentar con diferentes configuraciones. 


|  Servicios de AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Escalado de computación  |  Aumentar el tamaño de la instancia, escalado automático de instancias sin servidor de Aurora en respuesta a los cambios en la carga  |  Escalado automático de lectura/escritura con el modo de capacidad bajo demanda o escalado automático de capacidad de lectura/escritura aprovisionada en el modo de capacidad aprovisionada  |  Aumentar el tamaño de la instancia  |  Aumentar el tamaño de la instancia, añadir nodos al clúster  |  Aumentar el tamaño de la instancia  |  Se escala automáticamente para ajustar la capacidad  |  Escalado automático de lectura/escritura con el modo de capacidad bajo demanda o escalado automático de capacidad de lectura/escritura aprovisionada en el modo de capacidad aprovisionada  |  Se escala automáticamente para ajustar la capacidad  | 
|  Escalado horizontal de lecturas  |  Todos los motores admiten réplicas de lectura. Aurora admite el escalado automático de las instancias de réplica de lectura  |  Aumentar las unidades de capacidad de lectura aprovisionadas  |  Réplicas de lectura  |  Réplicas de lectura  |  Réplicas de lectura. Admite el escalado automático de las instancias de réplicas de lectura  |  Escalado automático  |  Aumentar las unidades de capacidad de lectura aprovisionadas  |  Escala automáticamente verticalmente hasta los límites de concurrencia documentados  | 
|  Escalado horizontal de escrituras  |  Aumentando el tamaño de la instancia, agrupando en lotes las escrituras en la aplicación o añadiendo una cola delante de la base de datos. Escalado horizontal mediante particiones en el nivel de la aplicación en múltiples instancias  |  Aumente las unidades de capacidad de escritura aprovisionadas. Garantizar una clave de partición óptima para evitar la limitación de escritura en el nivel de la partición  |  Aumentar el tamaño de la instancia principal  |  Uso de Redis en modo clúster para distribuir las escrituras entre las particiones  |  Aumentar el tamaño de la instancia  |  Las solicitudes de escritura pueden limitarse durante el escalado. Si encuentra excepciones de limitación, continúe enviando datos con el mismo rendimiento (o superior) para escalar automáticamente. Escrituras por lotes para reducir las solicitudes de escritura concurrentes  |  Aumente las unidades de capacidad de escritura aprovisionadas. Garantizar una clave de partición óptima para evitar la limitación de escritura en el nivel de la partición  |  Escala automáticamente verticalmente hasta los límites de concurrencia documentados  | 
|  Configuración del motor  |  Grupos de parámetros  |  No corresponde  |  Grupos de parámetros  |  Grupos de parámetros  |  Grupos de parámetros  |  No corresponde  |  No corresponde  |  No corresponde  | 
|  Almacenamiento en caché  |  Caché en memoria, configurable mediante grupos de parámetros. Combinar con una caché dedicada, como ElastiCache para Redis, para descargar las solicitudes de los elementos a los que se accede con frecuencia  |  Caché totalmente administrada de DAX (DAX) disponible  |  Almacenamiento en caché en memoria. Opcionalmente combinar con una caché dedicada, como ElastiCache para Redis, para descargar las solicitudes de los elementos a los que se accede con frecuencia  |  La función principal es el almacenamiento en caché  |  Utilizar la caché de resultados de consulta para almacenar en caché el resultado de una consulta de solo lectura  |  Timestream tiene dos niveles de almacenamiento; uno de ellos es un nivel de alto rendimiento en memoria  |  Despliegue una caché separada dedicada como ElastiCache para Redis, para descargar las solicitudes de los elementos a los que se accede con frecuencia  |  No corresponde  | 
|  Alta disponibilidad / recuperación de desastres  |  La configuración recomendada para las cargas de trabajo de producción es ejecutar una instancia en espera en una segunda zona de disponibilidad para proporcionar resiliencia dentro de una región.  Para la resiliencia entre regiones, se puede utilizar la base de datos global de Aurora  |  Alta disponibilidad en una región. Las tablas se pueden replicar en todas las regiones utilizando las tablas globales de DynanoDB  |  Cree varias instancias en las zonas de disponibilidad para que estén disponibles.  Las instantáneas pueden compartirse entre regiones y los clústeres pueden replicarse utilizando DMS para proporcionar replicación entre regiones y recuperación de desastres  |  La configuración recomendada para los clústeres de producción es crear al menos un nodo en una zona de disponibilidad secundaria.  El almacén de datos global de ElastiCache se puede usar para replicar clústeres en regiones.  |  Las réplicas de lectura en otras zonas de disponibilidad sirven como objetivos de conmutación por error.  Las instantáneas pueden compartirse entre regiones y los clústeres pueden replicarse usando flujos de Neptune para replicar datos entre dos clústeres en dos regiones diferentes.  |  Alta disponibilidad dentro de una región. La replicación entre regiones requiere el desarrollo de aplicaciones personalizadas utilizando el SDK de Timestream  |  Alta disponibilidad en una región.  La replicación entre regiones requiere una lógica de aplicación personalizada o herramientas de terceros  |  Alta disponibilidad en una región.  Para replicar entre regiones, exporte el contenido del diario de Amazon QLDB a un bucket de S3 y configure el bucket para la replicación entre regiones.  | 

 

 **Pasos para la aplicación** 

1.  ¿Qué opciones de configuración están disponibles para las bases de datos seleccionadas? 

   1.  Los grupos de parámetros para Amazon RDS y Aurora permiten ajustar los parámetros comunes a nivel del motor de la base de datos, como la memoria asignada para la caché o el ajuste de la zona horaria de la base de datos 

   1.  En el caso de los servicios de bases de datos aprovisionados como Amazon RDS, Aurora, Neptune, Amazon DocumentDB y los desplegados en Amazon EC2, puede cambiar el tipo de instancia, el almacenamiento aprovisionado y añadir réplicas de lectura. 

   1.  DynamoDB permite especificar dos modos de capacidad: bajo demanda y aprovisionada. Para tener en cuenta las diferentes cargas de trabajo, puede cambiar entre estos modos y aumentar la capacidad asignada en el modo aprovisionado en cualquier momento. 

1.  ¿La lectura o escritura de la carga de trabajo es pesada?  

   1.  ¿Qué soluciones hay para descargar las lecturas (réplicas de lectura, caché, etc.)?  

      1.  Para tablas de DynamoDB, puede descargar las lecturas utilizando DAX para el almacenamiento en caché. 

      1.  Para bases de datos relacionales, puede crear un clúster de ElastiCache para Redis y configurar su aplicación para que lea primero de la caché, retrocediendo a la base de datos si el elemento solicitado no está presente. 

      1.  Las bases de datos relacionales, como Amazon RDS y Aurora, y las bases de datos NoSQL aprovisionadas, como Neptune y Amazon DocumentDB, admiten la adición de réplicas de lectura para descargar las partes de lectura de la carga de trabajo. 

      1.  Las bases de datos sin servidor como DynamoDB escalarán automáticamente. Asegúrese de que tiene suficientes unidades de capacidad de lectura (RCU) aprovisionadas para manejar la carga de trabajo. 

   1.  ¿Qué soluciones hay para escalar las escrituras (fragmentación de claves de partición, introducción de una cola, etc.)? 

      1.  En el caso de las bases de datos relacionales, se puede aumentar el tamaño de la instancia para acomodar una mayor carga de trabajo o aumentar las IOP aprovisionadas para permitir un mayor rendimiento del almacenamiento subyacente. 
         +  También puede introducir una cola delante de su base de datos en lugar de escribir directamente en la base de datos. Este patrón permite desacoplar la ingesta de la base de datos y controlar el caudal para que la base de datos no se vea desbordada.  
         +  Agrupar las solicitudes de escritura en lugar de crear muchas transacciones de corta duración puede ayudar a mejorar el rendimiento en las bases de datos relacionales de gran volumen de escritura. 

      1.  Las bases de datos sin servidor como DynamoDB pueden escalar el rendimiento de escritura automáticamente o ajustando las unidades de capacidad de escritura (WCU) aprovisionadas en función del modo de capacidad.  
         +  Sin embargo, todavía puede tener problemas con particiones *activas,* cuando se alcanzan los límites de rendimiento para una clave de partición determinada. Esto se puede mitigar eligiendo una clave de partición más uniformemente distribuida o compartiendo la escritura de la clave de partición.  

1.  ¿Cuáles son los picos de transacciones por segundo (TPS) actuales o previstos? Pruebe utilizando este volumen de tráfico y este volumen \$1X % para entender las características de escalado. 

   1.  Se pueden utilizar herramientas nativas como pg\$1bench para PostgreSQL para realizar pruebas de estrés de la base de datos y comprender los cuellos de botella y las características de escalado. 

   1.  El tráfico de producción debe capturarse para que pueda reproducirse para simular las condiciones del mundo real, además de las cargas de trabajo sintéticas. 

1.  Si se utiliza la computación sin servidor o escalable de forma elástica, pruebe el impacto del escalado en la base de datos. Si procede, introduzca la administración de conexiones o la agrupación para reducir el impacto en la base de datos.  

   1.  RDS Proxy se puede utilizar con Amazon RDS y Aurora para administrar conexiones a la base de datos.  

   1.  Las bases de datos sin servidor como DynamoDB no tienen conexiones asociadas, pero consideran la capacidad aprovisionada y las políticas de escalado automático para hacer frente a los picos de carga. 

1.  ¿Es la carga predecible, hay picos de carga y periodos de inactividad? 

   1.  Si hay periodos de inactividad, considere la posibilidad de reducir la capacidad aprovisionada o el tamaño de la instancia durante estos periodos. Aurora sin servidor V2 escalará y desescalará verticalmente en función de la carga. 

   1.  Para las instancias que no son de producción, considere la posibilidad de pausarlas o detenerlas durante las horas no laborables. 

1.  ¿Necesita segmentar y separar sus modelos de datos en función de los patrones de acceso y las características de los datos? 

   1.  Considere la posibilidad de utilizar AWS DMS o AWS SCT para trasladar sus datos a otros servicios. 

## Nivel de esfuerzo para el plan de implementación: 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-data-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-database-configuration-options-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Para establecer esta práctica recomendada, debe conocer sus características y métricas de datos actuales. Reunir esas métricas, establecer una línea de referencia y luego usar esas métricas para identificar las opciones ideales de configuración de la base de datos es un nivel de esfuerzo de *bajo* a *moderado* . La mejor forma de validarlo es mediante pruebas de carga y experimentación. 

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

 **Documentos relacionados:** 
+  [Bases de datos en la nube con AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Almacenamiento en caché de base de datos de AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Acelerador de Amazon DynamoDB ](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) 
+  [Los 10 mejores consejos de rendimiento de Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Prácticas recomendadas de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 

 **Vídeos relacionados:** 
+  [Bases de datos personalizadas de AWS (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28)
+ [Desmitificación del almacenamiento de Amazon Aurora: Cómo funciona realmente (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Análisis en profundidad de Amazon DynamoDB: Patrones de diseño avanzados (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Ejemplos relacionados:** 
+  [Ejemplos de Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Muestras de migración de base de datos de AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Taller de modernización de bases de datos](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Trabajar con parámetros en la base de datos de Amazon RDS para PostgreSQL](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF04-BP03 Recopilar y registrar métricas de rendimiento de la base de datos
<a name="perf_right_database_solution_collect_metrics"></a>

 Para comprender el rendimiento de sus sistemas de administración de datos, es importante realizar un seguimiento de las métricas pertinentes. Estas métricas le ayudarán a optimizar sus recursos de administración de datos, a garantizar que se cumplen los requisitos de la carga de trabajo y a tener una visión clara del rendimiento de la misma. Use herramientas, bibliotecas y sistemas que registren las medidas de rendimiento relacionadas con el rendimiento de la base de datos. 

 

 Hay métricas relacionadas con el sistema en el que se aloja la base de datos (por ejemplo, CPU, almacenamiento, memoria, IOPS), y hay métricas de acceso a los propios datos (por ejemplo, transacciones por segundo, tasas de consulta, tiempos de respuesta, errores). A estas métricas deben acceder fácilmente el personal de soporte u operativo, y tener un registro histórico suficiente para poder identificar tendencias, anomalías y cuellos de botella. 

 

 **Resultado esperado:** para supervisar el rendimiento de las cargas de trabajo de su base de datos, debe registrar múltiples métricas de rendimiento durante un periodo de tiempo. Esto le permite detectar anomalías, así como medir el rendimiento con respecto a las métricas de la empresa para asegurarse de que está satisfaciendo sus necesidades de carga de trabajo. 

 **Patrones de uso no recomendados comunes:** 
+  Solo utiliza la búsqueda manual de métricas en los archivos de registro. 
+  Solo publica las métricas en las herramientas internas utilizadas por su equipo y no tiene una imagen completa de su carga de trabajo. 
+  Solo utiliza las métricas por defecto registradas por el software de supervisión seleccionado. 
+  Solo revisa las métricas cuando hay un problema. 
+  Solo supervisa las métricas en el nivel de sistema, sin capturar las métricas de acceso o de uso de datos. 

 **Beneficios de establecer esta práctica recomendada:** establecer una base de referencia de rendimiento ayuda a comprender el comportamiento normal y los requisitos de las cargas de trabajo. Los patrones anómalos pueden identificarse y depurarse más rápidamente mejorando el rendimiento y la fiabilidad de la base de datos. La capacidad de la base de datos puede configurarse para garantizar un coste óptimo sin poner en riesgo el rendimiento. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** Alto 
+  La incapacidad de diferenciar el nivel de rendimiento fuera de lo normal del rendimiento normal creará dificultades en la identificación de problemas y en la toma de decisiones. 
+  Es posible que no se identifique el ahorro potencial de costes. 
+  No se identificarán patrones de crecimiento que puedan dar lugar a una degradación de la fiabilidad o del rendimiento. 

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

 Identifique, recopile, agregue y correlacione las métricas relacionadas con las bases de datos. Las métricas deben incluir tanto el sistema subyacente que soporta la base de datos como las métricas de la base de datos. Las métricas del sistema subyacente podrían incluir la utilización de la CPU, la memoria, el almacenamiento en disco disponible, la E/S del disco y las métricas de entrada y salida de la red, mientras que las métricas de la base de datos podrían incluir las transacciones por segundo, las consultas principales, las tasas de consultas medias, 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 está funcionando la carga de trabajo y cómo se utiliza la solución de base de datos. Utilice estas métricas como parte de un enfoque basado en datos para ajustar y optimizar los recursos de su carga de trabajo.  

 **Pasos para la aplicación:** 

1.  ¿A qué métricas de la base de datos es importante hacer un seguimiento? 

   1.  [Métricas de supervisión de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [Supervisión con Información de rendimiento](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Enhanced monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [Métricas de DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [Supervisión de DynamoDB DAX](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [Supervisión de MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [Supervisión de Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Métricas y dimensiones de Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Métricas de nivel de clúster de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [Supervisión de Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [Supervisión de Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  ¿Se beneficiaría la supervisión de la base de datos de una solución de machine learning que detecte anomalías operativas y problemas de rendimiento? 

   1.  [Amazon DevOps Guru para Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) proporciona visibilidad a los problemas de rendimiento y hace recomendaciones para las acciones correctivas. 

1.  ¿Necesita detalles a nivel de aplicación sobre el uso de SQL? 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) se puede instrumentar en la aplicación para obtener información y encapsular todos los puntos de datos para una sola consulta. 

1.  ¿Dispone actualmente de una solución de registro y supervisión aprobada? 

   1.  [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. 

1.  ¿Ha identificado y configurado sus políticas de retención de datos para que se ajusten a los objetivos de seguridad y operativos? 

   1.  [Retención de datos por defecto para métricas de CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Retención de datos por defecto para CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **Nivel de esfuerzo para el plan de implementación: **Hay un nivel *medio* de esfuerzo para identificar, rastrear, recopilar, agregar y correlacionar las métricas de todos los recursos de la base de datos. 

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

 **Documentos relacionados:** 
+ [Almacenamiento en caché de base de datos de AWS](https://aws.amazon.com/caching/database-caching/) 
+ [ Los 10 mejores consejos de rendimiento de Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)
+ [ Prácticas recomendadas de Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html)
+  [Acelerador de Amazon DynamoDB ](https://aws.amazon.com/dynamodb/dax/)
+ [Prácticas recomendadas de Amazon DynamoDB ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Prácticas recomendadas de Amazon Redshift Spectrum ](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/) 

 **Vídeos relacionados:** 
+ [Bases de datos personalizadas de AWS (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Desmitificación del almacenamiento de Amazon Aurora: Cómo funciona realmente (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [Análisis en profundidad de Amazon DynamoDB: Patrones de diseño avanzados (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Ejemplos relacionados:** 
+  [Nivel 100: supervisión con paneles de CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Marco de recopilación de métricas de ingesta del conjunto de datos de AWS](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Taller de supervisión de Amazon RDS](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF04-BP04 Elija el almacenamiento de datos según los patrones de acceso
<a name="perf_right_database_solution_access_patterns"></a>

Utilice los patrones de acceso de la carga de trabajo y los requisitos de las aplicaciones para decidir los servicios de datos y las tecnologías óptimas que se deben utilizar. 

 **Resultado deseado:** el almacenamiento de datos se ha seleccionado en función de los patrones de acceso a los datos identificados y documentados. Esto podría incluir las consultas de lectura, escritura y eliminación más comunes, la necesidad de cálculos y agregaciones, la complejidad de los datos, la interdependencia de los datos y las necesidades de coherencia que se requieran. 

 **Antipatrones usuales:** 
+ Solo selecciona un motor de base de datos para simplificar la administración de las operaciones.
+  Supone que los patrones de acceso a los datos se mantendrán coherentes a lo largo del tiempo. 
+  Implementa transacciones complejas, reversión y lógica de coherencia en la aplicación. 
+  La base de datos está configurada para admitir una posible ampliación del tráfico, lo que provoca que los recursos de la base de datos permanezcan inactivos la mayor parte del tiempo. 
+  Utilización de una base de datos compartida para usos transaccionales y analíticos. 

 **Beneficios de establecer esta práctica recomendada:** la selección y la optimización del almacenamiento de datos en función de los patrones de acceso contribuirán a disminuir la complejidad del desarrollo y a optimizar las oportunidades de rendimiento. Saber cuándo utilizar las réplicas de lectura, las tablas globales, la partición de datos y el almacenamiento en caché le ayudará a disminuir la sobrecarga operativa y a escalar en función de sus necesidades de 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>

Identifique y evalúe su patrón de acceso a los datos para seleccionar la configuración de almacenamiento correcta. Cada solución de base de datos tiene opciones para configurar y optimizar su solución de almacenamiento. Utilice las métricas y los registros recopilados y experimente con las opciones para encontrar la configuración óptima. Utilice la siguiente tabla para examinar las opciones de almacenamiento por servicio de base de datos.


|  AWS Services  |  Amazon RDS  |  Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Scaling Storage  | Storage can be scaled up manually or configured to scale automatically to a maximum of 64 TiB based on engine types. Provisioned storage cannot be decreased. |  Storage scales automatically up to maximum of 128 TiB and decreases when data is removed. Maximum storage size also depends upon specific Aurora MySQL or Aurora Postgres engine versions.  | Storage automatically scales. Tables are unconstrained in terms of size. | Storage scales automatically up to maximum of 64 TiB. Starting Amazon DocumentDB 4.0 storage can decrease by comparable amounts for data removal through dropping a collection or index. With Amazon DocumentDB 3.6 allocated space remains same and free space is reused when data volume increases. |  Storage is in-memory, tied to instance type or count.  |  Storage scales automatically can grow up to 128 TiB (or 64 TiB in few Regions). Upon data removal from, total allocated space remains same and is reused in the future.  | Organizes your time series data to optimize query processing and reduce storage costs. Retention period can be configured through in-memory and magnetic tiers. | Scales table storage up and down automatically as your application writes, updates, and deletes data. | Storage automatically scales. Tables are unconstrained in terms of size. | 

 

 **Pasos para la aplicación:** 

1.  Obtenga información sobre los requisitos de las transacciones, el cumplimiento de las normas de atomicidad, coherencia, aislamiento y durabilidad (ACID) y las lecturas coherentes. No todas las bases de datos lo admiten y la mayoría de las bases de datos NoSQL proporcionan un modelo de coherencia eventual. 

1.  Tenga en cuenta los patrones de tráfico, la latencia y los requisitos de acceso para las aplicaciones distribuidas globalmente a fin de identificar la solución de almacenamiento óptima. 

1.  Analice los patrones de consulta, los patrones de acceso aleatorio y las consultas únicas. También deben tenerse en cuenta las consideraciones en relación con la funcionalidad de consulta altamente especializada para el procesamiento de lenguaje natural y de texto, las series temporales y los grafos. 

1.  Identifique y documente el crecimiento previsto de los datos y el tráfico. 

   1.  Amazon RDS y Aurora admiten el escalamiento vertical automático del almacenamiento hasta los límites documentados. Más allá de esto, considere la posibilidad de trasladar los datos más antiguos a Amazon S3 para archivarlos, agregar los datos históricos para el análisis o escalar horizontalmente con particiones. 

   1.  DynamoDB y Amazon S3 se escalarán hasta un volumen de almacenamiento casi ilimitado de forma automática. 

   1.  A las instancias y las bases de datos de Amazon RDS que se ejecutan en EC2 se les puede cambiar el tamaño manualmente y a las instancias de EC2 se les pueden añadir nuevos volúmenes de EBS en una fecha posterior para obtener almacenamiento adicional.  

   1.  Los tipos de instancia pueden modificarse en función de los cambios de actividad. Por ejemplo, puede empezar con una instancia pequeña mientras hace pruebas y, a continuación, escalar la instancia cuando empiece a recibir tráfico de producción para el servicio. Aurora Serverless V2 se escala de forma automática en respuesta a los cambios de carga.  

1. Establezca el punto de referencia de los requisitos en torno al rendimiento normal y máximo (transacciones por segundo [TPS] y consultas por segundo [QPS]) y la coherencia (ACID y coherencia final).

1.  Documente los aspectos del despliegue de la solución y los requisitos de acceso a la base de datos (como la replicación global, Multi-AZ, la replicación de lectura y varios nodos de escritura). 

 **Nivel de esfuerzo para el plan de implementación:** bajo. Si no dispone de registros ni métricas para su solución de administración de datos, deberá hacerlo antes de identificar y documentar los patrones de acceso a los datos. Una vez comprendido el patrón de acceso a los datos, la selección y configuración del almacenamiento de datos implica un nivel de esfuerzo bajo. 

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

 **Documentos relacionados:** 
+ [Bases de datos en la nube con AWS](https://aws.amazon.com/products/databases/)
+ [Trabajar con el almacenamiento de las instancias de base de datos de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html)
+ [Almacenamiento de Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/how-it-works.html#how-it-works.storage)
+ [Almacenamiento en caché de base de datos de AWS](https://aws.amazon.com/caching/database-caching/)
+ [Almacenamiento de Amazon Timestream](https://docs.aws.amazon.com/timestream/latest/developerguide/storage.html)
+ [Almacenamiento en Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/Storage.html)
+ [Preguntas frecuentes de Amazon ElastiCache](https://aws.amazon.com/elasticache/faqs/)
+ [Almacenamiento, fiabilidad y disponibilidad de Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/feature-overview-storage.html)
+ [Prácticas recomendadas de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+ [Acelerador de Amazon DynamoDB](https://aws.amazon.com/dynamodb/dax/) 
+ [Prácticas recomendadas de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Tipos de almacenamiento de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 
+ [Especificaciones de hardware para clases de instancias de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.Types)
+ [Límites de almacenamiento de Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.FileSize.Aurora)

 **Vídeos relacionados: ** 
+ [Bases de datos personalizadas de AWS (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Desmitificación del almacenamiento de Amazon Aurora: cómo funciona realmente (DAT309-R)](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [Análisis en profundidad de Amazon DynamoDB: patrones de diseño avanzados (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Ejemplos relacionados:** 
+  [Experimente y pruebe con las pruebas de carga distribuida en AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF04-BP05 Optimizar el almacenamiento de datos según las métricas y los patrones de acceso
<a name="perf_right_database_solution_optimize_metrics"></a>

 Use características de rendimiento y patrones de acceso que optimicen cómo se almacenan o consultan los datos para lograr el mejor rendimiento posible. Mida el impacto de las optimizaciones como la indexación, la distribución de claves, el diseño del almacenamiento de datos o las estrategias de almacenamiento en caché en el rendimiento del sistema o la eficiencia general. 

 **Patrones de uso no recomendados comunes:** 
+  Solo utiliza la búsqueda manual de archivos de registro con las métricas. 
+  Solo publica las métricas en las herramientas internas. 

 **Beneficios de establecer esta práctica recomendada:** para asegurarse de que se cumplen las métricas requeridas para la carga de trabajo, debe supervisar las métricas de rendimiento de la base de datos relacionadas con las lecturas y las escrituras. Puede utilizar estos datos para añadir nuevas optimizaciones tanto para las lecturas como para las escrituras en la capa de almacenamiento de datos. 

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

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

 Optimizar el almacenamiento de datos basándose en métricas y patrones: utilice las métricas notificadas para identificar cualquier área de bajo rendimiento en su carga de trabajo y optimizar los componentes de su base de datos. Cada sistema de base de datos tiene características relacionadas con el rendimiento diferentes que evaluar; por ejemplo, cómo se indexan, almacenan en caché o distribuyen los datos entre varios sistemas. Mida el impacto de sus optimizaciones. 

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

 **Documentos relacionados:** 
+  [Almacenamiento en caché de base de datos de AWS](https://aws.amazon.com/caching/database-caching/) 
+  [Los 10 mejores consejos de rendimiento de Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Prácticas recomendadas de Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [Acelerador de Amazon DynamoDB](https://aws.amazon.com/dynamodb/dax/) 
+  [Prácticas recomendadas de Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Prácticas recomendadas de Amazon Redshift Spectrum](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/) 
+  [Análisis de las anomalías de rendimiento con DevOps Guru para RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/devops-guru-for-rds.html) 
+  [Modo de capacidad de lectura/escritura para DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html) 

 **Vídeos relacionados:** 
+  [Bases de datos personalizadas de AWS (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Desmitificación del almacenamiento de Amazon Aurora: cómo funciona todo (DAT309-R)](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Profundización de Amazon DynamoDB: patrones de diseño avanzado (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Ejemplos relacionados:** 
+  [Laboratorios prácticos para Amazon DynamoDB](https://amazon-dynamodb-labs.workshop.aws/hands-on-labs.html) 

# PERF 5: ¿Cómo configura la solución de red?
<a name="perf-05"></a>

 La solución de red ó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 locales, determinan las opciones de ubicación. Estas restricciones pueden compensarse con la ubicación periférica o la ubicación de los recursos. 

**Topics**
+ [PERF05-BP01 Comprender cómo afectan las redes al rendimiento](perf_select_network_understand_impact.md)
+ [PERF05-BP02 Evaluar las características de las redes disponibles](perf_select_network_evaluate_features.md)
+ [PERF05-BP03 Elija una conectividad dedicada de tamaño adecuado o una VPN para las cargas de trabajo híbridas](perf_select_network_hybrid.md)
+ [PERF05-BP04 Aprovechar el equilibrio de carga y la descarga de codificación](perf_select_network_encryption_offload.md)
+ [PERF05-BP05 Elegir los protocolos de red para mejorar el rendimiento](perf_select_network_protocols.md)
+ [PERF05-BP06 Elegir la ubicación de la carga de trabajo en función de los requisitos de la red](perf_select_network_location.md)
+ [PERF05-BP07 Optimizar la configuración de red según las métricas](perf_select_network_optimize.md)

# PERF05-BP01 Comprender cómo afectan las redes al rendimiento
<a name="perf_select_network_understand_impact"></a>

 Analizar y comprender cómo las decisiones relacionadas con la red afectan al rendimiento de la carga de trabajo. 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 locales, 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 se ve 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. 

 **Resultado deseado:** disponer 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. 

 **Patrones de uso no recomendados comunes:** 
+  Todo el tráfico fluye a través de sus centros de datos existentes. 
+  Crea en exceso las sesiones de 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 locales 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 le ayudará 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>

 Identifique las métricas de rendimiento de red importantes de su carga de trabajo y capture sus características de red. Defina y documente los requisitos como parte de un enfoque basado en datos, mediante las comparaciones o las pruebas de carga. Utilice estos datos para identificar los límites de su servicio de red y examine las opciones de configuración que podrían mejorar la carga de trabajo. Conozca las características y opciones de las redes nativas en la nube disponibles y cómo pueden afectar al rendimiento de su carga de trabajo en función de los requisitos. Cada característica de las redes tiene ventajas y desventajas, y puede configurarse para satisfacer las características de su carga de trabajo y escalar en función de sus necesidades. 

 **Pasos de implementación:** 

1.  Defina y documente los requisitos de rendimiento de la red: 

   1.  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. 

1.  Capture sus características de red fundamentales: 

   1.  [Registros de flujo de VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

   1.  [Métricas de AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-cloudwatch-metrics.html) 

   1.  [Métricas de AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html) 

1.  Capture sus características de red de aplicación: 

   1.  [Elastic Network Adaptor](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) 

   1.  [Métricas de AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-metrics.html) 

   1.  [Métricas de Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) 

1.  Capture sus características de red periférica: 

   1.  [Métricas de Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) 

   1.  [Métricas de Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-cloudwatch.html) 

   1.  [Métricas de AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/cloudwatch-monitoring.html) 

1.  Capture sus características de red híbrida: 

   1.  [Métricas de Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html) 

   1.  [Métricas de AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/monitoring-cloudwatch-vpn.html) 

   1.  [Métricas de AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/monitoring-cloudwatch.html) 

   1.  [Métricas de Nube de AWS](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-cloudwatch-metrics.html) 

1.  Capture sus características de red de seguridad: 

   1.  [Métricas de AWS Shield, WAF y Network Firewall](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html) 

1.  Capture las métricas de rendimiento de extremo a extremo con herramientas de seguimiento: 

   1.  [AWS X-Ray](https://aws.amazon.com/xray/) 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

1.  Compare y pruebe el rendimiento de la red: 

   1.  [Compare](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) el rendimiento de la red: Algunos factores que pueden afectar al rendimiento de red de EC2 cuando las instancias están en la misma VPC. Mida el ancho de banda de la red entre las instancias Linux de EC2 en la misma VPC. 

   1.  Realice [pruebas de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para experimentar con soluciones y opciones de redes 

 **Nivel de esfuerzo para el plan de implementación: **hay un nivel *medio* para documentar los requisitos de red de la carga de trabajo, las opciones y las soluciones disponibles. 

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

 **Documentos relacionados:** 
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+ [EC2 Redes mejoradas en Linux ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+ [EC2 Redes mejoradas en Windows ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+ [EC2 Grupos de ubicación ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+ [Habilitar redes mejoradas con Elastic Network Adapter (ENA) en las instancias de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+ [Balanceador de carga de red ](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)
+ [Transición al enrutamiento basado en la latencia en Amazon Route 53 ](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Puntos de conexión de VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Registros de flujo de VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vídeos relacionados:** 
+ [Connectivity to AWS and hybrid AWS network architectures (Conectividad con AWS y arquitecturas de redes de AWS híbridas) (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (Optimización del rendimiento de red para instancias de Amazon EC2) (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Improve Global Network Performance for Applications (Mejorar el rendimiento global de la red para las aplicaciones)](https://youtu.be/vNIALfLTW9M) 
+  [EC2 Instances and Performance Optimization Best Practices (Prácticas recomendadas de optimización del rendimiento y de las instancias de EC2)](https://youtu.be/W0PKclqP3U0) 
+  [Optimizing Network Performance for Amazon EC2 Instances (Optimización del rendimiento de red para instancias de Amazon EC2)](https://youtu.be/DWiwuYtIgu0) 
+  [Networking best practices and tips with the Well-Architected Framework (Prácticas recomendadas y consejos para la creación de redes con Well-Architected Framework)](https://youtu.be/wOMNpG49BeM) 
+  [AWS networking best practices in large-scale migrations (Prácticas recomendadas de redes de AWS en migraciones a gran escala)](https://youtu.be/qCQvwLBjcbs) 

 **Ejemplos relacionados:** 
+  [AWS Transit Gateway y soluciones de seguridad escalables](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Talleres de red de AWS](https://networking.workshop.aws/) 

# PERF05-BP02 Evaluar las características de las redes disponibles
<a name="perf_select_network_evaluate_features"></a>

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

Muchos servicios se crean para mejorar el rendimiento y otros suelen ofrecer funciones para optimizar el rendimiento de la red. Servicios como AWS, Global Accelerator y Amazon CloudFront existen para mejorar el rendimiento, mientras que la mayoría de los otros servicios tienen características de producto para optimizar el tráfico de la red. Revise las características del producto, como la capacidad de red de las instancias de EC2, los tipos de instancia de red mejorados, las instancias optimizadas con Amazon EBS, la aceleración de la transferencia de Amazon S3 y CloudFront para mejorar el rendimiento de su carga de trabajo. 

**Resultado deseado:** Ha documentado el inventario de componentes dentro de su carga de trabajo y ha identificado qué configuraciones de red por componente le ayudarán a cumplir sus requisitos de rendimiento. Después de evaluar las funciones de red, ha experimentado y medido las métricas de rendimiento para identificar cómo utilizar las funciones disponibles. 

**Patrones comunes de uso no recomendados:** 
+ Coloca todas sus cargas de trabajo en una Región de AWS más cercana a su sede en lugar de una Región de AWS cercana a sus usuarios finales. 
+ No se evalúa el rendimiento de la carga de trabajo y no se evalúa continuamente el rendimiento de la carga de trabajo con respecto a ese punto de referencia.
+ No se revisan las configuraciones de los servicios para mejorar el rendimiento. 

**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 asegurarse de ofrecer la 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>

Revise qué opciones de configuración relacionadas con la red están disponibles para usted y cómo podrían afectar a su carga de trabajo. Comprender la forma en que estas opciones interactúan con su arquitectura y el impacto que tendrán tanto en el rendimiento medido como en el rendimiento percibido por los usuarios es fundamental para la optimización del rendimiento. 

**Pasos para la aplicación:** 

1. Cree una lista de componentes de la carga de trabajo. 

   1. Construya, administre y supervise la red de su organización utilizando [Nube de AWS WAN](https://aws.amazon.com/cloud-wan/). 

   1. Obtenga visibilidad de su red mediante el [Administrador de redes](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html). Utilice una herramienta de base de datos de administración de la configuración (CMDB) existente o una herramienta como [AWS Config](https://aws.amazon.com/config/) para crear un inventario de su carga de trabajo y cómo está configurada. 

1. Si se trata de una carga de trabajo existente, identifique y documente el punto de referencia para sus métricas de rendimiento, centrándose en los cuellos de botella y las áreas a 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. 

1. Si se trata de una nueva carga de trabajo, realice [pruebas de carga](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) para identificar cuellos de botella en el rendimiento. 

1. Para los cuellos de botella de rendimiento que identifique, revise las opciones de configuración de sus soluciones para identificar las oportunidades de mejora del rendimiento. 

1. Si no conoce las rutas de red, utilice el [Analizador de acceso de red](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) para identificarlas. 

1. Revise sus protocolos de red para reducir aún más su latencia.
   + [PERF05-BP05 Elegir los protocolos de red para mejorar el rendimiento](perf_select_network_protocols.md) 

1. Si está utilizando una AWS Site-to-Site VPN a través de múltiples ubicaciones para conectarse a una Región de AWS, revise las [conexiones de Site-to-Site VPN aceleradas](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) en busca de oportunidades para mejorar el rendimiento de la red.

1. Cuando el tráfico de su carga de trabajo se reparte entre varias cuentas, evalúe su topología de red y sus servicios para reducir la latencia. 
   + Evalúe sus compensaciones operativas y de rendimiento entre [Interconexión de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) y [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) cuando se conectan varias cuentas. AWS Transit Gateway admite un rendimiento de Site-to-Site VPN de AWS para escalar más allá de un solo [límite máximo de IPsec](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) utilizando rutas múltiples. El tráfico entre una Amazon VPC y AWS Transit Gateway permanece en la red privada de AWS y no se expone a Internet. AWS Transit Gateway simplifica la forma de interconectar todas sus VPC, que pueden abarcar miles de Cuentas de AWS y en las redes locales. Comparta su AWS Transit Gateway entre varias cuentas utilizando [Resource Access Manager](https://aws.amazon.com/ram/). Para obtener visibilidad del tráfico global de su red, utilice el [Administrador de redes](https://aws.amazon.com/transit-gateway/network-manager/) para obtener una visión centralizada de las métricas de su red. 

1. Revise la ubicación de sus usuarios y minimice la distancia entre ellos y la carga de trabajo.

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) es un servicio de redes que mejora el rendimiento del tráfico de los usuarios hasta un 60 por ciento utilizando la infraestructura de red global de Amazon Web Services. Cuando Internet está congestionado, AWS Global Accelerator optimiza la ruta hacia su aplicación para mantener bajas de forma constante las pérdidas de paquetes, las fluctuaciones y la latencia. También proporciona direcciones IP estáticas que simplifican el traslado de puntos de conexión entre zonas de disponibilidad o Regiones de AWS sin necesidad de actualizar la configuración de DNS o cambiar las aplicaciones orientadas al cliente. 

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) puede mejorar el rendimiento de la entrega de contenidos de su carga de trabajo y la latencia a nivel mundial. CloudFront cuenta con más de 410 puntos de presencia dispersos por todo el mundo que pueden almacenar en caché sus contenidos y reducir la latencia hasta el usuario final. 

   1. Amazon Route 53 ofrece opciones de [enrutamiento basado en la latencia](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html), [enrutamiento de geolocalización](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html), [enrutamiento de geoproximidad](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html) y [enrutamiento basado en IP](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) para ayudar a mejorar el rendimiento de su carga de trabajo para una audiencia a nivel mundial. Identifique qué opción de enrutamiento optimizaría el rendimiento de su carga de trabajo revisando el tráfico de su carga de trabajo y la ubicación de los usuarios. 

1. Evalúe las características adicionales para mejorar las operaciones de entrada/salida por segundo de almacenamiento. 

   1.  [Aceleración de transferencia de Amazon S3](https://aws.amazon.com/s3/transfer-acceleration/) es una función que permite que los usuarios externos se beneficien de las optimizaciones de redes de CloudFront para cargar datos en Amazon S3. Esto mejora la capacidad de transferir grandes cantidades de datos desde ubicaciones remotas que no tienen conectividad dedicada a la Nube de AWS. 

   1.  [Puntos de acceso multirregión de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) replica el contenido en varias regiones y simplifica la carga de trabajo proporcionando un punto de acceso. Cuando se utiliza un punto de acceso multirregión, se pueden solicitar o escribir datos en Amazon S3 con el servicio que identifica el bucket de menor latencia. 

1. Revise el ancho de banda de la red de recursos de computación.

   1. Las Interfaces de red elásticas (ENI) utilizadas por las instancias de EC2, los contenedores y las funciones de Lambda están limitadas por el flujo. Revise sus grupos de colocación para optimizar su [rendimiento de red de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html). Para evitar el cuello de botella en la base por flujo, diseñe su aplicación para utilizar múltiples flujos. Para supervisar y obtener visibilidad de las métricas de red relacionadas con la computación, utilice [Métricas de CloudWatch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) y [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html). `ethtool` se incluye en el controlador ENA y expone métricas adicionales relacionadas con la red que pueden publicarse como una [métrica personalizada](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) en CloudWatch. 

   1. Las instancias de EC2 más recientes aprovechan las redes mejoradas. [Las instancias de EC2 de la serie N](https://aws.amazon.com/ec2/nitro/), como `M5n` y `M5dn`, aprovechan la cuarta generación de tarjetas Nitro personalizadas para ofrecer hasta 100 Gbps de rendimiento de red en una sola instancia. Estas instancias ofrecen cuatro veces el ancho de banda de la red y el proceso de paquetes en comparación con las instancias `M5` básicas y son ideales para aplicaciones intensivas de red. 

   1. [Los Adaptadores de red elásticos de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) (ENA) proporcionan una mayor optimización al ofrecer un mejor rendimiento para sus instancias dentro de un [grupo con ubicación en clúster](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster). 

   1. [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/) (EFA) es una interfaz de red para instancias de Amazon EC2 que permite ejecutar cargas de trabajo que requieren altos niveles de comunicación entre nodos a escala en AWS. Con EFA, las aplicaciones de computación de alto rendimiento (HPC) que utilizan Message Passing Interface (MPI) y las aplicaciones de machine learning (ML) que utilizan NVIDIA Collective Communications Library (NCCL) pueden escalar a miles de CPU o GPU. 

   1. [Las instancias optimizadas por Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) utilizan una pila de configuración optimizada y ofrecen capacidad dedicada adicional para aumentar la E/S de . Esta optimización ofrece el mejor rendimiento para sus volúmenes de EBS mediante la minimización de la contención entre la E/S de Amazon EBS y otro tráfico de red desde su instancia. 

**Nivel de esfuerzo para el plan de implementación: **

Para establecer esta práctica recomendada, debe conocer las opciones de los componentes de la carga de trabajo actual que afectan al rendimiento de la red. Reunir los componentes, evaluar las opciones de mejora de la red, experimentar, implementar y documentar esas mejoras implica un nivel de esfuerzo de *bajo* a *moderado* . 

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

 **Documentos relacionados:** 
+  [Amazon EBS - Optimized Instances (Amazon EBS: instancias optimizadas)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Amazon EC2 instance network bandwidth (Ancho de banda de la red de la instancia de Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) 
+  [EC2 Enhanced Networking on Linux (Redes mejoradas EC2 en Linux)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [EC2 Enhanced Networking on Windows (Redes mejoradas de EC2 en Windows)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 Placement Groups (Grupos de ubicación de EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances (Habilitar redes mejoradas con Elastic Network Adapter [ENA] en las instancias de Linux)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Balanceador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Productos de redes con AWS](https://aws.amazon.com/products/networking/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transición al enrutamiento basado en la latencia en Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Building a cloud CMDB (Creación de una CMDB en la nube)](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [Scaling VPN throughput using AWS Transit Gateway (Escalar el rendimiento de la VPN mediante AWS Transit Gateway)](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **Vídeos relacionados:** 
+  [Conectividad con AWS y arquitecturas de red de AWS híbridas (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimización del rendimiento de red para instancias de Amazon EC2 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

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

# PERF05-BP03 Elija una conectividad dedicada de tamaño adecuado o una VPN para las cargas de trabajo híbridas
<a name="perf_select_network_hybrid"></a>

 Cuando se requiere una red común para conectar los recursos locales y de la nube en AWS, compruebe que dispone del ancho de banda adecuado para satisfacer sus requisitos de rendimiento. Calcule los requisitos de ancho de banda y latencia para su carga de trabajo híbrida. Estas cifras determinarán los requisitos de tamaño para sus opciones de conectividad. 

 **Resultado deseado:** al desplegar una carga de trabajo que necesitará una red híbrida, dispone de varias opciones de configuración para la conectividad, como una conexión dedicada o una red privada virtual (VPN). Seleccione el tipo de conexión adecuado para cada carga de trabajo y compruebe que tiene los requisitos adecuados de ancho de banda y cifrado entre su ubicación y la nube. 

 **Antipatrones usuales:** 
+ No comprende ni identifica todos los requisitos de la carga de trabajo (ancho de banda, latencia, fluctuación, cifrado y necesidades de tráfico).
+  No evalúa las opciones de copia de seguridad o de conectividad paralela. 

 **Beneficios de establecer esta práctica recomendada:** la selección y configuración de soluciones de redes híbridas de tamaño adecuado aumentará la fiabilidad de su carga de trabajo y maximizará las oportunidades de rendimiento. Si identifica los requisitos de la carga de trabajo, planifica con antelación y evalúa las soluciones híbridas, minimizará los costosos cambios en la red física y los gastos operativos, a la vez que acelerará el tiempo de comercializació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 basada en sus requisitos de ancho de banda. Calcule los requisitos de ancho de banda y latencia de sus aplicaciones híbridas. Considere qué opción de conectividad es adecuada: una conexión de red dedicada o una VPN basada en Internet.

La conexión dedicada establece una conexión de red a través de líneas privadas. Es adecuada cuando se necesita un gran ancho de banda y una baja latencia con un rendimiento constante. La conexión VPN establece una conexión segura a través de Internet. Es adecuada cuando se necesita una conexión cifrada utilizando una conexión a Internet existente.

En función de sus necesidades de ancho de banda, es posible que una sola conexión de VPN o dedicada no sea suficiente y que deba diseñar una configuración híbrida que permita equilibrar la carga de tráfico en varias conexiones. 

 **Pasos para la implementación** 

1.  Calcule los requisitos de ancho de banda y latencia de sus aplicaciones híbridas. 

   1.  En el caso de aplicaciones existentes que se trasladan a AWS, aproveche los datos de sus sistemas internos de supervisión de red. 

   1.  En el caso de aplicaciones nuevas o existentes para las que no disponga de datos de supervisión, consulte con los propietarios del producto para obtener métricas de rendimiento adecuadas y ofrecer una buena experiencia de usuario. 

1.  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 AWS Site-to-Site VPN (o ambas). El siguiente diagrama le ayudará a elegir el tipo de conexión adecuado. 

   1.  Si considera la conexión dedicada, es posible que necesite AWS Direct Connect, que ofrece un rendimiento más predecible y coherente gracias a su conectividad de red privada. AWS Direct Connect proporciona conectividad dedicada al entorno de AWS, desde 50 Mbps hasta 100 Gbps, mediante una conexión dedicada o una conexión hospedada. 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 enrutamiento de múltiples rutas de igual coste (ECMP). 

   1.  Si considera una conexión VPN, una VPN administrada por AWS es la opción recomendada. La AWS Site-to-Site VPN proporciona un servicio de VPN administrado que admite el protocolo de seguridad de protocolo de Internet (IPsec). Cuando se crea una conexión VPN, cada conexión VPN incluye dos túneles para ofrecer una alta disponibilidad. Con AWS Transit Gateway, puede simplificar la conectividad entre varias VPC y también conectarse a cualquier VPC conectada a AWS Transit Gateway con una única conexión VPN. AWS Transit Gateway también le permite escalar más allá del límite de rendimiento de VPN de IPsec de 1,25 Gbps al habilitar el soporte de enrutamiento de múltiples rutas de igual coste (ECMP) en varios túneles de VPN. 

![\[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/2023-04-10/framework/images/deterministic-performance-flowchart.png)


 

 **Nivel de esfuerzo para el plan de implementación:** alto. La evaluación de las necesidades de la carga de trabajo para redes híbridas y la implementación de soluciones de redes híbridas supone un esfuerzo significativo. 

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

 **Documentos relacionados:** 
+ [Equilibrador de carga de red](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Networking Products with AWS](https://aws.amazon.com/products/networking/) (Productos de redes con AWS) 
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+ [Transición al direccionamiento basado en la latencia en Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  [Building a Scalable and Secure Multi-VPC AWS Network Infrastructure](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) (Creación de una infraestructura de red de AWS con varias VPC escalable y segura) 
+  [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) (Cliente VPN) 

 **Vídeos relacionados: ** 
+ [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) (Conectividad con AWS y arquitecturas de redes de AWS híbridas) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) (Optimización del rendimiento de red para instancias Amazon EC2) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 
+  [AWS Direct Connect](https://www.youtube.com/watch?v=DXFooR95BYc&t=6s) 
+  [Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 
+  [VPN Solutions](https://www.youtube.com/watch?v=qmKkbuS9gRs) (Soluciones de VPN) 
+  [Security with VPN Solutions](https://www.youtube.com/watch?v=FrhVV9nG4UM) (Seguridad con soluciones de VPN) 

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

# PERF05-BP04 Aprovechar el equilibrio de carga y la descarga de codificación
<a name="perf_select_network_encryption_offload"></a>

Utilice equilibradores de carga para lograr una eficiencia óptima del rendimiento de sus recursos de destino y mejorar la capacidad de respuesta de su sistema.

 **Resultado deseado:** reduzca el número de recursos de computación necesarios para atender su tráfico. Evite el desequilibrio en el consumo de recursos en sus destinos. Descargue las tareas intensivas de computación en el equilibrador de carga. Aproveche la elasticidad y flexibilidad de la nube para mejorar el rendimiento y optimizar su arquitectura. 

 **Antipatrones usuales:** 
+ No se tienen en cuenta los requisitos de la carga de trabajo al elegir el tipo de equilibrador de carga.
+ No se aprovechan 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. 

 **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. 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, Local Zone, Outpost o aislamiento zonal). 

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

 Por ejemplo, al utilizar tanto Application Load Balancer (ALB) como Network Load Balancer (NLB), puede realizar 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. 

 Application Load Balancer también puede atender el tráfico HTTP2 sin necesidad de soporte en sus destinos. Esta simple decisión puede mejorar el tiempo de respuesta de su aplicación, ya que HTTP2 utiliza las conexiones TCP de forma más eficiente. 

 Los equilibradores de carga también se pueden utilizar para hacer que su arquitectura sea más flexible al distribuir el tráfico a través de diferentes tipos de backend, como contenedores y sin servidor. Por ejemplo, Application Load Balancer se puede configurar con [reglas de agente de escucha](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html) que reenvían el tráfico a diferentes grupos de destino en función de los parámetros de la solicitud, como el encabezado, el método o el patrón. 

 Los requisitos de latencia de la carga de trabajo también 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 Network Load Balancer, que ofrece latencias extremadamente bajas. Como alternativa, puede decidir acercar su carga de trabajo a sus clientes con Application Load Balancer en [AWSLocal Zones](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 habilitadas. Esto mejora la disponibilidad, aunque puede añadir un milisegundo de un solo dígito a la latencia de ida y vuelta. 

 Por último, tanto ALB como NLB ofrecen recursos de supervisión como registros y métricas. Una configuración adecuada de la supervisión contribuirá a recopilar información sobre el rendimiento de la aplicación. Por ejemplo, puede utilizar los registros de acceso de ALB para averiguar qué solicitudes tardan más en responderse o qué objetivos de backend causan problemas de rendimiento. 

 **Pasos para la implementación** 

1.  Elija el equilibrador de carga adecuado para su carga de trabajo. 

   1.  Utilice Application Load Balancer para cargas de trabajo HTTP/HTTPS. 

   1.  Utilice Network Load Balancer para cargas de trabajo distintas de HTTP que se ejecuten en TCP o UDP. 

   1.  Utilice una combinación de ambos ([ALB como destino 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 de NLB junto con el enrutamiento basado en encabezado HTTP de ALB, o si desea exponer su carga de trabajo HTTP a una [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html). 

   1.  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/). 

1.  Utilice la descarga SSL/TLS. 

   1.  Configure los agentes de escucha HTTPS/TLS con [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) y [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) integrados con [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/). 

   1.  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 habilitar el cifrado en los destinos. 

   1.  Para conocer las prácticas recomendadas de seguridad, consulte [SEC09-BP02 Aplicar el cifrado en tránsito](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html). 

1.  Seleccione el algoritmo de enrutamiento adecuado. 

   1.  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, ALB proporciona [dos opciones para los algoritmos de enrutamiento](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm): 

   1.  **Solicitudes menos pendientes:** utilícelo 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. 

   1.  **Distribución:** utilícelo cuando las solicitudes y los destinos sean similares, o si necesita distribuir las solicitudes equitativamente entre los destinos. 

1.  Considere el aislamiento entre zonas o zonal. 

   1.  Desactive el aislamiento entre zonas (aislamiento zonal) para mejorar la latencia y los dominios de error zonal. Está desactivado de forma predeterminada en NLB y, en [ALB, puede desactivarlo por grupo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/disable-cross-zone.html). 

   1.  Active el aislamiento entre zonas para aumentar la disponibilidad y flexibilidad. Está activado de forma predeterminada en ALB y, en [NLB, puede activarlo por grupo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-cross-zone.html). 

1.  Active la conexión persistente HTTP para sus cargas de trabajo HTTP. 

   1.  Para cargas de trabajo HTTP, active la conexión persistente HTTP en la configuración del servidor web para sus destinos de backend. 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 información detallada sobre cómo hacer esto para Apache y Nginx, consulte [What are the optimal settings for using Apache or NGINX as a backend server for ELB?](https://aws.amazon.com/premiumsupport/knowledge-center/apache-backend-elb/) (¿Cuál es la configuración óptima para utilizar Apache o NGINX como servidor backend para ELB?) 

1.  Utilice integraciones de Elastic Load Balancing para conseguir una mejor orquestación de los recursos de computación. 

   1.  Utilice Auto Scaling 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 aprovechar 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 Auto Scaling, los destinos se añadirán o eliminarán del equilibrador de carga según sea necesario y en respuesta al tráfico entrante. 

   1.  Los equilibradores de carga también pueden integrarse con Amazon ECS y Amazon EKS para cargas de trabajo en contenedores. 
      + [ Utilizar Elastic Load Balancing para distribuir el tráfico entre las instancias de un grupo de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html)
      + [ Amazon ECS: Equilibrio de la carga de servicios](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)
      + [ Equilibrio 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)

1.  Supervise su equilibrador de carga para detectar cuellos de botella en el rendimiento. 

   1.  Habilite los registros de acceso para su [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html) y [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html). 

   1.  Los principales campos a tener en cuenta para ALB son `request_processing_time`, `request_processing_time`y `response_processing_time`. 

   1.  Los principales campos a tener en cuenta para NLB son `connection_time` y `tls_handshake_time`. 

   1.  Esté preparado para consultar los registros cuando los necesite. Puede utilizar Amazon Athena para consultar tanto los [registros de ALB](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) como los [registros de NLB](https://docs.aws.amazon.com/athena/latest/ug/networkloadbalancer-classic-logs.html). 

   1.  Cree alarmas para las métricas relacionadas con el rendimiento, como [`TargetResponseTime` para ALB](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html). 

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

 **Prácticas recomendadas relacionadas:** 
+  [SEC09-BP02 Aplicar el cifrado en tránsito](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html) 

 **Documentos relacionados:** 
+ [ELB product comparison](https://aws.amazon.com/elasticloadbalancing/features/)(Comparación de productos ELB)
+ [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/) (Mejora del rendimiento y reducción de costes mediante la afinidad de zonas de disponibilidad)
+ [ Step by step for Log Analysis with Amazon Athena](https://github.com/aws/elastic-load-balancing-tools/tree/master/amazon-athena-for-elb) (Paso a paso del análisis de registro con Amazon Athena)
+ [ Querying Application Load Balancer logs](https://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html) (Consulta de los registros de Application Load Balancer)
+ [ Monitor your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-monitoring.html) (Supervise sus Application Load Balancer)
+ [ Monitor your Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-monitoring.html) (Supervise sus Network Load Balancer)

 **Vídeos relacionados: ** 
+ [AWS re:Invent 2018: [REPEAT 1] Elastic Load Balancing: Deep Dive and Best Practices (NET404-R1)](https://www.youtube.com/watch?v=VIgAT7vjol8) (AWS re:Invent 2018: [REPETICIÓN 1] Elastic Load Balancing: Profundización y prácticas recomendadas)
+ [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 2021: Cómo elegir el equilibrador de carga adecuado para sus cargas de trabajo de AWS)
+ [AWS re:Inforce 2022 - How to use Elastic Load Balancing to enhance your security posture at scale (NIS203)](https://www.youtube.com/watch?v=YhNc5VSzOGQ) (AWS re:Inforce 2022: Cómo utilizar Elastic Load Balancing para mejorar la postura de seguridad a escala)
+ [AWS re:Invent 2019: Get the most from Elastic Load Balancing for different workloads (NET407-R2)](https://www.youtube.com/watch?v=HKh54BkaOK0) (AWS re:Invent 2019: Sacar el máximo partido de Elastic Load Balancing para diferentes cargas de trabajo)

 **Ejemplos relacionados:** 
+ [ 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) (CDK y ejemplos de CloudFormation para análisis de registros con Amazon Athena) 

# PERF05-BP05 Elegir los protocolos de red para mejorar el rendimiento
<a name="perf_select_network_protocols"></a>

Evalúe los requisitos de rendimiento de su carga de trabajo y elija los protocolos de red que optimicen el rendimiento global de su carga de trabajo.

Existe una relación entre la latencia y el ancho de banda para lograr el rendimiento. Por ejemplo, si su transferencia de archivos utiliza el protocolo de control de transmisión (TCP), las latencias más altas reducirán el rendimiento general. Existen enfoques para solucionar esto con el ajuste de TCP y protocolos de transferencia optimizados (algunos métodos utilizan el protocolo de datagramas de usuario (UDP).

 El protocolo[Scalable Reliable Datagram (SRD)](https://ieeexplore.ieee.org/document/9167399) es un protocolo de transporte de red creado por AWS para Elastic Fabric Adapters que proporciona una entrega de datagramas fiable. A diferencia del protocolo TCP, SRD puede reordenar paquetes y entregarlos fuera de orden. Este mecanismo de entrega fuera de orden de SRD envía paquetes en paralelo por rutas alternativas, lo que aumenta el rendimiento. 

 **Antipatrones usuales:** 
+  Utiliza TCP para todas las cargas de trabajo, independientemente de los requisitos de rendimiento. 

 **Beneficios de establecer esta práctica recomendada:** 
+  La selección del protocolo adecuado para la comunicación entre los componentes de la carga de trabajo le garantiza el mejor rendimiento para esa carga. 
+  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, mediante el uso conjunto de TCP y UDP, las cargas de trabajo de VDI pueden aprovechar la fiabilidad de TCP para datos cruciales y la velocidad de UDP para datos en tiempo real. 

 **Nivel de riesgo expuesto si no se establece esta práctica recomendada:** medio (El uso de un protocolo de red inadecuado puede dar lugar a un rendimiento deficiente, como tiempos de respuesta lentos, alta latencia y escasa escalabilidad) 

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

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 con servidores en AWS. El correo electrónico y la transferencia de datos de archivos son aplicaciones habituales que también hacen uso de TCP debido a la capacidad de TCP de controlar la velocidad del intercambio de datos y la congestión de la red. El uso de TLS con TCP puede añadir cierta sobrecarga a la comunicación, lo que puede provocar un aumento de la latencia y una reducción del rendimiento. La sobrecarga proviene principalmente de la sobrecarga añadida 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. El protocolo de seguridad de la capa de transporte (DTLS) es el equivalente UDP de 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 añade 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. Esto incluye 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** 

1.  Utilice los servicios [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. 

1.  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 su carga de trabajo sirve contenido dinámico a los usuarios, considere el uso de [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. 

1.  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 este tipo de cargas de trabajo, considere la posibilidad de descargar 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 la utilización de la CPU en las instancias backend, lo que puede mejorar el rendimiento y aumentar la capacidad. 

1.  Utilice el [Network Load Balancer (NLB)](https://aws.amazon.com/elasticloadbalancing/network-load-balancer/) para desplegar 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 NLB 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. 

1.  Para las cargas de trabajo de computación de alto rendimiento (HPC), considere el uso de 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 mayor ancho de banda de flujo único (25 Gbps) y una menor latencia de cola (percentil 99,9) para el tráfico de red entre instancias EC2. 

1.  Utilice el [Application Load Balancer (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 habilitados para 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:** 
+  [Instancias optimizadas para Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [EC2 Enhanced Networking on Linux (Redes mejoradas EC2 en Linux)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [EC2 Enhanced Networking on Windows (Redes mejoradas de EC2 en Windows)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 Placement Groups (Grupos de ubicación de EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances (Habilitar redes mejoradas con Elastic Network Adapter [ENA] en las instancias de Linux)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Networking Products with AWS](https://aws.amazon.com/products/networking/) (Productos de redes con AWS) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transición al direccionamiento basado en la latencia en Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vídeos relacionados: ** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) (Conectividad con AWS y arquitecturas de redes de AWS híbridas) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) (Optimización del rendimiento de red para instancias Amazon EC2) 
+ [ Tuning Your Cloud: Improve Global Network Performance for Application](https://www.youtube.com/watch?v=00ukhVcgWrs) (Puesta a punto de su nube: mejore el rendimiento global de la red para las aplicaciones)
+ [ Application Scaling with EFA and SRD](https://pages.awscloud.com/HPC-Application-Scaling-with-Elastic-Fabric-Adapter-EFA-and-Scalable-Reliable-Datagram-SRD_2020_0004-CMP_OD.html) (Escalado de aplicaciones con EFA y SRD)

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

# PERF05-BP06 Elegir la ubicación de la carga de trabajo en función de los requisitos de la red
<a name="perf_select_network_location"></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.

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

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

Los recursos, como las instancias Amazon EC2, se colocan en zonas de disponibilidad dentro de [Regiones de AWS](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [AWS Local Zones](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.

 **Pasos para la implementación** 

1.  Elija la Región de AWS o regiones adecuadas para su despliegue en función de los siguientes elementos clave: 

   1.  **Donde se encuentren sus usuarios:** elija una región cercana a los usuarios de su carga de trabajo para garantizar una baja latencia cuando utilicen la carga de trabajo. 

   1.  **Donde se encuentren sus datos:** en las aplicaciones con gran volumen de datos, el principal cuello de botella es la latencia. El código de la aplicación debe ejecutarse lo más cerca posible de los datos. 

   1.  **Otras limitaciones:** tenga en cuenta limitaciones como la seguridad y la conformidad (por ejemplo, requisitos de residencia de datos). 

1.  Para una carga de trabajo determinada, si un componente consta de un grupo de instancias Amazon EC2 interdependientes que requieren baja latencia, considere la posibilidad de utilizar [grupos con colocación en clúster](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) para influir en la colocación de dichas instancias a fin de satisfacer los requisitos de la carga de trabajo. Las instancias del mismo grupo con ubicación en clúster disfrutan de un límite de rendimiento por flujo superior para el tráfico TCP/IP y se colocan en el mismo segmento de ancho de banda de alta bisección de la red. Se recomiendan grupos con ubicación en clúster para aplicaciones que aprovechan la baja latencia de red, el alto rendimiento de red o ambos. 

1.  Para una carga de trabajo que sea sensible a la ubicación, por ejemplo, con requisitos de baja latencia o residencia de datos, revise [AWS Local Zones](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) o [AWS Outposts](https://aws.amazon.com/outposts/). 

   1.  AWS Local Zones es un tipo de despliegue de infraestructura que coloca servicios de computación, almacenamiento, bases de datos y otros servicios seleccionados de AWS cerca de grandes centros de población e industriales. 

   1.  AWS Outposts es una familia de soluciones totalmente administradas que ofrecen infraestructura y servicios de AWS a prácticamente cualquier ubicación local o periférica para lograr una experiencia híbrida realmente coherente. 

1.  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 este tipo de aplicaciones, considere [AWS Wavelength](https://aws.amazon.com/wavelength/). AWS Wavelength integra los servicios de computación y almacenamiento de AWS en las redes 5G, lo que proporciona una infraestructura de computación periférica móvil para desarrollar, desplegar y escalar aplicaciones de latencia ultrabaja. 

1.  Si tiene usuarios distribuidos geográficamente, puede utilizar una red de distribución de contenido (CDN) para acelerar la distribución de contenido web estático y dinámico mediante la entrega de datos a través de puntos de presencia (PoP) dispersos por todo el mundo. Por lo general, las CDN también proporcionan capacidades de computación en la periferia, realizando operaciones sensibles a la latencia, como manipulaciones de encabezados HTTP y reescrituras y redireccionamientos de URL a gran escala en la periferia. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) es un servicio web que acelera la distribución del contenido web estático y dinámico. Entre los casos de uso de CloudFront se incluyen la aceleración de la entrega de contenido estático de sitios web y el servicio de vídeo bajo demanda o la transmisión de vídeo en directo. CloudFront también se puede utilizar para personalizar el contenido y la experiencia de los espectadores, con una latencia reducida. 

1.  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. Estas aplicaciones pueden beneficiarse de los servicios de red que proporcionan direcciones IP estáticas de difusión por proximidad y terminación TCP en 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 multirregión. 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. 

1.  Si tiene aplicaciones o usuarios locales, puede beneficiarse de tener una conexión de red dedicada entre su red y la nube. Una conexión de red dedicada puede reducir la posibilidad de encontrar congestión o aumentos inesperados de latencia. [AWS Direct Connect](https://aws.amazon.com/directconnect/) puede mejorar el rendimiento de las aplicaciones al conectar la red directamente a AWS y evitar el internet público. Al crear una conexión nueva, puede elegir una conexión alojada proporcionada por un socio de entrega de AWS Direct Connect o elegir una conexión dedicada de AWS y desplegarla en más de 100 ubicaciones de AWS Direct Connect en todo el mundo. También puede reducir sus costes de red con bajas tasas de transferencia de datos fuera de AWS y, opcionalmente, configurar una Site-to-Site VPN para la conmutación por error. 

1.  Si configura una [Site-to-Site VPN](https://aws.amazon.com/vpn/site-to-site-vpn/) para conectarse a sus recursos dentro de AWS, puede habilitar opcionalmente la aceleración. Una conexión Site-to-Site VPN acelerada utiliza AWS Global Accelerator para enrutar el tráfico desde su red local a la ubicación periférica de AWS que esté más cerca de su dispositivo de puerta de enlace de cliente. 

1.  Para identificar qué opción de enrutamiento DNS optimizaría el rendimiento de su carga de trabajo revise el tráfico de su carga de trabajo y la ubicación del usuario. [Amazon Route 53](https://aws.amazon.com/route53) ofrece opciones de [enrutamiento basado en la latencia](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html),[enrutamiento de geolocalización](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html)[enrutamiento de geoproximidad](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html) y [enrutamiento basado en IP](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) para ayudarle a mejorar el rendimiento de su carga de trabajo para un público global. 

   1.  Route 53 también ofrece una baja latencia de consulta para sus usuarios finales. Mediante una red global de difusión por proximidad de servidores DNS de todo el mundo, Route 53 está diseñado para responder automáticamente a las consultas desde la ubicación óptima y en función de las condiciones de la red. 

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

 **Prácticas recomendadas relacionadas:** 
+ [COST07-BP02 Implementar regiones según los costes](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_pricing_model_region_cost.html)
+ [ COST08-BP03 Implementar servicios para reducir los costes de transferencia de datos ](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_data_transfer_implement_services.html)
+ [ REL10-BP01 Desplegar la carga de trabajo en varias ubicaciones ](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_multiaz_region_system.html)
+ [REL10-BP02 Seleccionar las ubicaciones adecuadas para el despliegue en varias ubicaciones ](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_fault_isolation_select_location.html)
+ [SUS01-BP01 Elegir regiones cerca de proyectos de energías renovables de Amazon y regiones en las que la intensidad de carbono recogida en la red sea más baja que en otras ubicaciones (o regiones) ](https://docs.aws.amazon.com/wellarchitected/latest/framework/sus_sus_region_a2.html)
+ [SUS02-BP04 Optimizar la ubicación geográfica de las cargas de trabajo para las ubicaciones de los usuarios](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/) (AWS Local Zones y AWS Outposts: elegir la tecnología adecuada para su carga de trabajo de periferia)
+  [Grupos de ubicación](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [AWS Local Zones](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/) 
+  [Site-to-Site VPN](https://aws.amazon.com/vpn/site-to-site-vpn/) 
+  [Amazon Route 53](https://aws.amazon.com/route53) 

 **Vídeos relacionados: ** 
+ [AWS Local Zones Explainer Video](https://www.youtube.com/watch?v=JHt-D4_zh7w) (Vídeo explicativo de AWS Local Zones)
+ [AWS Outposts: Overview and How It Works](https://www.youtube.com/watch?v=ppG2FFB0mMQ) (AWS Outposts: descripción general y funcionamiento)
+ [AWS re:Invent 2021 - AWS Outposts: Bringing the AWS experience on premises](https://www.youtube.com/watch?v=FxVF6A22498) (AWS re:Invent 2021: Llevar la experiencia de AWS al entorno local)
+ [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 2020: AWS Wavelength: ejecutar aplicaciones con latencia ultrabaja en el borde 5G)
+ [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 2022: AWS Local Zones: creación de aplicaciones para una periferia distribuida)
+ [AWS re:Invent 2021 - Building low-latency websites with Amazon CloudFront](https://www.youtube.com/watch?v=9npcOZ1PP_c) (AWS re:Invent 2021: Creación de sitios web de baja latencia con Amazon CloudFront)
+ [AWS re:Invent 2022 - Improve performance and availability with AWS Global Accelerator](https://www.youtube.com/watch?v=s5sjsdDC0Lg) (AWS re:Invent 2022: Mejorar el rendimiento y la disponibilidad con AWS Global Accelerator)
+ [AWS re:Invent 2022 - Build your global wide area network using AWS](https://www.youtube.com/watch?v=flBieylTwvI) (AWS re:Invent 2022: Construya su red mundial de área extensa con AWS)
+ [AWS re:Invent 2020: Global traffic management with Amazon Route 53](https://www.youtube.com/watch?v=E33dA6n9O7I) (AWS re:Invent 2020: Administración de tráfico global con Amazon Route 53)

 **Ejemplos relacionados:** 
+ [AWS Global Accelerator Workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/effb1517-b193-4c59-8da5-ce2abdb0b656/en-US) (Taller de AWS Global Accelerator)
+ [ Handling Rewrites and Redirects using Edge Functions](https://catalog.us-east-1.prod.workshops.aws/workshops/814dcdac-c2ad-4386-98d5-27d37bb77766/en-US) (Gestión de reescrituras y redireccionamientos mediante funciones periféricas)

# PERF05-BP07 Optimizar la configuración de red según las métricas
<a name="perf_select_network_optimize"></a>

Una configuración de red inadecuada suele afectar al rendimiento, a la eficiencia y al coste de la red. En los entornos de red habituales, con el fin de completar rápidamente el despliegue en la fase inicial, no se tiene totalmente en cuenta la configuración de red adecuada en términos de rendimiento de la red. Para optimizar su configuración de red, primero debe tener visibilidad y datos sobre su entorno de red.

Para comprender el rendimiento de sus recursos de red, recopile y analice datos para tomar decisiones informadas sobre la optimización de su configuración de red. Medir el impacto de esos cambios y utilizar las mediciones del impacto para tomar decisiones futuras. 

 **Resultado deseado:** utilizar métricas y herramientas de supervisión de red para optimizar la configuración de red a medida que evolucionan las cargas de trabajo. Las redes basadas en la nube pueden optimizarse rápidamente, de modo que hacer evolucionar su arquitectura de red con el tiempo resulta necesario para mantener la eficiencia del rendimiento. 

 **Antipatrones usuales:** 
+  Supone que todos los problemas de rendimiento están relacionados con 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 de la red y optimizar las configuraciones de la red. 

 **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 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 cómo puede optimizar las configuraciones de la red. 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. 

 **Pasos para la implementación** 

1.  Utilice [Amazon VPC IP Address Manager](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html). Puede utilizar IPAM para planificar, rastrear y supervisar las direcciones IP para sus cargas de trabajo de AWS y locales. Esta es la práctica recomendada para optimizar el uso y la asignación de direcciones IP. 

1.  Habilite los [registros de flujo de la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html). Utilice los registros de flujo de la VPC para capturar información detallada sobre el tráfico hacia y desde las interfaces de red en sus VPC. Con los registros de flujo de la VPC, puede diagnosticar reglas de grupos de seguridad excesivamente restrictivas o permisivas y determinar la dirección del tráfico hacia y desde las interfaces de red. Los cargos por ingesta y archivo de datos para los registros delegados se aplican cuando se publican registros de flujo. 

1.  Habilite los [registros de consultas de DNS](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html). Puede configurar Amazon Route 53 para que registre información sobre las consultas de DNS públicas o privadas que Route 53 reciba. Con los registros de DNS, puede optimizar las configuraciones de DNS al conocer el dominio o subdominio que se solicitó o las ubicaciones periféricas de Route 53 que respondieron a las consultas de DNS. 

1.  Utilice [Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)para analizar y depurar la accesibilidad de la red. Reachability Analyzer es una herramienta de análisis de configuración que le permite realizar pruebas de conectividad entre un recurso de origen y un recurso de destino en sus VPC. Esta herramienta le ayuda a verificar que la configuración de su red coincida con la conectividad prevista. 

1.  Utilice el [Analizador de acceso de la red](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html) para comprender el acceso de red a sus recursos. Puede utilizar el Analizador de acceso de la red para especificar los requisitos de acceso a la red e identificar posibles rutas de red que no cumplan los requisitos especificados. Al optimizar su configuración de red correspondiente, puede comprender y verificar el estado de su red y demostrar si su red en AWS cumple con sus requisitos de conformidad. 

1.  Utilice [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) y habilite las métricas adecuadas para las opciones de red. Asegúrese de elegir la métrica de red adecuada para su carga de trabajo. Por ejemplo, puede habilitar métricas para el uso de direcciones de red VPC, la puerta de enlace NAT de VPC, AWS Transit Gateway, túneles de VPN, AWS Network Firewall, Elastic Load Balancing y AWS Direct Connect. La supervisión continua de las métricas es una práctica recomendada para observar y comprender el estado y el uso de su red, y le ayuda a optimizar la configuración de la red basándose en sus observaciones. 

 **Nivel de esfuerzo para el plan de implementación:** medio. 

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

 **Documentos relacionados:** 
+  [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+ Habilite los [registros de consultas de DNS públicos](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html).
+ [ What is IPAM? ](https://docs.aws.amazon.com/vpc/latest/ipam/what-it-is-ipam.html) (¿Qué es IPAM?)
+  [What is Reachability Analyzer?](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) (¿Qué es Reachability Analyzer?) 
+ [ What is Network Access Analyzer?](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html) (¿Qué es el analizador de acceso de la red?)
+ [ 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/) (Optimice el rendimiento y reduzca los costes de los análisis de red con los registros de flujo de VPC en formato Apache Parquet)
+  [Monitoring your global and core networks with Amazon Cloudwatch metrics](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) (Supervisión de las redes globales y principales con las métricas de Amazon Cloudwatch) 
+  [Continuously monitor network traffic and resources](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) (Supervisar de forma continua el tráfico y los recursos de red) 

 **Vídeos relacionados: ** 
+ [ Networking best practices and tips with the Well-Architected Framework](https://www.youtube.com/watch?v=wOMNpG49BeM) (Prácticas recomendadas y consejos para la creación de redes con Well-Architected Framework)
+ [ Monitoring and troubleshooting network traffic](https://www.youtube.com/watch?v=Ed09ReWRQXc) (Supervisión y solución de problemas del tráfico de red)

 **Ejemplos relacionados:** 
+  [AWS Networking Workshops](https://networking.workshop.aws/) (Talleres de red de AWS) 
+  [AWS Network Monitoring](https://github.com/aws-samples/monitor-vpc-network-patterns) (Supervisión de red de AWS) 