MongoDB é o banco de dados de código aberto nº 3 e o banco de dados NoSQL nº 1 do mundo. É um banco de dados orientado a documentos de plataforma cruzada que usa documentos semelhantes a JSON com esquema e é amplamente aproveitado em aplicativos de inicialização até empresas de nível empresarial que desenvolvem aplicativos modernos. Embora você possa supor que a grande maioria das implantações de banco de dados em nuvem é executada na AWS, Azure ou Google Cloud Platform, as pequenas e médias empresas em particular estão gravitando em direção ao provedor de nuvem amigável ao desenvolvedor, DigitalOcean, para sua hospedagem para MongoDB® precisa. Neste post, mostraremos a melhor maneira de hospedar o MongoDB na DigitalOcean, incluindo os melhores tipos de instância a serem usados, tipos de disco, estratégia de replicação e provedores de serviços gerenciados.
Vantagens do DigitalOcean para MongoDB
Então, o que torna a DigitalOcean uma alternativa atraente a outros provedores de hospedagem MongoDB populares, como AWS e Azure? Como mencionado acima, a DigitalOcean é altamente amigável ao desenvolvedor com sua plataforma simples e fácil de entender – você não precisa se certificar por meio desse provedor de nuvem para poder colocar sua implantação em funcionamento com confiança. Eles oferecem hospedagem em nuvem baseada em SSD com preços diretos a partir de apenas US$ 5/mês, o que o torna ideal (e acessível) para os desenvolvedores criarem, testarem e implantarem seus novos aplicativos perfeitamente na nuvem. O mais impressionante é que você não está comprometendo o desempenho pelo custo. Executamos testes de desempenho para o MongoDB no DigitalOcean vs. AWS vs. Azure e descobrimos que o desempenho do DigitalOcean estava alinhado, se não melhor, em alta taxa de transferência e baixa latência na implantação.
Gotas DigitalOcean
A DigitalOcean é especializada em máquinas virtuais baseadas em SSD chamadas Droplets que são divididas em quatro categorias simples. O Droplet mais básico é a instância padrão, que usa CPU compartilhada a partir de apenas US$ 5/mês. Embora seja adequado para aplicativos de baixo tráfego, bancos de dados pequenos e ambientes de desenvolvimento/teste, não recomendamos o aproveitamento de clusters compartilhados para suas implantações de produção do MongoDB. Eles também oferecem um Droplet otimizado para CPU dedicado, que é suficiente para cargas de trabalho com uso intenso de CPU, mas oferece pouca memória, o que não é ideal para hospedagem MongoDB.
Se você estiver implantando uma carga de trabalho MongoDB de tamanho médio, recomendamos o Droplet de uso geral mais popular, que é uma instância dedicada que oferece 4 GB de memória para cada vCPU. Isso normalmente é mais do que adequado para implantações de produção e aplicativos de alto tráfego, e começa em US$ 60/mês para 8 GB de memória, 2 vCPUs, 4 TB de transferência e 25 GB de espaço em disco SSD. A DigitalOcean também lançou recentemente seus Droplets otimizados para memória, que são instâncias dedicadas projetadas para aplicativos com uso intenso de RAM e bancos de dados de alto desempenho, tornando-se uma solução atraente para aplicativos MongoDB de carga de trabalho pesada.
Você pode implantar o MongoDB na DigitalOcean em 12 regiões de datacenter em todo o mundo, incluindo Estados Unidos (Nova York e São Francisco), Canadá, Holanda, Cingapura e Reino Unido , Alemanha e Índia.
Tipos de disco DigitalOcean
Uma das razões pelas quais o MongoDB funciona tão bem na DigitalOcean é por causa de seus discos SSD, que são ideais para implantações de banco de dados em nuvem. Eles fornecem grande taxa de transferência que oferece benefícios significativos para executar um índice em seu banco de dados ou reparar uma máquina, economizando uma quantidade significativa de tempo em uma implantação padrão do MongoDB na AWS. Eles ainda oferecem latência incrivelmente baixa do Amazon AWS US-East para o datacenter da DigitalOcean em Nova York, o que é ótimo para aplicativos que estão executando sua frente na camada intermediária da AWS, mas gostariam de usar a DigitalOcean para seus clusters MongoDB.
Estratégias de replicação do MongoDB
Se você estiver executando o MongoDB no DigitalOcean em produção, é uma prática recomendada implantar usando um conjunto de réplicas para garantir alta disponibilidade e redundância de dados para seus clusters. A DigitalOcean, juntamente com a AWS e o Azure, oferece um SLA de tempo de atividade de 99,99%, mas, embora pareça quase perfeito, esse 0,01% equivale a 52,6 minutos de tempo de inatividade em um ano. Isso é quase uma hora em que seu banco de dados fica inacessível para seus clientes, visitantes e funcionários, o que pode ter um impacto significativo na retenção de clientes e na reputação da marca.
Conjuntos de réplicas do MongoDB
Felizmente, você pode mitigar muito o risco de sua implantação falhar com a perda de um datacenter configurando um conjunto de réplicas de 3 nós geograficamente distribuídas para o MongoDB na DigitalOcean. Existem algumas opções para configurar esta configuração, sendo a primeira uma configuração de Primary-Secondary-Arbiter que fornece 2 nós portadores de dados e um árbitro que atua como membro de votação para determinar qual réplica deve assumir o controle no caso de uma ficar indisponível . Essa é a opção mais acessível, pois o árbitro não armazena dados e custa menos para implantar, mas também oferece 1 nó a menos que pode assumir o controle em um evento de failover. A estratégia de replicação ideal seria uma configuração Primário-Secundário-Secundário que aproveita 3 nós de suporte de dados e permite que você faça failover para 2 datacenters separados no caso de sua região primária ficar inativa.
A melhor maneira de hospedar #MongoDB no DigitalOceanClique para Tweet
Fragmentação do MongoDB
A fragmentação do MongoDB é uma forma avançada de implantação que permite dimensionar horizontalmente seus dados em várias máquinas. Essa é uma configuração muito complexa para configurar e gerenciar, pois cada fragmento contém vários conjuntos de réplicas e pode ser distribuído em diferentes locais de datacenter para alta disponibilidade. A fragmentação é ideal para conjuntos de dados muito grandes ou implantações de alto rendimento que exigem mais capacidade que você pode obter com um único servidor. Onde a implantação típica é dimensionada verticalmente adicionando mais capacidade a um servidor quando necessário, a fragmentação permite dimensionar horizontalmente dividindo seus dados e carga em várias máquinas. Depois de configurar o ambiente fragmentado, você pode adicionar mais fragmentos conforme necessário para dar suporte ao crescimento do seu aplicativo.
Na ScaleGrid, oferecemos Standalone, 2 Replicas + Arbiter, 3 Replicas e configurações avançadas de Sharding para hospedar MongoDB na DigitalOcean sob nosso plano de Hospedagem Dedicada começando com um tamanho de plano Micro em $ 35/ mês até um plano X4XLarge com 16 núcleos, 48 GB de RAM e 950 GB de armazenamento. Você também pode personalizar seu conjunto de réplicas do MongoDB com um número ilimitado de réplicas para as necessidades do seu aplicativo.
Hospedagem MongoDB Gerenciada na DigitalOcean
Agora chegamos à questão final:você deve autogerenciar seu MongoDB em implantações da DigitalOcean ou aproveitar uma plataforma de banco de dados como serviço (DBaaS) totalmente gerenciada? A resposta se resume ao seu tempo, conhecimento e acessibilidade permanente para lidar com quaisquer problemas críticos que surjam com sua implantação.
Tarefas de gerenciamento e manutenção
As plataformas MongoDB DBaaS permitem que você automatize todas as suas operações demoradas de gerenciamento e manutenção, como atualizações de versão, dimensionamento, backups gratuitos, restaurações, provisionamento, desprovisionamento, replicação, compactação, índice gerenciamento, correção de SO e rotações de log. Dependendo do tamanho de sua implantação, isso pode levar de 1 a 2 dias por mês, até um exército de especialistas do MongoDB em tempo integral trabalhando 24 horas por dia. Um grande benefício de alavancar uma plataforma DBaaS é que você elimina o risco de erro humano, pois as operações de gerenciamento são automatizadas para você. Ele também mantém seus clusters MongoDB na DigitalOcean totalmente seguros e atualizados para que você não abra suas implantações para possíveis bugs ou ameaças que podem se apresentar com um banco de dados negligenciado.
Monitorando o desempenho
O monitoramento também é um grande componente para gerenciar uma implantação do MongoDB. Com uma plataforma DBaaS, você pode automatizar alertas em todas as suas principais métricas do MongoDB para ser informado no momento em que um limite indesejado é atingido e acessar um console de monitoramento avançado para analisar todas as métricas do MongoDB e do SO em suas instâncias primárias e secundárias e em qualquer período de tempo. Além disso, com um DBaaS como o ScaleGrid, você pode aproveitar o Slow Query Analyzer, que permite visualizar consultas de execução lenta e otimizá-las antes que comecem a afetar o desempenho da implantação.
Suporte para solução de problemas
Por último, mas não menos importante, é a acessibilidade ao suporte. Se você foi acordado às 4h00 por uma ligação frenética de seu chefe perguntando por que seu aplicativo está inativo e com que rapidez você pode recuperá-lo, você sabe exatamente do que estou falando. Cada minuto de inatividade pode gerar milhares de dólares em negócios e, muito pior, uma violação de segurança pode encerrar completamente sua empresa e manchar sua reputação. Ao alavancar uma plataforma DBaaS, você pode se antecipar a mais de 90% desses problemas críticos e ter uma equipe de especialistas em MongoDB ao seu lado 24 horas por dia, 7 dias por semana, pelos inevitáveis 10% para ajudá-lo a identificar e resolver rapidamente os problemas para obter sua implantação de volta a um estado de funcionamento saudável.
No ScaleGrid, identificamos a DigitalOcean como uma estrela do rock promissora para hospedar MongoDB e computação em nuvem em geral em 2013, e fomos o primeiro DBaaS plataforma para lançar suporte para MongoDB DigitalOcean. Ainda hoje, somos a única plataforma DBaaS totalmente gerenciada que permite automatizar sua hospedagem para MongoDB na DigitalOcean e alavancar ferramentas de gerenciamento de banco de dados de nível empresarial para otimizar o desempenho, a segurança e a disponibilidade de sua implantação na nuvem. Se você estiver interessado em experimentar alguns dos recursos avançados de um DBaaS para MongoDB na DigitalOcean, poderá iniciar uma avaliação gratuita de 30 dias sem necessidade de cartão de crédito para explorar as ferramentas de automação e confira a página Compare MongoDB Providers para veja como nos comparamos com o MongoDB Atlas, mLab, ObjectRocket e Compose for MongoDB.