SUS03-BP01 Otimizar o software e a arquitetura para trabalhos assíncronos e programados - AWS Well-Architected Framework

SUS03-BP01 Otimizar o software e a arquitetura para trabalhos assíncronos e programados

Use software eficiente e padrões de arquitetura, como orientado a filas, para manter uma alta e consistente utilização dos recursos implantados.

Antipadrões comuns:

  • 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 do estabelecimento desta 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 exposição a riscos quando esta prática recomendada não é estabelecida: Médio

Orientações para a implementação

Use padrões de arquitetura eficientes, como arquitetura orientada por eventos, que resultam na utilização uniforme de componentes e minimizam o provisionamento em excesso em sua workload. A utilização de padrões de arquitetura eficientes minimiza recursos ociosos por falta de uso devido a mudanças na demanda ao longo do tempo.

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 da implementação

  • Analise a demanda de 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 escalonamento automático para maximizar a utilização. Aqui estão alguns exemplos de quando você pode considerar a arquitetura orientada por filas:

    Queuing mechanism Description

    Filas de trabalho do AWS Batch

    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.

    Instâncias spot do Amazon Simple Queue Service e Amazon EC2

    Emparelhamento de 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:

    Scheduling mechanism Description

    Agendador do Amazon EventBridge

    A capacidade do Amazon EventBridge que permite criar, executar e gerenciar tarefas agendadas em escala.

    Programação baseada em tempo do AWS Glue

    Defina uma programação baseada em tempo para seus crawlers e trabalhos no AWS Glue.

    Tarefas agendadas do Amazon Elastic Container Service (Amazon ECS)

    O Amazon ECS permite a criação de tarefas agendadas. Tarefas agendadas usam regras do Amazon EventBridge para executar tarefas em um agendamento ou em resposta a um evento do EventBridge.

    Programador de Instâncias

    Configure programações de início e parada para suas instâncias do Amazon EC2 e Amazon Relational Database Service.

  • Se você usar mecanismos de pesquisa e webhooks em sua arquitetura, substitua-os por eventos. Use arquiteturas orientadas por eventos para criar workloads altamente eficientes.

  • Aproveite a a computação sem servidor no AWS para eliminar a infraestrutura provisionada em excesso.

  • Dimensione corretamente componentes individuais de sua arquitetura para evitar recursos ociosos aguardando entrada.

Recursos

Documentos relacionados:

Vídeos relacionados: