Partilhar via


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

Este artigo fornece melhores práticas de arquitetura para Base de Dados do Azure para PostgreSQL.

A orientação baseia-se nos cinco pilares da excelência arquitectónica:

  • Fiabilidade
  • Segurança
  • Otimização de custos
  • Excelência operacional
  • Eficiência de desempenho

Pré-requisitos

Compreender os pilares do Well-Architected Framework pode ajudar a produzir uma arquitetura de cloud de alta qualidade, estável e eficiente. Recomendamos que reveja a carga de trabalho com a avaliação do Azure Well-Architected Framework Review .

Base de Dados do Azure para PostgreSQL é um serviço de base de dados relacional no Azure baseado na base de dados relacional open source do PostgreSQL. É uma oferta de base de dados como serviço totalmente gerida capaz de processar cargas de trabalho fundamentais com desempenho previsível, segurança, elevada disponibilidade e escalabilidade dinâmica. Base de Dados do Azure para PostgreSQL baseia-se na edição da comunidade do motor de base de dados PostgreSQL. É compatível com a edição da comunidade do servidor PostgreSQL e suporta funcionalidades da extensão PostgreSQL, como PostGIS e TimescaleDB.

Nota

Para explorar uma ideia de solução leve que utiliza Base de Dados do Azure para PostgreSQL para armazenar resultados analíticos da API dos Serviços Cognitivos, veja Aplicações inteligentes que utilizam Base de Dados do Azure para PostgreSQL.

Fiabilidade

Base de Dados do Azure para PostgreSQL – o Servidor Flexível oferece suporte de elevada disponibilidade ao aprovisionar réplicas primárias e de reserva fisicamente separadas dentro da mesma zona de disponibilidade (zonal) ou entre zonas de disponibilidade (com redundância entre zonas). Este modelo de elevada disponibilidade garante que os dados consolidados nunca são perdidos se ocorrer uma falha. O modelo também foi concebido para que a base de dados não se torne um ponto único de falha na sua arquitetura de software. Base de Dados do Azure para PostgreSQL – o Servidor Flexível fornece funcionalidades que protegem os dados e mitigam o período de indisponibilidade das bases de dados críticas para a sua missão durante eventos de tempo de inatividade planeados e não planeados. Criado com base na infraestrutura do Azure que oferece resiliência e disponibilidade robustas, o servidor flexível tem funcionalidades de continuidade de negócio que fornecem proteção contra falhas, abordam os requisitos de tempo de recuperação e reduzem a exposição à perda de dados.

Lista de verificação de design de fiabilidade

Deve rever os princípios de estrutura para otimizar o custo da 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 elevada disponibilidade adequada.
  • Configurar a cópia de segurança de georredundância.
  • Teste o seu plano de recuperação após desastre para garantir o restauro rápido de dados em caso de falha.
  • Teste a Ativação Pós-falha a Pedido para o servidor compatível com HA para garantir que a nossa aplicação se comporta conforme esperado.
  • Monitorize o servidor para garantir que está em bom estado de funcionamento e a funcionar conforme esperado.

Recomendações de fiabilidade

Recomendação Vantagem
Destinos definidos para RPO (Objetivo de Ponto de Recuperação) e RTO (Objetivo de Tempo de Recuperação) para cargas de trabalho. Derivar estes valores ao realizar uma avaliação de riscos e garantir que compreende o custo e o risco de tempo de inatividade e perda de dados. Estes são requisitos não funcionais de um sistema e devem ser ditados por requisitos empresariais.
Selecione a configuração de elevada disponibilidade adequada. Base de Dados do Azure para PostgreSQL Server oferece configurações de elevada disponibilidade, garantindo que o serviço permanece disponível se ocorrer uma indisponibilidade da zona e não se percam dados. Quando a elevada disponibilidade é configurada, o servidor Base de Dados do Azure para PostgreSQL aprovisiona e gere automaticamente uma réplica de reserva.
Configurar a cópia de segurança de georredundância. As réplicas de leitura entre regiões podem ser implementadas para proteger as bases de dados contra falhas ao nível da região. As cópias de segurança georredundantes são ativadas em regiões selecionadas e ajudam na recuperação após desastre se a região do servidor primário estiver inativa.
Teste o seu plano de recuperação após desastre para garantir o restauro rápido de dados se ocorrer uma falha. As réplicas de leitura podem ser implementadas numa região diferente e promovidas para um servidor de leitura/escrita se for necessária uma recuperação após desastre.
Monitorize o servidor para garantir que está em bom estado de funcionamento e a funcionar conforme esperado. Temos a monitorização da base de dados implementada para monitorizar e alertar sobre falhas ao nível da base de dados.

Dica

