Descrever opções de alta disponibilidade e recuperação de desastres para implantações de PaaS

Concluído

O PaaS é diferente quando se trata de disponibilidade; você só pode configurar as opções que o Azure fornece.

Para as opções baseadas no SQL Server do Banco de Dados SQL do Azure e da Instância Gerenciada do Banco de Dados SQL do Azure, as opções são replicação geográfica ativa (somente Banco de Dados SQL do Azure) e grupos de failover automático (Banco de Dados SQL do Azure ou Instância Gerenciada do Banco de Dados SQL do Azure).

O Banco de Dados do Azure para MySQL tem um contrato de nível de serviço, que garante disponibilidade de 99,99, o que significa que quase nenhum tempo de inatividade deve ser encontrado. Para o Banco de Dados do Azure para MySQL, se ocorrer um problema no nível do nó, como falha de hardware, um mecanismo de failover interno será acionado. Todas as alterações transacionais no banco de dados MySQL são gravadas de forma síncrona no armazenamento após a confirmação. Se ocorrer uma interrupção no nível do nó, o servidor de banco de dados criará automaticamente um novo nó e anexará o armazenamento de dados.

Do ponto de vista do aplicativo, você precisará codificar a lógica de repetição necessária porque todas as conexões são descartadas como parte da rotação do novo nó e todas as transações em voo são perdidas. Esse processo é considerado uma prática recomendada para qualquer aplicativo em nuvem, pois eles devem ser projetados para lidar com falhas transitórias.

O Banco de Dados do Azure para PostgreSQL usa um modelo semelhante ao MySQL em seu modelo de implantação padrão; no entanto, o Azure PostgreSQL também oferece uma solução de hiperescala de expansão chamada Citus. O Citus fornece escalabilidade horizontal e alta disponibilidade adicional para um grupo de servidores. Se habilitada, uma réplica em espera é configurada para cada nó de um grupo de servidores, o que também aumentaria o custo, pois dobraria o número de servidores no grupo. No caso, o nó original tem um problema, como deixar de responder ou falhar completamente, o modo de espera toma o seu lugar. Os dados são mantidos em sincronia por meio da replicação de streaming síncrona do PostgreSQL.

Assim como no Banco de Dados do Azure para MySQL, as soluções que usam o Banco de Dados do Azure para PostgreSQL também devem incluir lógica de repetição no aplicativo devido à queda de conexões e perda de transações em voo.

O Banco de Dados do Azure para MySQL e o PostgreSQL dão suporte à opção de uma réplica de leitura. Isso significa que uma réplica pode ser usada para atividades como relatórios para descarregar o trabalho do banco de dados primário. Uma réplica de leitura também aumenta a disponibilidade porque existe em outra região.