PERF02-BP01 Evaluar las opciones de computación disponibles - AWS Well-Architected Framework

PERF02-BP01 Evaluar las opciones de computación disponibles

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

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. Esta ubicación limitará los tipos de solución de computación a su disposición.

  2. 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. Amazon Elastic Compute Cloud (Amazon 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.

    2. Amazon Elastic Container Service (Amazon 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.

    3. Amazon Elastic Kubernetes Service (Amazon 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.

    4. Puede usar AWS 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. 

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

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

Documentos relacionados:

Vídeos relacionados:

Ejemplos relacionados: