Este contenido está desactualizado. Esta versión de Well-Architected Framework se encuentra ahora en: https://docs.aws.amazon.com/es_es/wellarchitected/2022-03-31/framework/performance-efficiency.html

Eficiencia de rendimiento

El pilar (pilar) incluye (descripción)

El pilar de eficiencia de rendimiento ofrece una descripción general de los principios de diseño, las prácticas recomendadas y las preguntas. Puede encontrar orientación normativa sobre la implementación en el documento técnico Pilar de eficiencia de rendimiento.

Principios de diseño

Hay (recuento) principios de diseño de (pilar-inferior) en la nube:

Definición

Hay (recuento) áreas de prácticas recomendadas de (pilar-inferior) en la nube:

Adopte un enfoque basado en datos para crear una arquitectura de alto rendimiento. Recopile datos sobre todos los aspectos de la arquitectura, desde el diseño de alto nivel hasta la selección y configuración de tipos de recursos.

La revisión de sus opciones de forma regular garantiza que se aproveche de la continua evolución de la nube de AWS. El monitoreo garantiza que esté al tanto de cualquier desviación del rendimiento esperado. Realice compensaciones en su arquitectura para mejorar el rendimiento, como el uso de compresión o almacenamiento en caché o la flexibilización de los requisitos de consistencia.

Prácticas recomendadas

Selección

La solución óptima para una carga de trabajo particular varía y las soluciones suelen combinar múltiples enfoques. Las cargas de trabajo de buena arquitectura utilizan múltiples soluciones y permiten diferentes características para mejorar el rendimiento.

Los recursos de AWS están disponibles en muchos tipos y configuraciones, lo que facilita encontrar un enfoque que se ajuste a las necesidades de su carga de trabajo. También puede encontrar opciones que no son fáciles de lograr con la infraestructura en las instalaciones. Por ejemplo, un servicio administrado como Amazon DynamoDB ofrece una base de datos NoSQL totalmente administrada con latencia en milisegundos de un solo dígito en cualquier escala.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 1: ¿Cómo selecciona la mejor arquitectura de rendimiento?

Utilice un enfoque basado en datos para seleccionar los patrones y la implementación para su arquitectura y logre una solución rentable. Los arquitectos de soluciones de AWS, los socios de las arquitecturas de referencia de AWS y la red de socios de AWS (APN) pueden ayudarlo a seleccionar una arquitectura en función del conocimiento del sector, pero los datos obtenidos a través de pruebas de puntos de referencia o de carga serán necesarios para optimizar su arquitectura.

Es probable que su arquitectura combine varios enfoques de arquitectura diferentes (por ejemplo, impulsados por eventos, ETL o canalización). La implementación de la arquitectura utilizará los servicios de AWS que son específicos para la optimización del rendimiento de la arquitectura. En las siguientes secciones discutiremos los cuatro tipos de recurso principales a considerar (informática, almacenamiento, base de datos y red).

Informática

La selección de recursos informáticos que cumplan con sus requisitos, necesidades de rendimiento y ofrezcan gran eficiencia de costo y esfuerzo le permitirán lograr más con la misma cantidad de recursos. Cuando evalúe las opciones informáticas, tenga en cuenta los requisitos para el rendimiento de la carga de trabajo y el costo y utilícelos para tomar decisiones fundamentadas.

En AWS, la informática está disponible en tres formas: instancias, contenedores y funciones: las

  • instancias son servidores virtualizados, lo que le permite cambiar las capacidades con un botón o una llamada a la API. Como las decisiones de recursos en la nube no son fijas, puede experimentar con diferentes tipos de servidores. En AWS, estas instancias de servidores virtuales vienen en diferentes familias y tamaños y ofrecen una amplia variedad de capacidades, incluidas unidades de estado sólido (SSD) y unidades de procesamiento de gráficos (GPU). Los

  • contenedores son un método de virtualización del sistema operativo que le permite ejecutar una aplicación y sus dependencias en procesos de recursos aislados. AWS Fargate es informática sin servidor para los contenedores o se puede utilizar Amazon EC2 si necesita controlar la instalación, la configuración y la administración de su entorno informático. También puede elegir desde plataformas organizadoras de contenedores múltiples: Amazon Elastic Container Service (ECS) o Amazon Elastic Kubernetes Service (EKS). Las

  • funciones abstraen el entorno de ejecución desde el código que desea ejecutar. Por ejemplo, AWS Lambda le permite ejecutar el código sin operar una instancia.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 2: ¿Cómo seleccionar una solución de informática?

Cuando diseñe su uso de la informática, aproveche los mecanismos de elasticidad disponibles para garantizar que posee suficiente capacidad para sostener el rendimiento a medida que cambia la demanda.

Almacenamiento

El almacenamiento en la nube es un componente esencial de la informática en la nube, contiene la información utilizada por su carga de trabajo. El almacenamiento en la nube es normalmente más fiable, escalable y seguro que los sistemas tradicionales de almacenamiento en las instalaciones. Seleccione entre los servicios de almacenamiento de archivos, en bloque y de objetos, así como las opciones de migración de datos en la nube para su carga de trabajo.

En AWS, el almacenamiento está disponible en tres formas: objeto, bloque y archivo: el

  • almacenamiento de objetos ofrece una plataforma duradera y escalable a fin de que los datos sean accesibles desde cualquier ubicación de Internet para el contenido generado por el usuario, el archivo activo, la informática sin servidor, el almacenamiento de Big Data o copia de seguridad y recuperación. Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad líder en el sector, disponibilidad de datos, seguridad y rendimiento. Amazon S3 está diseñada para el 99,999999999 % (11 nueves) de durabilidad y almacena datos que utilizan millones de aplicaciones de empresas de todo el mundo. El

  • almacenamiento en bloque ofrece almacenamiento en bloque de baja latencia, constante y de alta disponibilidad para cada alojamiento virtual y es similar al almacenamiento de conexión directa (DAS) o la red de área de almacenamiento (SAN). Amazon Elastic Block Store (Amazon EBS) está diseñada para cargas de trabajo que requieren almacenamiento persistente accesible mediante instancias EC2 que lo ayudan a ajustar las aplicaciones con la capacidad de almacenamiento, rendimiento y costo correcto. El

  • almacenamiento de archivos ofrece acceso a un sistema de archivos compartidos mediante múltiples sistemas. Las soluciones de almacenamiento de archivos, como Amazon Elastic File System (EFS), son ideales para casos de uso, como repositorios de gran contenido, entornos de desarrollo, almacén de multimedia o directorios de inicio de usuarios. Amazon FSx facilita y hace rentable el lanzamiento y ejecución de sistemas de archivo populares, de esta manera puede aprovechar el conjunto de características enriquecidas y el rendimiento rápido del código abierto ampliamente utilizado y los sistemas de archivo con licencia comercial.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 3: ¿Cómo selecciona una solución de almacenamiento?

Cuando selecciona una solución de almacenamiento, garantizar que coincida con sus patrones de acceso será esencial para lograr el rendimiento que desea.

Base de datos

La nube ofrece servicios de base de datos creadas con fines específicos que abordan diferentes problemas que presenta su carga de trabajo. Puede elegir entre muchos motores de bases de datos creadas específicamente, incluidas las bases de datos relacionales, valor clave, documento, en la memoria, gráfico, serie temporal y libro mayor. Cuando elige la mejor base de datos para resolver un problema específico (o un grupo de problemas), puede separarse de las bases de datos monolíticas, universales y restrictivas y centrarse en la creación de aplicaciones que satisfagan las necesidades de rendimiento de los clientes.

En AWS, puede elegir entre múltiples motores de bases de datos creadas específicamente, incluidas las bases de datos relacionales, valor clave, documento, en la memoria, gráfico, serie temporal y libro mayor. Con las bases de datos de AWS, no necesita preocuparse por las tareas de administración de la base de datos, como el aprovisionamiento del servidor, la aplicación de parches, los ajustes, la configuración, las copias de seguridad o la recuperación. AWS monitorea de manera continua los clústeres para mantener la carga de trabajo activa y en funcionamiento con almacenamiento de autorrecuperación y escalado automatizado, de esta manera puede centrarse en el desarrollo de aplicaciones de mayor valor.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 4: ¿Cómo selecciona una solución de base de datos?

El enfoque de la base de datos de la carga de trabajo tiene un impacto significativo en la eficiencia del rendimiento. A menudo, es un área que se elige según las predeterminaciones organizativas y no mediante un enfoque basado en los datos. Como con el almacenamiento, es esencial considerar los patrones de acceso de la carga de trabajo y, además, debe tener en cuenta si otras soluciones que no sean de base de datos pueden resolver el problema de manera más eficiente (como el uso de gráficos, series temporales o bases de datos de almacenamiento en la memoria).

Red

Como la red se encuentra entre todos los componentes de la carga de trabajo, puede tener grandes impactos positivos o negativos en el rendimiento y comportamiento de la carga de trabajo. También existen cargas de trabajo que dependen fuertemente del rendimiento de la red, como la informática de alto rendimiento (HPC) donde la comprensión profunda de la red es importante para aumentar el rendimiento del clúster. Debe determinar los requisitos de la carga de trabajo para el ancho de banda, la latencia, la fluctuación y el rendimiento.

En AWS, la red se virtualiza y está disponible en varios tipos y configuraciones diferentes. Esto facilita la coincidencia entre los métodos de red con las necesidades. AWS ofrece características de productos (por ejemplo, redes mejoradas, instancias optimizadas de Amazon EBS, Amazon S3 transfer acceleration y Amazon CloudFront dinámico) para optimizar el tráfico de red. AWS también ofrece características de red (por ejemplo, direccionamiento de latencia de Amazon Route 53, puntos de enlace de Amazon VPC, AWS Direct Connect y AWS Global Accelerator) para reducir la distancia o fluctuación de la red.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 5: ¿Cómo configura su solución de red?

