

# SUS03-BP01: Optimizar el software y la arquitectura para los trabajos asíncronos y programados
<a name="sus_sus_software_a2"></a>

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
<a name="implementation-guidance"></a>

 Utilice patrones de arquitectura eficientes, como la [arquitectura basada en eventos](https://aws.amazon.com/event-driven-architecture/), que dan como resultado una utilización uniforme de los componentes y minimizan el aprovisionamiento excesivo en la carga de trabajo. El uso de patrones de arquitectura eficientes minimiza los recursos inactivos por falta de uso debido a cambios en la demanda a lo largo del tiempo. 

 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:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/2023-04-10/framework/sus_sus_software_a2.html)
+  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:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/wellarchitected/2023-04-10/framework/sus_sus_software_a2.html)
+  Si utiliza mecanismos de sondeo y webhooks en su arquitectura, reemplácelos por eventos. Utilice [arquitecturas basadas en eventos](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) para crear cargas de trabajo de elevada eficacia. 
+  Aproveche la [tecnología sin servidor en AWS](https://aws.amazon.com/serverless/) 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
<a name="resources"></a>

 **Documentos relacionados:** 
+  [¿Qué es Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [¿Qué es Amazon MQ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Escalamiento basado en Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [¿Qué es AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [¿Qué es AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Uso de AWS Lambda con Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 

 **Vídeos relacionados: ** 
+  [Moving to event-driven architectures](https://www.youtube.com/watch?v=h46IquqjF3E) (Migración a arquitecturas basadas en eventos) 