Esse conteúdo está desatualizado. Esta versão da Well-Architected Framework agora pode ser encontrada em: https://docs.aws.amazon.com/pt_br/wellarchitected/2022-03-31/framework/reliability.html

REL 10: Como usar o isolamento de falhas para proteger sua carga de trabalho?

Os limites isolados de falhas restringem o efeito de uma falha em uma carga de trabalho a um número controlado de componentes. A falha não afeta os componentes fora do limite. Ao usar vários limites isolados de falhas, você pode restringir o impacto sobre sua carga de trabalho.

Recursos

AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
AWS re:Invent 2019: Innovation and operation of the AWS global network infrastructure (NET339)
What is AWS Outposts?
Global Tables: Multi-Region Replication with DynamoDB
AWS Local Zones FAQ
AWS Global Infrastructure
The Amazon Builders' Library: Workload isolation using shuffle-sharding

Melhores práticas:

Plano de melhoria

Implante a carga de trabalho em vários locais

  • Use várias zonas de disponibilidade e regiões da AWS: Distribua os dados e os recursos da carga de trabalho por várias zonas de disponibilidade ou, quando necessário, por regiões da AWS. A diversidade dos locais pode variar conforme a necessidade.
  • Se sua carga de trabalho precisar ser implantada em várias regiões, escolha uma estratégia multirregional: A maioria das necessidades de confiabilidade pode ser atendida em uma única região da AWS por meio de uma estratégia multizona de disponibilidade. Use uma estratégia multirregional quando necessário para atender às suas necessidades de negócio.
    AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
  • Avalie a carga de trabalho do AWS Outposts: Se a carga de trabalho exigir baixa latência do datacenter no local ou tiver requisitos de processamento de dados locais. Em seguida, use o AWS Outposts para executar a infraestrutura e os serviços da AWS no local
    What is AWS Outposts?
  • Determine se as zonas locais da AWS ajudam você a fornecer serviços aos usuários: Se você tiver requisitos de baixa latência, veja se as zonas locais da AWS estão próximas dos seus usuários. Se estiverem, use-as para implantar as cargas de trabalho mais perto desses usuários
    AWS Local Zones FAQ
  • Automatize a recuperação de componentes restritos a um único local

  • Implementar a autorreparação: Quando possível, use a escalabilidade automática para implantar instâncias ou contêineres. Quando não for possível, use a recuperação automática de instâncias do EC2 ou implemente a automação de autorreparação com base nos eventos de ciclo de vida do contêiner do Amazon EC2 ou do ECS.
  • Use a recuperação automática de instâncias do EC2 para cargas de trabalho que exigem um endereço do ID de instância única, endereço IP privado, endereço IP elástico e metadados de instância.
    Recover your instance.
  • Use os eventos de ciclo de vida da instância do EC2 ou os eventos do ECS para automatizar a autorreparação quando a escalabilidade automática ou a recuperação do EC2 não puder ser usada.
    EC2 Auto Scaling lifecycle hooks
    Amazon ECS events
  • Use arquiteturas de anteparo

  • Use arquiteturas de anteparo: Assim como os anteparos de um navio, esse padrão garante que uma falha seja contida em um pequeno subconjunto de solicitações ou usuários de modo que o número de solicitações prejudicadas seja limitado, e a maioria possa continuar sem erros. Geralmente, os anteparos de dados são chamados de partições ou fragmentos, enquanto os anteparos de serviços são conhecidos como células
    Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
    AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
  • Avalie a arquitetura baseada em células da carga de trabalho: Em uma arquitetura baseada em células, cada célula é uma instância completa e independente do serviço e tem um tamanho máximo fixo. À medida que a carga aumenta, as cargas de trabalho também aumenta por meio da adição de células. Uma chave de partição é usada no tráfego de entrada para determinar qual célula processará a solicitação. Qualquer falha é contida na única célula em que ela ocorre. Assim, o número de solicitações prejudicadas é limitado, e as outras células continuam sem erros. É importante identificar a chave de partição adequada para minimizar as interações entre células e evitar a necessidade de envolver serviços de mapeamento complexos em cada solicitação. Os serviços que exigem mapeamento complexo acabam apenas transferindo o problema para os serviços de mapeamento, enquanto os serviços que exigem interações entre células reduzem a independência das células (e, assim, as melhorias de disponibilidade esperadas desse processo).