A plataforma de computação em nuvem do Azure passou por uma série de melhorias impressionantes nos últimos dois anos, pouco se assemelhando à plataforma original com a qual a Microsoft começou em 2010. O ScaleGrid foi um dos as primeiras plataformas de hospedagem MongoDB para dar suporte ao Azure e continuamos a desenvolver nossa oferta à medida que o Azure evolui.
Se você usa o Azure há algum tempo ou está apenas começando a usar o Azure para hospedagem MongoDB, aqui estão alguns padrões de design de arquitetura que você deve considerar para garantir que está aproveitando o Plataforma Azure para a melhor experiência de hospedagem MongoDB.
-
Plataforma do Azure Resource Manager (ARM)
Aproveite o poder da nova plataforma Azure Resource Manager (ARM). Se você ainda estiver na plataforma Azure Classic, a hora de mudar é agora! Há vários benefícios em migrar para a nova plataforma ARM, incluindo o aproveitamento de discos gerenciados, redes virtuais e instâncias reservadas. Todos os benefícios são detalhados na postagem de blog Benefícios da migração de IaaS para Azure Resource Manager.
-
Redes virtuais do Azure e grupos de segurança de rede
Os bancos de dados são melhor implantados em sub-redes privadas que não são expostas à Internet. O Azure permite que você crie sua própria Rede Virtual (VNET) e implante seus servidores de banco de dados em sub-redes específicas. Você também pode lidar com o controle de acesso criando regras do Network Security Group (NSG) e atribuir um IP público ao seu servidor de banco de dados (somente) se precisar torná-lo acessível pela Internet. Como parte de nosso modelo Bring Your Own Cloud, permitimos que nossos clientes implantem seus clusters MongoDB em sua própria VNET para aproveitar os controles avançados de segurança VNET e NSG.
-
Conjunto de disponibilidade do Azure e zonas de disponibilidade
Os conjuntos de disponibilidade são essenciais para distribuir os nós do cluster em diferentes hardwares. Dessa forma, uma única falha de hardware não afeta todos os seus nós. Nossa recomendação é criar um conjunto de disponibilidade por réplica. O Azure também introduziu recentemente zonas de disponibilidade para protegê-lo contra interrupções no nível do datacenter. Você pode distribuir suas réplicas em zonas de disponibilidade para 99,99% de tempo de atividade.
5 dicas para uma melhor hospedagem #MongoDB no AzureClick To Tweet -
Tipos de instância do Azure
A escolha do tipo de instância do Azure certo para sua carga do MongoDB é muito importante – nem todos os tipos de instância são adequados para o MongoDB. Em geral, você deve analisar os tipos de instância "otimizados para memória" ou os tipos de instância "otimizados para armazenamento".
A série Ev3 mais recente de instâncias com otimização de memória geralmente é um ótimo ponto de partida para a maioria das cargas de trabalho do MongoDB. Se você precisar de mais CPU do que o fornecido pelo E2 v3, considere os tipos de instância Dv3 de ‘uso geral’.
As instâncias do modo 'Burst' – 'B1S, B1MS, B2MS' são normalmente adequadas para pequenas cargas de trabalho, ambientes de desenvolvimento/teste etc. A série L4 'otimizada para armazenamento' com discos SSD locais do Azure é uma ótima opção – mais detalhes na seção Disco do Azure abaixo. Em geral, o tipo de instância certo depende de sua carga de trabalho, por isso é importante iterar e testar a carga dos vários tipos de instância com sua carga de trabalho.
-
Discos do Azure
O Azure oferece uma variedade de tipos de disco para lidar com diferentes cargas de trabalho:
-
Discos Legados (Padrão e Premium)
Para os fins desta discussão, não consideraremos os discos herdados do Azure. Se você estiver usando discos herdados, considere migrar para discos gerenciados. -
Discos gerenciados (Padrão e Premium)
Os discos gerenciados do Azure simplificam muito o gerenciamento de seus discos de computação no Azure. Eles oferecem várias vantagens em relação aos discos legados:
- Não precisa se preocupar com contas de armazenamento.
- Não há necessidade de se preocupar com o tamanho da conta de armazenamento e os limites de desempenho.
- Snapshots fáceis e criação de novos discos a partir de snapshots.
- Facilmente converta de padrão para premium e vice-versa.
- Aproveite os conjuntos de disponibilidade avançada para aplicar aos seus discos.
Você pode encontrar todos os detalhes sobre as diferenças entre discos gerenciados e discos herdados na documentação do Azure.
Os discos gerenciados premium também oferecem diferentes garantias de IOPS, dependendo do tamanho do disco. Para clusters MongoDB de produção, recomendamos os discos gerenciados premium, enquanto para ambientes de desenvolvimento/teste, os discos gerenciados padrão são uma boa opção. -
Discos SSD locais
Os tipos de instâncias "otimizadas para armazenamento" do Azure fornecem grandes discos SSD locais que oferecem a melhor taxa de transferência no Azure. Essa é uma ótima opção para clusters grandes que precisam de muita entrada/saída de disco (E/S). Nossos clusters de alto desempenho do Azure para MongoDB usam as instâncias da série L. No entanto, os discos SSD locais são "efêmeros". Quando você interrompe a instância, os dados desaparecem. Portanto, é importante ter muito cuidado ao usar discos locais. Nossa recomendação é usar uma réplica em Managed Premium Disks para garantir a segurança dos dados.
-
Eu sei que prometemos 5 dicas, mas aqui está uma extra para a estrada:
-
Aproveite as Instâncias Reservadas do Azure
O Azure agora é compatível com instâncias reservadas (RIs), também conhecidas como AWS. Você pode comprar Instâncias Reservadas do Azure por períodos de um ano ou três anos com antecedência e reduzir bastante os custos de hospedagem do MongoDB em até 82%.