Compartilhar via


Revisão do Azure Well-Architected Framework – Banco de Dados do Azure para PostgreSQL

Este artigo fornece práticas recomendadas de arquitetura para Banco de Dados do Azure para PostgreSQL.

A orientação se baseia nos cinco pilares da excelência arquitetônica:

  • Confiabilidade
  • Segurança
  • Otimização de custo
  • Excelência operacional
  • Eficiência do desempenho

Pré-requisitos

Entender os pilares do Well-Architected Framework pode ajudar a produzir uma arquitetura de nuvem de alta qualidade, estável e eficiente. Recomendamos que você examine sua carga de trabalho usando a avaliação do Azure Well-Architected Framework Review .

Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional no Azure com base no banco de dados relacional de software livre PostgreSQL. É um banco de dados totalmente gerenciado como uma oferta de serviço que pode lidar com cargas de trabalho críticas com desempenho previsível, segurança, alta disponibilidade e escalabilidade dinâmica. Banco de Dados do Azure para PostgreSQL é criado na edição da comunidade do mecanismo de banco de dados PostgreSQL. Ele é compatível com a edição da comunidade de servidores PostgreSQL e dá suporte a recursos de extensão do PostgreSQL, como PostGIS e TimescaleDB.

Observação

Para explorar uma ideia de solução leve que usa Banco de Dados do Azure para PostgreSQL para armazenar resultados analíticos da API dos Serviços Cognitivos, consulte Aplicativos inteligentes usando Banco de Dados do Azure para PostgreSQL.

Confiabilidade

Banco de Dados do Azure para PostgreSQL – O Servidor Flexível oferece suporte de alta disponibilidade provisionando réplicas primárias e em espera fisicamente separadas dentro da mesma zona de disponibilidade (zonal) ou entre zonas de disponibilidade (com redundância de zona). Esse modelo de alta disponibilidade garante que os dados confirmados nunca sejam perdidos se ocorrer uma falha. O modelo também foi projetado para que o banco de dados não se torne um ponto único de falha em sua arquitetura de software. Banco de Dados do Azure para PostgreSQL – O Servidor Flexível fornece recursos que protegem dados e reduzem o tempo de inatividade para seus bancos de dados críticos durante eventos de tempo de inatividade planejados e não planejados. Criado com base na infraestrutura do Azure que oferece resiliência e disponibilidade robustas, o servidor flexível tem recursos de continuidade de negócios que fornecem proteção contra falhas, abordam requisitos de tempo de recuperação e reduzem a exposição à perda de dados.

Lista de verificação de design de confiabilidade

Você deve examinar os princípios de design para otimizar o custo de sua arquitetura.

  • Destinos definidos para RPO (Objetivo de Ponto de Recuperação) e RTO (Objetivo de Tempo de Recuperação) para cargas de trabalho.
  • Selecione a configuração de alta disponibilidade apropriada.
  • Configurar o backup de redundância geográfica.
  • Teste seu plano de recuperação de desastre para garantir a restauração rápida de dados em caso de falha.
  • Teste o Failover sob Demanda para seu servidor habilitado para HA para garantir que nosso aplicativo se comporte conforme o esperado.
  • Monitore seu servidor para garantir que ele esteja íntegro e funcionando conforme o esperado.

Recomendações de confiabilidade

Recomendação Benefício
Destinos definidos para RPO (Objetivo de Ponto de Recuperação) e RTO (Objetivo de Tempo de Recuperação) para cargas de trabalho. Derive esses valores realizando uma avaliação de risco e garantindo que você entenda o custo e o risco de tempo de inatividade e perda de dados. Esses são requisitos não funcionais de um sistema e devem ser exigidos pelos requisitos de negócios.
Selecione a configuração de alta disponibilidade apropriada. Banco de Dados do Azure para PostgreSQL Server oferece configurações de alta disponibilidade, garantindo que o serviço permaneça disponível se houver uma interrupção de zona e nenhum dado for perdido. Quando a alta disponibilidade é configurada, o servidor Banco de Dados do Azure para PostgreSQL provisiona e gerencia automaticamente um réplica em espera.
Configurar o backup de redundância geográfica. Réplicas de leitura entre regiões podem ser implantadas para proteger seus bancos de dados contra falhas no nível da região. Os backups com redundância geográfica são habilitados em regiões selecionadas e ajudam na recuperação de desastres se a região do servidor primário estiver inativa.
Teste seu plano de recuperação de desastre para garantir a restauração rápida de dados se houver uma falha. As réplicas de leitura podem ser implantadas em uma região diferente e promovidas a um servidor de leitura/gravação se a recuperação de desastre for necessária.
Monitore seu servidor para garantir que ele esteja íntegro e funcionando conforme o esperado. Temos o monitoramento de banco de dados em vigor para monitorar e alertar sobre falhas no âmbito do banco de dados.

Dica

Para obter mais detalhes sobre diretrizes de confiabilidade para Banco de Dados do Azure para PostgreSQL, consulte Confiabilidade com Banco de Dados do Azure para PostgreSQL.