Para obter mais detalhes sobre a orientação de fiabilidade para Base de Dados do Azure para PostgreSQL, veja Fiabilidade com Base de Dados do Azure para PostgreSQL.

Definições do Azure Policy

Azure Policy definições ajudam-no a impor regras e configurações específicas para recursos no seu ambiente do Azure. Para garantir a fiabilidade do Base de Dados do Azure para PostgreSQL, pode criar definições de Azure Policy personalizadas para implementar configurações e melhores práticas específicas. Eis um exemplo de algumas definições personalizadas de Azure Policy que pode criar para fiabilidade:

Segurança

Pense na segurança ao longo de todo o ciclo de vida de uma aplicação, desde a conceção e implementação até à implementação e operações. A plataforma do Azure protege contra várias ameaças, como intrusões de rede e ataques DDoS. Ainda precisa de criar segurança na sua aplicação e nos seus processos de DevOps.

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

Deve rever os princípios de estrutura para otimizar o custo da sua arquitetura.

  • SSL e impor encriptação para proteger dados em trânsito.
  • Implemente grupos de segurança de rede e firewalls para controlar o acesso à sua base de dados.
  • Utilize o Azure Active Directory para autenticação e autorização para melhorar a gestão de identidades.
  • Configurar a segurança ao nível da linha.

Recomendações de segurança

Recomendação Vantagem
SSL e impor encriptação para proteger dados em trânsito. Implemente o certificado digiCert Global Root a partir de um certificado de Autoridade de Certificação (AC) fidedigna necessária para comunicar através de SSL com aplicações cliente.
Implemente grupos de segurança de rede e firewalls para controlar o acesso à sua base de dados. Como parte do Modelo de Confiança Zero de segurança, recomenda-se a segmentação de rede em que os caminhos de comunicação entre componentes (neste caso, servidor de aplicações e bases de dados) estão restritos apenas ao que é necessário. Isto pode ser implementado através do Grupo de Segurança de Rede e dos Grupos de Segurança de Aplicações.
Utilize o Azure Active Directory para autenticação e autorização para melhorar a gestão de identidades. Microsoft Azure Active Directory (Azure AD) autenticação é um mecanismo de ligação ao Base de Dados do Azure para PostgreSQL através de identidades definidas no Azure AD.
Configurar a segurança ao nível da linha. A segurança ao nível da linha (RLS) é uma funcionalidade de segurança postgreSQL que permite aos administradores de bases de dados definir políticas para controlar a forma como linhas específicas de dados são apresentadas e funcionam para uma ou mais funções. A segurança ao nível da linha é um filtro adicional que pode aplicar a uma tabela de base de dados PostgreSQL.

Otimização de custos

A otimização de custos consiste em compreender as opções de configuração e as melhores práticas recomendadas para reduzir despesas desnecessárias e melhorar a eficiência operacional. Deve rever a carga de trabalho para identificar oportunidades para reduzir os custos.

Lista de verificação da estrutura de custos

Deve rever os princípios de estrutura para otimizar o custo da sua arquitetura.

  • Escolha o escalão e o SKU corretos.
  • Compreender o modo de elevada disponibilidade.
  • Dimensione as camadas de computação e armazenamento.
  • Considere as instâncias reservadas.
  • Utilize o armazenamento aprovisionado.
  • Compreender os custos de redundância geográfica.
  • Avalie as decisões de aumento vertical do armazenamento.
  • Implementar na mesma região que uma aplicação.
  • Descrição dos custos orientados para elevada disponibilidade.
  • Consolidar bases de dados e servidores.

Recomendações de custos

Recomendações Benefícios
Escolha o escalão e o SKU corretos. Escolha o escalão de preço e os SKUs de computação que suportam as necessidades específicas da sua carga de trabalho. O Assistente do Azure dá-lhe recomendações para otimizar e reduzir as despesas gerais do Azure. As recomendações incluem o dimensionamento direito do servidor que deve seguir.
Compreender o modo de elevada disponibilidade. A elevada disponibilidade torna um servidor de reserva sempre disponível na mesma zona ou região. Ativar a elevada disponibilidade duplica o custo.
Ajuste as camadas de computação e armazenamento. Deve ajustar manualmente as camadas de computação e armazenamento para cumprir os requisitos da aplicação ao longo do tempo.
Utilize a funcionalidade Iniciar/Parar. O Servidor flexível tem uma funcionalidade Iniciar/Parar que pode utilizar para impedir que o servidor seja executado quando não precisar.
Considere instâncias reservadas. Considere uma reserva de um ou três anos para receber descontos significativos na computação. Utilize estas reservas para cargas de trabalho com uma utilização de computação consistente durante um ano ou mais.
Utilize o armazenamento aprovisionado. Não existem custos adicionais para o armazenamento de cópias de segurança até 100% do armazenamento total do servidor aprovisionado.
Compreender os custos de redundância. O armazenamento georredundante (GRS) custa o dobro do armazenamento redundante local (LRS). O GRS requer o dobro da capacidade de armazenamento do LRS.
Avalie as decisões de aumento vertical do armazenamento. Deve avaliar as suas necessidades de armazenamento atuais e futuras antes de aumentar verticalmente o armazenamento. Depois de aumentar verticalmente o armazenamento, não pode reduzir verticalmente.
Implemente na mesma região que a aplicação. Implemente na mesma região que as aplicações para minimizar os custos de transferência. Quando utiliza a integração de rede virtual, as aplicações numa rede virtual diferente não têm acesso direto a servidores flexíveis. Para lhes conceder acesso, tem de configurar o peering de rede virtual. O peering de rede virtual tem custos de transferência de dados de entrada e saída nominais.
Descrição dos custos orientados para a elevada disponibilidade. É uma troca de HA e custos. A HA é o dobro do custo da configuração não HA, mas é necessária.
Consolidar bases de dados e servidores. Pode consolidar várias bases de dados e servidores num único servidor para reduzir os custos.

