Descrever as opções de alta disponibilidade e recuperação de desastre para implantações de PaaS
A PaaS é diferente quando se trata de disponibilidade. É possível configurar apenas as opções que o Azure oferece.
Para as opções baseadas em 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 a 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 de nó, como falha de hardware, um mecanismo de failover interno será ativado. Todas as alterações transacionais no banco de dados MySQL são gravadas de maneira síncrona no armazenamento após o commit. Em caso de uma interrupção no nível do nó, o servidor de banco de dados cria automaticamente um nó e anexa o armazenamento de dados.
Do ponto de vista de um aplicativo, você precisará codificar a lógica de repetição necessária porque todas as conexões são descartadas como parte da ativação do novo nó e todas as transações em andamento serão perdidas. Esse processo é considerado uma melhor prática 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 no modelo de implantação padrão. Porém, o PostgreSQL do Azure também oferece uma solução de hiperescala de expansão chamada Citus. O Citus fornece expansão 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, já que dobraria o número de servidores no grupo. Caso o nó original tenha um problema, como deixar de responder ou falhar completamente, o nó em espera assume 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 a lógica de repetição no aplicativo devido a conexões descartadas e perda de transações em andamento.
O Banco de Dados do Azure para MySQL e PostgreSQL dá suporte à opção para 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 melhora a disponibilidade porque ela existe em outra região.