Definições de política do Azure

Azure Policy definições ajudam você a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a confiabilidade de Banco de Dados do Azure para PostgreSQL, você pode criar definições de Azure Policy personalizadas para implementar configurações específicas e práticas recomendadas. Aqui está um exemplo de algumas definições de Azure Policy personalizadas que você pode criar para confiabilidade:

Segurança

Pense sobre a segurança em todo o ciclo de vida de um aplicativo, desde o design e a implementação até a implantação e as operações. A plataforma do Azure protege contra várias ameaças, como intrusão de rede e ataques de DDoS. Você ainda precisa criar segurança em seu aplicativo e em seus processos de DevOps.

Lista de verificação de design de segurança

Você deve examinar os princípios de design para otimizar o custo de sua arquitetura.

  • SSL e impor criptografia para proteger dados em trânsito.
  • Implemente grupos de segurança de rede e firewalls para controlar o acesso ao banco de dados.
  • Use o Azure Active Directory para autenticação e autorização para aprimorar o gerenciamento de identidades.
  • Configurar a segurança em nível de linha.

Recomendações de segurança

Recomendação Benefício
SSL e impor criptografia para proteger dados em trânsito. Implante o certificado Raiz Global digiCert de um certificado de AC (autoridade de certificação) confiável necessário para se comunicar por SSL com aplicativos cliente.
Implemente grupos de segurança de rede e firewalls para controlar o acesso ao banco de dados. Como parte do modelo de Confiança Zero para segurança, a segmentação de rede é recomendada quando os caminhos de comunicação entre componentes (nesse caso, o aplicativo e o servidor de banco de dados) são restritos apenas ao que é necessário. Isso pode ser implementado usando grupos de segurança de rede e grupos de segurança de aplicativo.
Use o Azure Active Directory para autenticação e autorização para aprimorar o gerenciamento de identidades. A autenticação do Microsoft Azure Active Directory (Azure AD) é um mecanismo de conexão ao Banco de Dados do Azure para PostgreSQL usando identidades definidas no Azure AD.
Configurar a segurança em nível de linha. A RLS (segurança em nível de linha) é um recurso de segurança do PostgreSQL que permite que os administradores de banco de dados definam políticas para controlar como linhas específicas de dados são exibidas e operam para uma ou mais funções. A segurança em nível de linha é um filtro adicional que você pode aplicar a uma tabela de banco de dados PostgreSQL.

Otimização de custo

A otimização de custo é sobre entender suas opções de configuração e as práticas recomendadas para reduzir despesas desnecessárias e melhorar a eficiência operacional. Você deve examinar sua carga de trabalho para identificar oportunidades de redução de custos.

Lista de verificação de design de custo

Você deve examinar os princípios de design para otimizar o custo de sua arquitetura.

  • Escolha a camada direita e a SKU.
  • Entenda o modo de alta disponibilidade.
  • Dimensionar camadas de computação e armazenamento.
  • Considere instâncias reservadas.
  • Use o armazenamento provisionado.
  • Entenda os custos de redundância geográfica.
  • Avalie as decisões de expansão de armazenamento.
  • Implante na mesma região que um aplicativo.
  • Descrição do custo orientado à alta disponibilidade.
  • Consolidar bancos de dados e servidores.

Recomendações de custo

Recomendações Benefícios
Escolha a camada direita e a SKU. Escolha o tipo de preço e os SKUs de computação que dão suporte às necessidades específicas da carga de trabalho. O Assistente do Azure oferece recomendações para otimizar e reduzir os gastos gerais do Azure. As recomendações incluem o dimensionamento correto do servidor que você deve seguir.
Entenda o modo de alta disponibilidade. A alta disponibilidade torna um servidor em espera sempre disponível dentro da mesma zona ou região. Habilitar alta disponibilidade dobra seu custo.
Ajuste as camadas de computação e armazenamento. Você deve ajustar manualmente as camadas de computação e armazenamento para atender aos requisitos do aplicativo ao longo do tempo.
Use o recurso Iniciar/Parar. O servidor flexível tem um recurso Iniciar/Parar que você pode usar para impedir que o servidor seja executado quando você não precisar dele.
Considere instâncias reservadas. Considere uma reserva de um ou três anos para receber descontos significativos na computação. Use essas reservas para cargas de trabalho com uso consistente de computação por um ano ou mais.
Use o armazenamento provisionado. Não há nenhum custo adicional para o armazenamento de backup de até 100% do armazenamento total do servidor provisionado.
Entenda os custos de redundância. O GRS (armazenamento com redundância geográfica) custa o dobro do LRS (armazenamento com redundância local). O GRS requer o dobro da capacidade de armazenamento do LRS.
Avalie as decisões de expansão de armazenamento. Você deve avaliar suas necessidades de armazenamento atuais e futuras antes de escalar verticalmente o armazenamento. Depois de escalar verticalmente o armazenamento, você não poderá reduzir verticalmente.
Implante na mesma região que o aplicativo. Implante na mesma região que os aplicativos para minimizar os custos de transferência. Quando você usa a integração de rede virtual, os aplicativos em uma rede virtual diferente não têm acesso direto a servidores flexíveis. Para conceder-lhes acesso, você precisa configurar o emparelhamento de rede virtual. O emparelhamento de rede virtual tem custos nominais de transferência de dados de entrada e saída.
Descrição do custo orientado à alta disponibilidade. É uma compensação de HA e custos. A HA é o dobro do custo para a configuração não HA, mas é necessária.
Consolidar bancos de dados e servidores. Você pode consolidar vários bancos de dados e servidores em um único servidor para reduzir os custos.

