Como otimizar custos no Banco de Dados do Azure para PostgreSQL - Servidor Flexível
APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Flexível
O servidor flexível do Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional na nuvem da Microsoft baseado no PostgreSQL Community Edition. É uma oferta de base de dados como serviço totalmente gerida capaz de processar cargas de trabalho fundamentais com desempenho previsível e escalabilidade dinâmica.
Este artigo fornece uma lista de recomendações para otimizar o Banco de Dados do Azure para o custo flexível do servidor PostgreSQL. A lista inclui considerações de design, uma lista de verificação de configuração e configurações de banco de dados recomendadas para ajudá-lo a otimizar sua carga de trabalho.
- Aproveite os preços de capacidade reservada.
- Dimensione a computação para cima/baixo.
- Usando as recomendações do consultor do Azure.
- Avalie os requisitos de HA (alta disponibilidade) e DR (recuperação de desastres).
- Consolide bancos de dados e servidores.
- Coloque servidores de teste em regiões geográficas econômicas.
- Iniciando e parando servidores.
- Arquive dados antigos para armazenamento a frio.
1. Use o preço da capacidade reservada
O preço de capacidade reservada do Azure Postgres permite comprometer-se com uma capacidade específica por 1 a 3 anos, economizando custos para os clientes que usam o Banco de Dados do Azure para o servidor flexível PostgreSQL. A economia de custos em comparação com os preços pré-pagos pode ser significativa, dependendo da quantidade de capacidade reservada e da duração do prazo. Os clientes podem comprar capacidade reservada em incrementos de vCores e armazenamento. A capacidade reservada pode cobrir os custos das instâncias de servidor flexíveis do Banco de Dados do Azure para PostgreSQL na mesma região, aplicadas à assinatura do Azure do cliente. Os preços reservados para o servidor flexível do Banco de Dados do Azure para PostgreSQL oferecem economia de custos de até 40% por 1 ano e até 60% para compromissos de 3 anos, para clientes que reservam capacidade. Para obter mais detalhes, consulte Calculadora de preços | Microsoft Azure. Para saber mais, consulte O que são Reservas do Azure?
2. Dimensione a computação para cima/para baixo
Aumentar ou diminuir os recursos de uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL pode ajudá-lo a otimizar custos. Ajuste os vCores e o armazenamento conforme necessário para pagar apenas pelos recursos necessários. O dimensionamento pode ser feito por meio do portal do Azure, da CLI do Azure ou da API REST do Azure. O dimensionamento de recursos de computação para cima ou para baixo pode ser feito a qualquer momento e requer a reinicialização do servidor. É uma boa prática monitorar os padrões de uso do banco de dados e ajustar os recursos de acordo para otimizar os custos e garantir o desempenho. Para obter mais detalhes, consulte Opções de computação e armazenamento no Banco de Dados do Azure para servidor flexível PostgreSQL.
Configure ambientes não-prod de forma conservadora - Configure ambientes ociosos de desenvolvimento/teste/estágio para ter SKUs econômicos. Escolher SKUs Burstable é ideal para cargas de trabalho que não precisam de capacidade total contínua.
Para saber mais, consulte Dimensionar operações no Banco de Dados do Azure para servidor flexível PostgreSQL
3. Usando as recomendações do consultor do Azure
O Azure Advisor é um serviço gratuito que fornece recomendações para ajudar a otimizar seus recursos do Azure. Ele analisa sua configuração de recursos e padrões de uso e fornece recomendações sobre como melhorar o desempenho, a segurança, a alta disponibilidade e a relação custo-benefício de seus recursos do Azure. As recomendações abrangem vários serviços do Azure, incluindo computação, armazenamento, rede e bancos de dados.
Para o Banco de Dados do Azure para PostgreSQL, o Azure Advisor pode fornecer recomendações sobre como melhorar o desempenho, a disponibilidade e a relação custo-benefício do seu banco de dados. Por exemplo, ele pode sugerir o dimensionamento do banco de dados para cima ou para baixo, o uso de réplicas de leitura para descarregar cargas de trabalho de leitura intensiva ou a mudança para preços de capacidade reservada para reduzir custos. O Consultor do Azure também pode recomendar práticas recomendadas de segurança, como habilitar a criptografia em repouso ou habilitar regras de segurança de rede para limitar o tráfego de entrada no banco de dados.
Pode aceder às recomendações fornecidas pelo Azure Advisor através do portal do Azure, onde pode ver e implementar as recomendações com apenas alguns cliques. A implementação das recomendações do Azure Advisor pode ajudá-lo a otimizar seus recursos do Azure e reduzir custos. Para saber mais, consulte Azure Advisor for Azure Database for PostgreSQL - Flexible Server
4. Avaliar os requisitos de HA (alta disponibilidade) e DR (recuperação de desastres)
O servidor flexível do Banco de Dados do Azure para PostgreSQL tem resiliência interna de nó e armazenamento sem nenhum custo extra para você. A resiliência do nó permite que sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL faça failover automaticamente para uma VM íntegra sem perda de dados (ou seja, RPO zero) e sem alterações na cadeia de conexão, exceto que seu aplicativo deve se reconectar. Da mesma forma, os dados e os logs de transações são armazenados em três cópias síncronas, e ele deteta automaticamente a corrupção de armazenamento e executa a ação corretiva. Para a maioria das cargas de trabalho de desenvolvimento/teste e para muitas cargas de trabalho de produção, essa configuração deve ser suficiente.
Se sua carga de trabalho exigir resiliência AZ e RTO mais baixo, você poderá habilitar a Alta Disponibilidade (HA) com o modo de espera na zona ou entre AZ. Isso dobra os custos de implantação, mas também fornece um SLA mais alto. Para obter resiliência geográfica para seu aplicativo, você pode configurar o GeoBackup por um custo mais baixo, mas com um RTO mais alto. Como alternativa, você pode configurar o GeoReadReplica pelo dobro do custo, que oferece um RTO em minutos se houver um desastre geográfico.
A principal conclusão é avaliar o requisito de sua pilha de aplicativos completa e, em seguida, escolher a configuração certa para a instância flexível do servidor do Banco de Dados do Azure para PostgreSQL. Por exemplo, se seu aplicativo não for resiliente AZ, não há nada a ganhar configurando o Banco de Dados do Azure para servidor flexível PostgreSQL na configuração resiliente AZ.
Para saber mais, consulte Arquitetura de alta disponibilidade no servidor flexível
5. Consolidar bancos de dados e servidores
A consolidação de bancos de dados pode ser uma estratégia de economia de custos para o Banco de Dados do Azure para servidor flexível PostgreSQL. A consolidação de vários bancos de dados em uma única instância de servidor flexível do Banco de Dados do Azure para PostgreSQL pode reduzir o número de instâncias e o custo geral de execução do Banco de Dados do Azure para servidor flexível PostgreSQL. Siga estas etapas para consolidar seus bancos de dados e economizar custos:
- Acesse seu servidor: identifique o servidor que pode ser consolidado, considerando o tamanho do banco de dados, a região geográfica, a configuração (CPU, memória, IOPS), os requisitos de desempenho, o tipo de carga de trabalho e as necessidades de consistência de dados.
- Criar uma nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL: crie uma nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com vCPUs, memória e armazenamento suficientes para dar suporte aos bancos de dados consolidados.
- Reutilizar um Banco de Dados do Azure existente para instância de servidor flexível do PostgreSQL: caso você já tenha um servidor existente, verifique se ele tem vCPUs, memória e armazenamento suficientes para dar suporte aos bancos de dados consolidados.
- Migrar os bancos de dados: migre os bancos de dados para a nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Você pode usar ferramentas como pg_dump e pg_restore para exportar e importar bancos de dados.
- Monitorar o desempenho: monitore o desempenho da instância de servidor flexível consolidada do Banco de Dados do Azure para PostgreSQL e ajuste os recursos conforme necessário para garantir o desempenho ideal.
A consolidação de bancos de dados pode ajudá-lo a economizar custos, reduzindo o número de instâncias de servidor flexíveis do Banco de Dados do Azure para PostgreSQL que você precisa executar e permitindo que você use instâncias maiores que são mais econômicas do que instâncias menores. É importante avaliar o impacto da consolidação no desempenho de seus bancos de dados e garantir que a instância de servidor flexível consolidada do Banco de Dados do Azure para PostgreSQL seja dimensionada adequadamente para atender a todas as necessidades do banco de dados.
Para saber mais, consulte Melhorar o desempenho dos aplicativos do Azure usando o Azure Advisor
6. Coloque servidores de teste em georregiões econômicas
Criar um servidor de teste em uma região econômica do Azure pode ser uma estratégia de economia de custos para o Banco de Dados do Azure para servidor flexível PostgreSQL. Ao criar um servidor de teste em uma região com menor custo de recursos de computação, você pode reduzir o custo de execução do servidor de teste e minimizar o custo de execução do Banco de Dados do Azure para servidor flexível PostgreSQL. Aqui estão algumas etapas para ajudá-lo a criar um servidor de teste em uma região do Azure econômica:
- Identificar uma região econômica: identifique uma região do Azure com menor custo de recursos de computação.
- Criar uma nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL: crie uma nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL na região econômica com a configuração certa para seu ambiente de teste.
- Migrar dados de teste: migre os dados de teste para a nova instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Você pode usar ferramentas como pg_dump e pg_restore para exportar e importar bancos de dados.
- Monitorar o desempenho: monitore o desempenho do servidor de teste e ajuste os recursos conforme necessário para garantir o desempenho ideal.
Ao criar um servidor de teste em uma região econômica do Azure, você pode reduzir o custo de execução do servidor de teste e minimizar o custo de execução do Banco de Dados do Azure para servidor flexível PostgreSQL. É importante avaliar o impacto da região no desempenho do servidor de teste e nos requisitos regionais específicos da sua organização. Isso garante que a latência da rede e os custos de transferência de dados sejam aceitáveis para o seu caso de uso.
Para saber mais, consulte Regiões do Azure
7. Iniciando e parando servidores
Iniciar e parar servidores pode ser uma estratégia de economia de custos para o Banco de Dados do Azure para servidor flexível PostgreSQL. Ao executar o servidor apenas quando necessário, você pode reduzir o custo de execução do Banco de Dados do Azure para o servidor flexível PostgreSQL. Aqui estão algumas etapas para ajudá-lo a iniciar e parar servidores e economizar custos:
- Identificar o servidor: identifique a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL que você deseja iniciar e parar.
- Inicie o servidor: inicie a instância flexível do servidor do Banco de Dados do Azure para PostgreSQL quando precisar. Você pode iniciar o servidor usando o portal do Azure, a CLI do Azure ou a API REST do Azure.
- Pare o servidor: pare a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL quando não precisar dela. Você pode parar o servidor usando o portal do Azure, a CLI do Azure ou a API REST do Azure.
- Além disso, se um servidor estiver em um estado parado (ou ocioso) por várias semanas contínuas, você pode considerar descartar o servidor após a diligência necessária.
Ao iniciar e parar o servidor conforme necessário, você pode reduzir o custo de execução do Banco de Dados do Azure para o servidor flexível PostgreSQL. Para garantir um bom desempenho do banco de dados, é crucial avaliar o impacto de iniciar e parar o servidor e ter um processo confiável para essas ações, conforme necessário. Para saber mais, consulte Parar/iniciar um Banco de Dados do Azure para PostgreSQL - Instância de Servidor Flexível.
8. Arquive dados antigos para armazenamento refrigerado
Arquivar dados acessados com pouca frequência no repositório de arquivos do Azure (mantendo o acesso) pode ajudar a reduzir custos. Exporte dados do Banco de Dados do Azure para servidor flexível PostgreSQL para o Armazenamento Arquivado do Azure e armazene-os em uma camada de armazenamento de baixo custo.
- Configure a conta de Armazenamento de Blobs do Azure e crie um contêiner para seus backups de banco de dados.
- Use
pg_dump
para exportar os dados antigos para um arquivo. - Use a CLI do Azure ou o PowerShell para carregar o arquivo exportado para seu contêiner de Armazenamento de Blob.
- Configure uma política de retenção no contêiner de Armazenamento de Blob para excluir automaticamente backups antigos.
- Modifique o script de backup para exportar os dados antigos para o Armazenamento de Blob em vez do armazenamento local.
- Teste o processo de backup e restauração para garantir que os dados arquivados possam ser restaurados, se necessário.
Você também pode usar o Azure Data Factory para automatizar esse processo.
Para saber mais, consulte Migrar seu Banco de Dados do Azure para banco de dados de servidor flexível PostgreSQL usando despejo e restauração
Compensações por custo
Ao projetar seu banco de dados de aplicativos no Banco de Dados do Azure para servidor flexível PostgreSQL, considere as compensações entre a otimização de custos e outros aspetos do design, como segurança, escalabilidade, resiliência e operabilidade.
Custo vs fiabilidade
O custo tem uma correlação direta com a confiabilidade.
Eficiência de custo vs desempenho
Aumentar o desempenho levará a custos mais elevados.
Custo vs segurança
Aumentar a segurança da carga de trabalho aumentará os custos.
Custo vs excelência operacional
Investir em monitoramento e automação de sistemas pode aumentar o custo inicialmente, mas com o tempo reduzirá o custo.
Próximos passos
Para saber mais sobre otimização de custos, consulte: