DigitalOcean é um provedor de serviços em nuvem, mais um provedor de IaaS (Infrastructure-as-a-Service) que é mais adequado para pequenas e médias empresas. Você pode conhecer mais sobre a DigitalOcean aqui. O que ele faz é um pouco diferente de outros fornecedores de nuvem como AWS ou Azure e ainda não é muito global, dê uma olhada neste vídeo que compara DigitalOcean com AWS.
Eles fornecem uma plataforma de computação distribuída geograficamente na forma de máquinas virtuais onde as empresas podem implantar seus aplicativos na infraestrutura de nuvem de maneira fácil, rápida e flexível. Seu foco principal é fornecer ambientes de nuvem que são altamente flexíveis, fáceis de configurar e podem ser dimensionados para vários tipos de cargas de trabalho.
O que me atraiu na DigitalOcean é o serviço de “droplets”. Droplets são VMs baseadas em Linux que podem ser criadas como autônomas ou podem fazer parte de uma grande infraestrutura de nuvem com sistemas operacionais com sabor Linux escolhidos, como CentOS, Ubuntu, etc.
PostgreSQL no DigitalOcean
Com a DigitalOcean, a construção de ambientes PostgreSQL pode ser feita de duas maneiras, uma delas é construir manualmente do zero usando droplets (somente VMs baseadas em Linux) ou a outra é usar serviços gerenciados.
A DigitalOcean iniciou serviços gerenciados para PostgreSQL com a intenção de acelerar o provisionamento de servidores de banco de dados na forma de VMs em uma grande infraestrutura de nuvem. Caso contrário, a única maneira de construir ambientes PostgreSQL é manualmente usando droplets. Os recursos suportados com serviços gerenciados são alta disponibilidade, failover automático, registro em log e monitoramento. A capacidade de alerta ainda não existe.
Os serviços gerenciados são mais ou menos semelhantes ao AWS RDS. As instâncias do PostgreSQL só podem ser acessadas usando UI, não há acesso ao host que executa a instância do banco de dados. Gerenciamento, monitoramento, configuração de parâmetros, tudo deve ser feito a partir de uma UI.
Compatibilidade PostgreSQL com DigitalOcean
Você pode criar ambientes PostgreSQL no Digital Ocean com os droplets ou optar por serviços gerenciados (semelhante ao AWS RDS), que podem realmente economizar seu tempo. As únicas versões com suporte em serviços gerenciados são 10 e 11. Isso significa que as empresas que desejam aproveitar os serviços gerenciados PostgreSQL da DigitalOcean precisarão usar/atualizar para a versão 10 ou 11. Além disso, observe que não há suporte para o sistema operacional Windows.
Este blog se concentrará em serviços gerenciados.
Serviços PostgreSQL gerenciados
A DigitalOcean começou a fornecer serviços gerenciados de banco de dados PostgreSQL desde fevereiro de 2019. A intenção era apresentar uma maneira mais rápida de provisionar infraestrutura com instâncias PostgreSQL, o que pode economizar tempo valioso para profissionais de banco de dados de infraestrutura. O provisionamento de uma instância do PostgreSQL é bastante simples.
Isso pode ser feito logando na conta DO → vá para uma página de criação de cluster de banco de dados → escolha a versão do PostgreSQL → escolha as especificações com base no preço → escolha o local → clique em criar. Você é tudo de bom. Assista esse vídeo aqui para entender melhor.
Alta disponibilidade
Alta disponibilidade é um dos requisitos críticos para bancos de dados para garantir a continuidade dos negócios. É imperativo garantir que a alta disponibilidade atenda aos SLAs definidos para RTO e RPO. A DigitalOcean oferece serviços de alta disponibilidade de forma mais rápida e confiável.
Preços
O modelo de preços na DigitalOcean não é complexo. O preço da instância é diretamente proporcional à capacidade e arquitetura da instância. Veja abaixo um exemplo de preço para uma instância autônoma -
A capacidade e o preço que atendem ao requisito podem ser escolhidos entre as opções disponíveis . O mínimo é de US$ 15 por mês para 10 GB de disco e 1 vCPU. Se a alta disponibilidade for um requisito, o nó em espera também poderá ser configurado. A limitação é que um nó em espera pode ser adicionado somente se o tamanho do banco de dados primário for de no mínimo 25 GB. E, apenas um máximo de 5 nós de espera podem ser adicionados. Abaixo estão as opções de espera disponíveis
Se você pode observar acima, o preço de espera é bastante simples e não depende na capacidade. Adicionar um nó em espera custará US$ 20, independentemente de qualquer tamanho.
Acesso
As instâncias PostgreSQL criadas usando serviços gerenciados podem ser acessadas usando GUIs e remotamente via CLI apenas no modo SSL. No entanto, instâncias do PostgreSQL instaladas manualmente em droplets podem ser acessadas via ssh.
Centros de dados
DigitalOcean ainda não é muito global. Os data centers estão localizados em alguns países, conforme mostrado abaixo. O que significa que não é possível implantar/executar serviços para empresas que executam seus serviços em países diferentes dos mostrados abaixo.
Vantagens dos Serviços Gerenciados PostgreSQL
Os serviços gerenciados do PostgreSQL são vantajosos por vários motivos. Na minha experiência como DBA, muitas vezes surge a necessidade de construir ambientes para desenvolvedores de forma mais rápida possível realizar testes funcionais, de regressão e de desempenho para lançamentos. Geralmente, a abordagem seria usar ferramentas como chef ou fantoche para criar módulos de automação para aplicativos e ambientes de banco de dados e, em seguida, usar esses modelos para criar VMs na nuvem. Os serviços gerenciados da DigitalOcean podem ser uma opção excelente, eficiente e econômica para esses requisitos, pois economiza tempo. Vamos dar uma olhada nas vantagens em detalhes -
- A opção por serviços gerenciados pode economizar muito tempo para DBAs e desenvolvedores na criação de ambientes PostgreSQL do zero. Isso significa que não há sobrecarga de administração e manutenção do banco de dados.
- Os ambientes PostgreSQL podem ser equipados com alta disponibilidade com recurso de failover automático.
- As instâncias gerenciadas são projetadas para sustentar desastres. Os backups diários podem ser configurados com o recurso PITR (recuperação pontual). É importante ressaltar que os backups são gratuitos.
- As instâncias gerenciadas do PostgreSQL são projetadas para serem altamente escaláveis. Os clientes da DigitalOcean conseguiram alcançar maior escalabilidade com instâncias PostgreSQL e extensões TimescaleDB.
- O painel pode ser configurado para monitorar arquivos de log e desempenho de consultas.
- O modelo de custo da DigitalOcean é bem simples.
- Como é uma infraestrutura em nuvem, o dimensionamento vertical pode ser contínuo.
- As instâncias de banco de dados gerenciadas são altamente seguras e otimizadas. Grande parte da recuperação de dados só é possível por meio de conexões baseadas em SSL.
- A documentação está disponível em detalhes.
Limitações da execução do PostgreSQL no DigitalOcean
- As versões 10 e 11 do PostgreSQL são suportadas, nenhuma outra versão pode ser usada.
- Os data centers da DigitalOcean estão disponíveis apenas em localizações geográficas limitadas.
- O número de nós em espera não pode exceder 5.
- PITR não pode ultrapassar 7 dias.
- Nem todas as extensões para PostgreSQL são suportadas, apenas extensões selecionadas podem ser usadas.
- As instâncias só podem ser aumentadas. Eles não podem ser reduzidos.
- O acesso de superusuário não é permitido.
- O alerta sobre determinados limites ainda não está disponível.
- As instâncias de banco de dados gerenciadas só podem ser restauradas em um novo nó ao restaurar de backups.
Conclusão
Os serviços gerenciados de PostgreSQL oferecidos pela DigitalOcean são uma ótima opção para empresas que procuram soluções do tipo devops para ambientes PostgreSQL que podem realmente ajudar a reduzir o tempo, planejamento, administração e sobrecarga de manutenção envolvidos na construção de ambientes PostgreSQL de alta escala e seguros para várias cargas de trabalho. Seu modelo de precificação é muito simples e pode ser uma opção econômica. No entanto, não pode ser realmente comparado aos grandes provedores de serviços em nuvem, como AWS ou Azure. A DigitalOcean certamente pode beneficiar as empresas com suas soluções inovadoras em nuvem.