COST09-BP02 Implemente um buffer ou controle de utilização para gerenciar a demanda - AWS Well-Architected Framework

COST09-BP02 Implemente um buffer ou controle de utilização para gerenciar a demanda

O armazenamento em buffer e o controle de utilização modificam a demanda na carga de trabalho, suavizando todos os picos. Implemente o controle de utilização quando seus clientes realizarem novas tentativas. Implemente o armazenamento em buffer para armazenar a solicitação e adiar o processamento até um momento posterior. Verifique se os controles de utilização e buffers são projetados para que os clientes recebam uma resposta no tempo necessário.

Nível de risco exposto se esta prática recomendada não for estabelecida: Baixo

Orientação de implementação

Controle de utilização: se a origem da demanda tiver capacidade de repetição, você poderá implementar o controle de utilização. O controle de utilização informa à origem que, se ela não puder atender à solicitação no momento atual, deverá tentar novamente mais tarde. A origem aguardará um período e, em seguida, tentará novamente a solicitação. A implementação do controle de utilização tem a vantagem de limitar a quantidade máxima de recursos e custos da carga de trabalho. Na AWS, você pode usar o Amazon API Gateway para implementar o controle de utilização. Consulte o whitepaper sobre o Pilar Confiabilidade do Well-Architected para obter mais detalhes sobre como implementar o controle de utilização.

Baseado em buffer: semelhante ao controle de utilização, um buffer adia o processamento de solicitações, permitindo que aplicativos executados em diferentes taxas se comuniquem com eficácia. Uma abordagem baseada em buffer usa uma fila para aceitar mensagens (unidades de trabalho) de produtores. As mensagens são lidas pelos consumidores e processadas, permitindo que as mensagens sejam executadas na taxa que atenda aos requisitos de negócios dos consumidores. Você não precisa se preocupar com os produtores que precisam lidar com problemas de controle de utilização, como durabilidade de dados e pressão contrária (onde os produtores ficam lentos porque o consumidor está correndo lentamente).

Na AWS, você pode escolher entre vários serviços para implementar uma abordagem de buffering. Amazon Simple Queue Service(Amazon SQS) é um serviço gerenciado que fornece filas que permitem que um único consumidor leia mensagens individuais. Amazon Kinesis oferece um fluxo que permite a muitos consumidores lerem as mesmas mensagens.

Ao criar uma arquitetura com uma abordagem baseada em buffer, certifique-se de arquitetar sua carga de trabalho para atender à solicitação no tempo necessário e de lidar com solicitações duplicadas de trabalho.

Etapas da implementação

  • Analisar os requisitos do cliente: Analise as solicitações do cliente para determinar se são capazes de executar novas tentativas. Para clientes que não podem executar novas tentativas, buffers precisarão ser implementados. Analise a demanda geral, a taxa de alteração e o tempo de resposta necessário para determinar o tamanho do controle de utilização ou do buffer necessário.

  • Implementar um buffer ou controle de utilização: Implemente um buffer ou um controle de utilização na carga de trabalho. Uma fila como Amazon Simple Queue Service (Amazon SQS) pode fornecer um buffer para seus componentes de workload. O Amazon API Gateway pode fornecer controle de utilização para seus componentes de workload.

Recursos

Documentos relacionados: