Pra quem nunca ouviu falar sobre o MongoDB Atlas, ele é o serviço de DBaaS (Banco de Dados como Serviço) oferecido pela MongoDB. Basicamente você só se preocupa em administrar os dados que estarão lá, toda a infraestrutura e manutenção das máquinas, bem como segurança disso tudo fica por conta deles. Então vamos lá conhecer um pouco mais desse serviço. Vou descrever as opções em forma de um passo-a-passo para criação do Cluster. Me refero a Cluster porque o MongoDB Atlas tem como implementação padrão um Replicaset com três máquinas (deploy mínimo recomendável para o MongoDB), podendo também ser configurado para Sharding, mas isso fica para uma próxima.
Iniciando no MongoDB Atlas
Bem, pra iniciar no MongoDB Atlas é super simples, através desse link é só clicar em “Get started free” e você será encaminhado para uma tela de cadastro. O MongoDB Atlas oferece a camada M0 que é muito útil pra quem quer conhecer ou fazer algum tipo de teste com o MongoDB (leia-se: teste de modelo de dados ou algo do tipo, visto que a camada M0 é limitada em questões de disco, memória e processamento), para utilizar essa camada não é necessário informar dados de cartão de crédito, portanto, você não será cobrado! Rssss
A camada M0 disponibiliza os seguintes recursos:
1. Memória RAM compartilhada
2. 512 MB de Disco
3. vCPUs compartilhadas
Como disse, essa camada é suficiente para testes pequenos e até mesmo conhecer a dinâmica do MongoDB Atlas.
Provedor de Nuvem e Região
O MongoDB Atlas oferece suporte para deploy de ambientes nos três principais provedores de nuvem: AWS, Google Cloud Plataform e Azure. E dentro de cada um deles o suporte a várias regiões.
A camada M0 até pouco tempo atrás era permitida somente na AWS em us-east-1. Agora, continua somente na AWS, porém com mais uma região: eu-central-1 em Frankfurt Alemanha.
Tipos de Clusters
O MongoDB Atlas oferece três tipos de Clusters que são divididos da seguinte maneira:
Shared Clusters
Clusters com recursos compartilhados, contém a camada M0 que é free e mais duas que variam a quantidade de memória RAM. Recomendo para entender como o MongoDB Atlas funciona;
Dedicated Development Clusters
Clusters que são utilizados para o desenvolvimento de uma aplicação, porém, já tem mais recursos e são dedicados. Ou seja, dependendo do tamanho do seu banco de dados e de sua necessidade, podem ser usados para produção;
Dedicated Production Clusters
Clusters com máquinas mais fortes e que podem ter os discos customizados (tamanho e velocidade) a partir da M40.
Ocultei a coluna de preços, porque eles podem ser alterados ao longo do tempo, mas no site é possível saber o valor que o Cluster custará no momento da configuração.
A partir da camada M10 é possível configurar o tamanho do disco de 10GB até 4TB. E à partir da M30 além do tamanho conseguimos configurar a velocidade dos discos escolhendo entre três níveis, que variam a quantidade de IOPS.
Configurações adicionais
À partir da camada M10 temos algumas configurações interessantes de se fazer, como por exemplo a troca de versão do MongoDB, hoje estão disponíveis a 3.2, 3.4 e 3.6 com WiredTiger. Além disso está disponível a opção de backup, que é cobrada por GB, sendo que o primeiro GB por replicaset é free! E também o BI Connector.
Da M30 em diante temos a opção de Sharding, onde mais um conjunto de replicaset é colocado a disposição sendo possível configurar quantos mais precisemos.
Nome do Cluster
Após essas configurações é só dar um nome para o Cluster e em poucos minutos ele estará disponível. Fácil, não é?
Próximos passos
Agora que você já tem o cluster implementado é só se conectar com ele e mandar bala nos dados. Clicando no botão CONNECT você verá várias opções de conexão, como mongoshell, exemplos de connection strings para várias linguagens de programação (até Java rssss) e também como se conectar com o cluster através do MongoDB Compass. Além disso podemos especificar nessa tela quais os IPs podem acessar o Cluster.
Bem pessoal, por enquanto é isso! Espero que tenham gostado e qualquer dúvida é só deixar aí nos comentários ou me pingar nas redes sociais!
Um abraço!