Debe tener en cuenta la ubicación cuando implementa la red, puede elegir colocar los recursos cerca de donde se utilizarán para reducir la distancia. Utilice las métricas de la red para hacer cambios en la configuración de la red a medida que evoluciona la carga de trabajo. Con el aprovechamiento de las regiones, los grupos de ubicación y los servicios de borde, puede mejorar el rendimiento significativamente. Las redes basadas en la nube se pueden recrear o modificar rápidamente, por lo tanto es necesario que la arquitectura en la red evolucione con el tiempo para mantener la eficiencia del rendimiento.

Revisión

Las tecnologías en la nube evolucionan rápidamente y usted debe garantizar que los componentes de las cargas de trabajo utilicen tecnologías y enfoques nuevos para mejorar el rendimiento de manera continua. Debe evaluar de manera continua y tener en cuenta los cambios para los componentes de la carga de trabajo a fin de garantizar que cumple con los objetivos de rendimiento y costo. Las nuevas tecnologías, como el aprendizaje automático y la inteligencia artificial (AI), pueden permitirle replantear las experiencias de los clientes e innovar en todas las cargas de trabajo de su empresa.

Aproveche las innovaciones continuas en AWS impulsadas por la necesidad del cliente. Lanzamos nuevas regiones, ubicaciones de borde, servicios y características regularmente. Cualquiera de estos lanzamientos puede mejorar de manera positiva la eficiencia del rendimiento de la arquitectura.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 6: ¿Cómo desarrolla su carga de trabajo para aprovechar los nuevos lanzamientos?

Las arquitecturas con rendimiento deficiente son generalmente el resultado de un proceso de revisión del rendimiento inexistente o dañado. Si su arquitectura presenta un rendimiento deficiente, implementar un proceso de revisión de rendimiento le permitirá aplicar el ciclo de planificación, ejecución, verificación y reacción (PDCA) de Deming para impulsar una mejora iterativa.

Monitoreo

Después de implementar la carga de trabajo, debe monitorear su rendimiento, de esta manera puede solucionar cualquier problema antes de que afecte a los clientes. El monitoreo de las métricas se debe utilizar para encender las alarmas cuando se alcanzan los límites.

Amazon CloudWatch es un servicio de observabilidad y monitoreo que le ofrece datos e información práctica para supervisar la carga de trabajo, responder a los cambios en el rendimiento de todo el sistema, optimizar la utilización de recursos y obtener una visión unificada del estado operativo. CloudWatch recopila datos operativos y de monitoreo en forma de registros, métricas y eventos de las cargas de trabajo que se ejecutan en AWS y en los servidores en las instalaciones. AWS X-Ray ayuda a los desarrolladores a analizar y depurar la producción, las aplicaciones distribuidas. Con AWS X-Ray, puede deducir información sobre el rendimiento de la aplicación y descubrir las causas raíz e identificar los cuellos de botella en el rendimiento. Puede utilizar esta información para reaccionar rápidamente y mantener la carga de trabajo en funcionamiento sin inconvenientes.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 7: ¿Cómo monitorea sus recursos para garantizar que estén rindiendo?

Para una solución de monitoreo efectiva es clave asegurarse de no ver falsos positivos. Los desencadenadores automatizados evitan el error humano y pueden reducir el tiempo que toma solucionar los problemas. Planifique los días de prueba, en los que se realizan simulaciones en el entorno de producción, para probar las soluciones de alarma y garantizar que reconozca los problemas de manera correcta.

Compensaciones

Cuando diseñe las soluciones de arquitectura, piense en las compensaciones para garantizar un enfoque óptimo. En función de su situación, puede intercambiar la consistencia, la durabilidad y el espacio por tiempo o latencia, para entregar un rendimiento mayor.

Con AWS, puede incorporarse al mercado global rápidamente e implementar recursos en múltiples ubicaciones en el mundo para acercarse a sus usuarios finales. También puede agregar de manera dinámica réplicas de solo lectura a los almacenes de información (como sistemas de bases de datos) para reducir la carga en la base de datos primaria.

Las siguientes preguntas se enfocan en estas consideraciones para (pilar inferior).

PERF 8: ¿Cómo utiliza las compensaciones para mejorar el rendimiento?

A medida que implementa cambios en la carga de trabajo, recopile y evalúe las métricas para determinar el impacto de esos cambios. Mida el impacto en los sistemas y en el usuario final para comprender de qué manera las compensaciones impactan en la carga de trabajo. Utilice un enfoque sistemático, como la prueba de carga, para explorar si las compensaciones mejoran el rendimiento.

Recursos

Consulte los siguientes recursos para obtener más información sobre nuestras prácticas recomendadas de (pilar).

Performance Efficiency Pillar
Amazon S3 Performance Optimization
Amazon EBS Volume Performance
AWS re:Invent 2019: Amazon EC2 foundations (CMP211-R2)
AWS re:Invent 2019: Leadership session: Storage state of the union (STG201-L)
AWS re:Invent 2019: Leadership session: AWS purpose-built databases (DAT209-L)
AWS re:Invent 2019: Connectivity to AWS and hybrid AWS network architectures (NET317-R1)
AWS re:Invent 2019: Powering next-gen Amazon EC2: Deep dive into the Nitro system (CMP303-R2)
AWS re:Invent 2019: Scaling up to your first 10 million users (ARC211-R)