SUS03-BP01 Otimizar o software e a arquitetura para trabalhos assíncronos e agendados
Use software eficiente e padrões de arquitetura, como orientado a filas, para manter uma alta e consistente utilização dos recursos implantados.
Práticas comuns que devem ser evitadas:
-
Provisione em excesso os recursos em sua workload na nuvem para atender a picos imprevistos na demanda.
-
Sua arquitetura não separa remetentes e destinatários de mensagens assíncronas por um componente de sistema de mensagens.
Benefícios de implementar esta prática recomendada:
-
Padrões eficientes de software e arquitetura minimizam os recursos não utilizados em sua workload e melhoram a eficiência geral.
-
Você pode dimensionar o processamento independentemente do recebimento de mensagens assíncronas.
-
Por meio de um componente de mensagens, você relaxou os requisitos de disponibilidade que podem ser atendidos com menos recursos.
Nível de risco exposto se esta prática recomendada não for estabelecida: Médio
Orientação para implementação
Use padrões de arquitetura eficientes, como arquitetura orientada por eventos
Entenda os requisitos de seus componentes de workload e adote padrões de arquitetura que aumentam a utilização geral dos recursos. Retire os componentes que não são mais necessários.
Etapas de implementação
-
Analise a demanda da sua workload para determinar como responder a ela.
-
Para solicitações ou trabalhos que não exigem respostas síncronas, use arquiteturas orientadas por filas e operadores de escalação automática para maximizar a utilização. Aqui estão alguns exemplos de quando você pode considerar a arquitetura orientada por filas:
Mecanismo de filas Descrição Os trabalhos do AWS Batch são enviados para uma fila de trabalhos onde permanecem até que possam ser agendados para execução em um ambiente de computação.
Emparelhar o Amazon SQS e instâncias spot para criar uma arquitetura eficiente e tolerante a falhas.
-
Para solicitações ou trabalhos que podem ser processados a qualquer momento, use mecanismos de agendamento para processar trabalhos em lote para maior eficiência. Aqui estão alguns exemplos de mecanismos de agendamento no AWS:
Mecanismos de agendamento Descrição Um recurso do Amazon EventBridge
que permite criar, executar e gerenciar tarefas agendadas em grande escala. Defina um agendamento baseada em tempo para seus crawlers e trabalhos no AWS Glue.
Tarefas agendadas do Amazon Elastic Container Service (Amazon ECS)
O Amazon ECS oferece suporte à criação de tarefas agendadas. As tarefas programadas usam as regras do Amazon EventBridge para executar tarefas em uma programação ou em uma resposta a um evento do EventBridge.
Configure agendamentos de início e término para suas instâncias do Amazon EC2 e do Amazon Relational Database Service.
-
Se você usa mecanismos de pesquisa e webhooks em sua arquitetura, substitua-os por eventos. Use arquiteturas orientadas por eventos para criar workloads altamente eficientes.
-
Aproveite a tecnologia sem servidor na AWS
para eliminar a infraestrutura provisionada em excesso. -
Dimensione corretamente componentes individuais da sua arquitetura para evitar recursos ociosos aguardando entrada.
-
As Recomendações de dimensionamento correto em no AWS Cost Explorer ou o AWS Compute Optimizer
podem ser usados para identificar oportunidades de dimensionamento correto. -
Para obter mais detalhes, consulte Dimensionamento correto: provisionamento de instâncias para corresponder a workloads.
-
Recursos
Documentos relacionados:
Vídeos relacionados:
Exemplos relacionados: