Banco de Dados

21 nov, 2018

Você conhece o PostgreSQL no Azure?

423 visualizações
Publicidade

Quando eu comecei a trabalhar com BD, era normal investir bastante tempo na infraestrutura e administração. Me arrisco a dizer que os DBAs passavam mais tempo cuidando destes itens do que participando dos projetos.

Não era ruim, mas muitas vezes eu ficava com a sensação de que poderia ter ajudado de muitas outras formas, se tivesse mais tempo.

Os tempos mudaram, eu virei Arquiteta de Dados e talvez por isso fui me transformando em #DBANutella. Adoro ferramentas e automatizações que me deixam ter mais tempo livre para ajudar e aprender mais, e por isso eu amo os bancos de dados na nuvem.

Já que falamos de nuvem, acho importante esclarecer aqui alguns conceitos fofinhos e bem importantes.

Nuvem

A definição de nuvem pode parecer subjetiva, mas é um termo utilizado para descrever uma rede de servidores, cada um com uma função única. A nuvem não é uma entidade física, mas uma vasta rede de servidores remotos ao redor do globo que são conectados e operam como um único ecossistema.

Estes servidores são responsáveis por armazenar e gerenciar dados, executar aplicativos ou fornecer serviços, como transmissão de vídeos, webmails, software de produtividade ou mídias sociais.

Em vez de acessar arquivos e dados do local ou de um PC, você pode acessá-los online, de qualquer dispositivo com acesso à internet. As informações estarão disponíveis em qualquer lugar, a qualquer hora.

CaPex = Capital Expenditure

Imagine que a sua empresa optou pelo uso do PostgreSQL e vai comprar os servidores adequados. Ela irá investir na compra do servidor e depois o utilizará sem pagar taxas mensais.

OPex = Operacional Expenditure

Imagine agora que a sua empresa optou por usar o PostgreSQL na nuvem. Neste caso, ela precisará pagar mensalmente pelo uso do serviço.

Elasticidade

Possibilidade de ir dimensionando o ambiente (aumentando ou diminuindo a quantidade de recursos) de acordo com as necessidades.

Controle

Em um ambiente em nuvem, o DBA não controla mais o HW. Ele dimensiona o que ele precisa.

IaaS

Infraestrutura como serviço. Neste modelo a empresa paga por uma determinada capacidade de hardware que corresponde a memória, armazenamento, processamento, etc.

Você usa IaaS quando decide criar uma VM e instala nela o seu SGBD. Neste caso, eu abro mão de controlar a infra, mas sou responsável pelas configurações, licenças, atualizações.

PaaS

Plataforma como serviço: neste caso, contrata-se um ambiente completo de desenvolvimento, no qual é possível criar, modificar e otimizar softwares e aplicações.

Os times não são responsáveis pela infraestrutura, sistema operacional e nem por atualizações.

DaaS

É uma especialização do PaaS, e significa banco de dados como serviço. Neste caso, são vendidas as capacidades de processamento e armazenamento dos dados.

PostgreSQL como serviço do Azure

Agora que já estamos na mesma página, conversaremos sobre esta possibilidade que eu adoro: o PostgreSQL como serviço do Azure. A ideia do serviço é ter menos administração, dando mais liberdade para o DBA atuar em outras atividades.

Para quem já conhece o PostgreSQL, não é preciso aprender mais um BD, e nem ter uma outra ferramenta para manutenção. Eu, por exemplo, adoro usar o pgAdmin, e continuo usando, independentemente de onde está meu servidor (nuvem, local, VM, etc).

O serviço PostgreSQL no Azure oferece três níveis de preços: Básico, Uso Geral e Memória Otimizada. Cuidado, porque o desempenho da sua aplicação depende da camada escolhida. Cada camada oferece recursos diferentes para suportar as cargas de trabalho do seu banco de dados. Sendo assim, talvez a camada básica não seja a ideal para seu aplicativo em produção.

Pontos que são muito positivos do serviço PostgreSQL no Azure, são:

  • Ferramentas de monitoração e alertas.
  • SLA agressivo para disponibilidade (que permite que a solução seja usada em aplicativos de missão crítica).
  • Restauração point-in-time para retornar um banco de dados a um estado anterior, até 35 dias. Além disso, se o datacenter que hospeda seus bancos de dados sofrer uma interrupção, você poderá restaurar os bancos de dados a partir de cópias geo-redundantes de backups recentes.
  • Recursos de criptografia e controle de acesso.

Show me the code!

Ia ficar muito sem graça falar das características do PostgreSQL e não mostrar como é na prática. Por isso, no vídeo desta semana vamos criar um servidor PostgreSQL na nuvem, e acessá-lo pelo pgAdmin.

Conclusão

Quando a empresa opta pelo uso do PostgreSQL na nuvem, ela está adquirindo um serviço DaaS. Deixa de fazer um investimento inicial na infraestrutura (CaPex) e opta por fazer o pagamento mensal pelo uso do serviço (OPex).

Já trabalhei com o PostgreSQL instalado em servidores físicos, em máquinas virtuais e agora estou apaixonada pela possibilidade de uso na nuvem, porque ele é bem fácil e é uma das soluções para a falta de tempo do DBA.

Para vocês, desenvolvedores, a mudança é quase que imperceptível, mas você que caminha a passos largos para os melhores projetos deve conhecer esta possibilidade, e no momento certo dar a sua opinião sobre ela. Crie sua conta no Azure, teste o serviço, erre, aprenda, corrija.

Parabéns por conhecer mais uma possibilidade!

Dia 01/12, eu e a Sulamita Dantas estaremos em BH dando um super curso de MongoDB! As inscrições estão abertas e podem ser feitas neste link.

Referências