SUS03-BP01: Optimizar el software y la arquitectura para los trabajos asíncronos y programados
Utilice patrones de software y arquitectura eficientes, como los basados en colas, para mantener una utilización elevada y coherente de los recursos desplegados.
Patrones comunes de uso no recomendados:
-
Realiza un aprovisionamiento excesivo de los recursos de su carga de trabajo en la nube para hacer frente a picos imprevistos de la demanda.
-
Su arquitectura no desacopla los emisores y los receptores de mensajes asíncronos mediante un componente de mensajería.
Beneficios de establecer esta práctica recomendada:
-
Los patrones de software y arquitectura eficientes minimizan los recursos no utilizados en la carga de trabajo y mejoran la eficiencia global.
-
Puede escalar el procesamiento independientemente de la recepción de mensajes asíncronos.
-
Mediante un componente de mensajería, tendrá unos requisitos de disponibilidad más relajados que podrá cumplir con menos recursos.
Nivel de riesgo expuesto si no se establece esta práctica recomendada: Mediana
Guía para la implementación
Utilice patrones de arquitectura eficientes, como la arquitectura basada en eventos
Comprenda los requisitos de los componentes de la carga de trabajo y adopte patrones de arquitectura que aumenten la utilización global de los recursos. Retire los componentes que ya no son necesarios.
Pasos para la aplicación
-
Analice la demanda de su carga de trabajo para determinar cómo responder a ella.
-
En el caso de solicitudes o trabajos que no requieran respuestas síncronas, utilice arquitecturas basadas en colas y empleados de escalamiento automático para maximizar la utilización. A continuación, encontrará algunos ejemplos de cuándo podría plantearse una arquitectura basada en colas:
Queuing mechanism Description Los trabajos de AWS Batch se envían a una cola de trabajos en la que permanecen hasta que pueden programarse para ejecutarse en un entorno de computación.
Instancias de spot de Amazon Simple Queue Service y Amazon EC2
Emparejamiento de Amazon SQS e instancias de spot para crear una arquitectura eficiente y tolerante a errores.
-
En el caso de solicitudes o trabajos que puedan procesarse en cualquier momento, utilice mecanismos de programación para procesar los trabajos por lotes y obtener una mayor eficacia. A continuación, se presentan algunos ejemplos de mecanismos de programación en AWS:
Scheduling mechanism Description Una capacidad de Amazon EventBridge
que le permite crear, ejecutar y administrar tareas programadas a escala. Defina una programación basada en el tiempo para sus rastreadores y trabajos en AWS Glue.
Tareas programadas de Amazon Elastic Container Service (Amazon ECS)
Amazon ECS admite la creación de tareas programadas. Las tareas programadas utilizan reglas de Amazon EventBridge para ejecutar tareas según una programación o en respuesta a un evento de EventBridge.
Configure las programaciones de inicio y detención de sus instancias de Amazon EC2 y Amazon Relational Database Service.
-
Si utiliza mecanismos de sondeo y webhooks en su arquitectura, reemplácelos por eventos. Utilice arquitecturas basadas en eventos para crear cargas de trabajo de elevada eficacia.
-
Aproveche la tecnología sin servidor en AWS
para eliminar la infraestructura aprovisionada en exceso. -
Dimensione correctamente los componentes individuales de su arquitectura para evitar recursos inactivos mientras se espera la entrada.
Recursos
Documentos relacionados:
Vídeos relacionados:
-
Moving to event-driven architectures
(Migración a arquitecturas basadas en eventos)