Quando eu comecei a trabalhar com BD era normal investir bastante tempo na infraestrutura e administração do BD. 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… rsrs Adoro ferramentas e automatizações que me deixem 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, webmail, 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, nem pelo sistema operacional e nem por atualizações.
DaaS
É uma especialização do PaaS, e significa banco de dados como serviço. E neste caso são vendidas a capacidade de processamento e armazenamento dos dados.
PostgreSQL como serviço do Azure
Agora que já estamos na mesma página, vamos conversar 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 fofinho 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, independente de onde está meu servidor (nuvem, local, VM…)
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:
- As 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).
Eu 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… E parabéns por conhecer mais uma possibilidade!
Agenda
Dia 10/11 eu estarei no RJ participando do Coders in Rio Summit falando sobre Cosmos DB
Cursos
Dia 01/12 eu e a Sulamita Dantas estaremos em BH dando um super curso de MongoDB! Não perca!!! As inscrições estão abertas e podem ser feitas no link bit.ly/mongodb_bh
Referências
https://azure.microsoft.com/pt-br/overview/what-is-the-cloud/
http://brasil.softlinegroup.com/iaas-paas-saas-nuvem/
https://docs.microsoft.com/en-us/azure/postgresql/overview