Definições de política do Azure

Azure Policy definições ajudam você a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a otimização de custos para Banco de Dados do Azure para PostgreSQL, você pode criar definições de Azure Policy personalizadas para impor configurações e práticas recomendadas específicas. Aqui está um exemplo de algumas definições de Azure Policy personalizadas que você pode criar para otimização de custo:

Excelência operacional

Os princípios de excelência operacional são uma série de considerações que podem ajudar a alcançar práticas operacionais superiores.

Para obter uma maior competência em operações, considere e melhore como o software é desenvolvido, implantado, operado e mantido.

Lista de verificação de design de excelência operacional

Você deve examinar os princípios de design para otimizar o custo de sua arquitetura.

  • Configure backups automatizados e políticas de retenção para manter a disponibilidade de dados e atender aos requisitos de conformidade.
  • Implemente a aplicação de patch e atualizações automatizadas para manter a instância do PostgreSQL segura e atualizada.
  • Monitore a integridade e o desempenho do banco de dados usando o Azure Monitor e configure alertas para métricas críticas.

Recomendações de excelência operacional

Recomendação Benefícios
Configure backups automatizados e políticas de retenção para manter a disponibilidade de dados e atender aos requisitos de conformidade. Banco de Dados do Azure para PostgreSQL fornece backups automatizados e restauração pontual para seu banco de dados. Você pode configurar o período de retenção para backups de até 35 dias.
Implemente a aplicação de patch e atualizações automatizadas para manter a instância do PostgreSQL segura e atualizada. Banco de Dados do Azure para PostgreSQL fornece patch automatizado e atualizações para seu banco de dados. Você pode configurar a janela de manutenção do servidor para minimizar o impacto na carga de trabalho.
Monitore a integridade e o desempenho do banco de dados usando o Azure Monitor e configure alertas para métricas críticas. Banco de Dados do Azure para PostgreSQL fornece recursos internos de monitoramento e alerta. Você pode monitorar a integridade e o desempenho do banco de dados usando o Azure Monitor. Você também pode configurar alertas para métricas críticas para serem notificados quando o banco de dados não estiver funcionando conforme o esperado.

Definições de política de excelência operacional

Azure Policy definições ajudam você a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a excelência operacional para Banco de Dados do Azure para PostgreSQL, você pode criar definições de Azure Policy personalizadas para impor configurações e práticas recomendadas específicas. Aqui está um exemplo de algumas definições de Azure Policy personalizadas que você pode criar para excelência operacional:

Eficiência de desempenho

A eficiência de desempenho é a capacidade da carga de trabalho de dimensionar para atender às demandas colocadas sobre ela pelos usuários com eficiência. Recomendamos que você examine os princípios de eficiência de desempenho.

Na lista de verificação de design e na lista de recomendações abaixo, as chamadas indicam se cada opção se aplica à arquitetura do cluster, à arquitetura da carga de trabalho ou a ambas.

Lista de verificação de design de eficiência de desempenho

Você deve examinar os princípios de design para otimizar o custo de sua arquitetura.

  • Crie seu esquema e consultas para obter eficiência para minimizar o consumo de recursos.
  • Implemente réplicas de leitura para descarregar o tráfego de leitura e melhorar o desempenho geral.

Recomendações de eficiência de desempenho

Recomendação Benefícios
Crie seu esquema e consultas para obter eficiência para minimizar o consumo de recursos. Você deve criar seu esquema e consultas para obter eficiência para minimizar o consumo de recursos.
Implemente réplicas de leitura para descarregar o tráfego de leitura e melhorar o desempenho geral. Você pode usar réplicas de leitura para descarregar o tráfego de leitura e melhorar o desempenho.

Definições de política de eficiência de desempenho

Azure Policy definições ajudam você a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a eficiência de desempenho para Banco de Dados do Azure para PostgreSQL, você pode criar definições de Azure Policy personalizadas para impor configurações e práticas recomendadas específicas. Aqui está um exemplo de algumas definições de Azure Policy personalizadas que você pode criar para eficiência de desempenho:

Recursos adicionais

Considere mais recursos relacionados a Banco de Dados do Azure para PostgreSQL.

Diretrizes do Centro de Arquitetura do Azure

Diretrizes do Cloud Adoption Framework

Próxima etapa