Definições de políticas do Azure

Azure Policy definições ajudam-no a impor regras e configurações específicas para recursos no seu ambiente do Azure. Para garantir a otimização de custos para Base de Dados do Azure para PostgreSQL, pode criar definições de Azure Policy personalizadas para impor configurações e melhores práticas específicas. Eis um exemplo de algumas definições de Azure Policy personalizadas que pode criar para otimização de custos:

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 a forma como o software é desenvolvido, implementado, operado e mantido.

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

Deve rever os princípios de conceção para otimizar o custo da sua arquitetura.

  • Configure cópias de segurança automatizadas e políticas de retenção para manter a disponibilidade dos dados e cumprir os requisitos de conformidade.
  • Implemente a aplicação de patches e atualizações automatizadas para manter a instância do PostgreSQL segura e atualizada.
  • Monitorize o estado de funcionamento e o desempenho da base de dados com o Azure Monitor e configure alertas para métricas críticas.

Recomendações de excelência operacional

Recomendação Benefícios
Configure cópias de segurança automatizadas e políticas de retenção para manter a disponibilidade dos dados e cumprir os requisitos de conformidade. Base de Dados do Azure para PostgreSQL fornece cópias de segurança automatizadas e restauro para um ponto anterior no tempo para a sua base de dados. Pode configurar o período de retenção para cópias de segurança até 35 dias.
Implemente a aplicação de patches e atualizações automatizadas para manter a instância do PostgreSQL segura e atualizada. Base de Dados do Azure para PostgreSQL fornece patches e atualizações automatizadas para a base de dados. Pode configurar a janela de manutenção para o servidor minimizar o impacto na carga de trabalho.
Monitorize o estado de funcionamento e o desempenho da base de dados com o Azure Monitor e configure alertas para métricas críticas. Base de Dados do Azure para PostgreSQL fornece capacidades de monitorização e alerta incorporadas. Pode monitorizar o estado de funcionamento e o desempenho da base de dados com o Azure Monitor. Também pode configurar alertas para métricas críticas para ser notificado quando a base de dados não estiver a funcionar conforme esperado.

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

Azure Policy definições ajudam-no a impor regras e configurações específicas para recursos no seu ambiente do Azure. Para garantir a excelência operacional para Base de Dados do Azure para PostgreSQL, pode criar definições de Azure Policy personalizadas para impor configurações e melhores práticas específicas. Eis um exemplo de algumas definições personalizadas de Azure Policy que pode criar para Excelência operacional:

Eficiência de desempenho

A eficiência de desempenho é a capacidade da carga de trabalho dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Recomendamos que reveja 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 escolha se aplica à arquitetura do cluster, à arquitetura da carga de trabalho ou a ambas.

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

Deve rever os princípios de conceção para otimizar o custo da sua arquitetura.

  • Crie o esquema e as 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 o esquema e as consultas para obter eficiência para minimizar o consumo de recursos. Deve estruturar o esquema e as 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. Pode utilizar réplicas de leitura para descarregar tráfego de leitura e melhorar o desempenho.

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

Azure Policy definições ajudam-no a impor regras e configurações específicas para recursos no seu ambiente do Azure. Para garantir a eficiência de desempenho para Base de Dados do Azure para PostgreSQL, pode criar definições de Azure Policy personalizadas para impor configurações e melhores práticas específicas. Eis um exemplo de algumas definições personalizadas de Azure Policy que pode criar para Eficiência de desempenho:

Recursos adicionais

Considere mais recursos relacionados com Base de Dados do Azure para PostgreSQL.

Orientação do Centro de Arquitetura do Azure

Orientações do Cloud Adoption Framework

Passo seguinte