Escolher a disponibilidade entre zonas e regiões
ConcluídoCompare conceções de alta disponibilidade, Multi-AZ e multi-region. Siga o percurso completo do pedido e teste a falha a que cada conceção tem de resistir.
Publicado por TaigaComo escrevemos
Verifique a sua compreensãoDuas réplicas web funcionam em AZs diferentes. Ambas precisam da mesma base de dados numa única AZ. O que demonstra isto?Faça o exercício
O que vai aprender
- Explicar a diferença entre uma Availability Zone e uma Region.
- Encontrar dependências partilhadas que comprometem uma conceção de disponibilidade.
- Comparar o valor para o negócio e o custo operacional de um deployment multi-region.
Comece pela operação do utilizador
A alta disponibilidade (HA) visa manter um serviço utilizável apesar das falhas de componentes. Defina o que significa utilizável antes de escolher a arquitetura. Uma página de reservas que carrega enquanto todos os pedidos de reserva falham não é um serviço de reservas disponível.
Defina um objetivo de nível de serviço (SLO) para a operação importante. Defina os pedidos contabilizados, o significado de sucesso e o período de medição. Um SLA de um serviço cloud descreve o compromisso desse fornecedor. Não estabelece a disponibilidade medida da sua aplicação.
A título ilustrativo, uma disponibilidade de 99,9 % medida em tempo permite 43,2 minutos de indisponibilidade num mês de 30 dias. Um SLO baseado em pedidos tem um denominador diferente. Nenhuma das medidas indica quantos dados pode perder nem garante a duração máxima de um incidente isolado de indisponibilidade.
Compreenda os limites de falha
Uma Availability Zone (AZ) da AWS é uma localização de infraestrutura isolada dentro de uma Region. Uma Region contém várias AZs. Uma conceção multi-region distribui componentes da carga de trabalho por várias Regions. Outros fornecedores têm os seus próprios limites e comportamentos dos serviços; examine o serviço escolhido.
| Conceção | Falha que pode ajudar a resolver | O que continua a exigir uma conceção |
|---|---|---|
| Vários processos numa AZ | Falha de um processo ou de um servidor | Perda da AZ e dependências partilhadas |
| Multi-AZ numa Region | Perda de uma AZ | Falha regional, corrupção de dados e recuperação |
| Várias Regions | Perda de uma Region | Encaminhamento, consistência dos dados, capacidade e serviços partilhados |
Estas são possibilidades de conceção, não garantias de disponibilidade. Uma designação não prova que todos os componentes necessários usam o limite pretendido.
Siga o percurso completo do pedido
Considere um serviço fictício de reservas. As réplicas web funcionam em duas AZs. Ambas usam uma base de dados e um gateway de saída na AZ A. O gateway é necessário para contactar o fornecedor de pagamentos.
Se a AZ A falhar, a réplica web na AZ B pode permanecer operacional enquanto as reservas continuam a falhar. A equipa tem de avaliar a base de dados, o percurso de rede, o fornecedor de identidade, a dependência de pagamentos e o encaminhamento. Examine o modo real da base de dados gerida: a replicação, o failover e o comportamento de leitura variam consoante o produto e a configuração.
Verifique também a capacidade. Os recursos que permanecem disponíveis têm de suportar a carga exigida. Uma conceção que depende de criar capacidade durante um incidente depende de quotas, recursos disponíveis e operações do plano de controlo.
Execute um exercício controlado com um limite definido, condições de paragem e um responsável. Verifique uma reserva completa, incluindo a reconciliação do pagamento. Registe os pedidos falhados e o tempo necessário para recuperar uma operação útil.
Decida se outra Region resolve o problema
A operação multi-region acrescenta transferência de dados, recursos duplicados, coordenação de deployments e trabalho operacional. O modo ativo/passivo mantém um ambiente preparado para receber tráfego. O modo ativo/ativo serve tráfego em mais do que um ambiente. A preparação necessária e o comportamento dos dados são diferentes.
No serviço de reservas, as escritas simultâneas introduzem uma pergunta: podem duas Regions vender o mesmo lugar? Defina quem tem autoridade sobre uma reserva e o comportamento durante uma interrupção da replicação. «Replicar a base de dados» não é uma resposta completa.
Verifique as localizações permitidas dos dados, as chaves de cifra, os certificados, o DNS, os segredos e os serviços externos. Uma falha de um serviço de identidade partilhado ou um lançamento defeituoso pode afetar várias Regions. Mais localizações não eliminam todas as causas comuns.
Ligue a disponibilidade à recuperação
A HA trata falhas específicas durante a operação. A recuperação de desastres restabelece um serviço utilizável e os seus dados após um evento perturbador. Um serviço multi-region continua a precisar de um plano de recuperação para eliminações ou corrupção de dados.
Documente os cenários de falha escolhidos e aqueles que o negócio aceita. Mantenha os testes e as definições de infraestrutura alinhados à medida que a aplicação muda. Continue com RTO, RPO e recuperação de desastres.
Faça o exercício
Um serviço fictício de reservas executa réplicas web em duas AZs. A base de dados e o gateway de saída ocupam uma AZ. Desenhe o percurso do pedido. Remova essa AZ no papel. Identifique o que continua a funcionar, o que falha e que teste verificaria a conclusão.
Descarregar ficha (Markdown)Desmarcar esta opção elimina todo o progresso guardado neste browser.
O progresso fica neste browser. Sem conta nem rastreamento.
Fontes e leituras adicionais
- AWS: Deploy the workload to multiple locations ↗
- AWS: Shared responsibility model for resiliency ↗
- Google SRE: Implementing SLOs ↗