MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

La meilleure façon d'héberger MongoDB sur DigitalOcean

MongoDB est la troisième base de données open source et la première base de données NoSQL au monde. Il s'agit d'une base de données orientée document multiplateforme qui utilise des documents de type JSON avec schéma et qui est largement exploitée dans les applications de démarrage jusqu'aux entreprises au niveau de l'entreprise développant des applications modernes. Bien que vous puissiez supposer qu'une grande majorité des déploiements de bases de données cloud sont exécutés sur AWS, Azure ou Google Cloud Platform, les petites et moyennes entreprises en particulier se tournent vers le fournisseur de cloud convivial pour les développeurs, DigitalOcean, pour leur hébergement pour MongoDB®. Besoins. Dans cet article, nous vous expliquerons la meilleure façon d'héberger MongoDB sur DigitalOcean, y compris les meilleurs types d'instances à utiliser, les types de disques, la stratégie de réplication et les fournisseurs de services gérés.

Avantages de DigitalOcean pour MongoDB

Alors, qu'est-ce qui fait de DigitalOcean une alternative convaincante aux autres fournisseurs d'hébergement MongoDB populaires comme AWS et Azure ? Comme mentionné ci-dessus, DigitalOcean est très convivial pour les développeurs grâce à sa plate-forme simple et facile à comprendre - vous n'avez pas besoin d'être certifié par ce fournisseur de cloud pour pouvoir lancer votre déploiement en toute confiance. Ils proposent un hébergement cloud basé sur SSD avec une tarification simple à partir de seulement 5 $ / mois, ce qui le rend idéal (et abordable) pour les développeurs pour créer, tester et déployer leurs nouvelles applications de manière transparente dans le cloud. Ce qui est le plus impressionnant, c'est que vous ne compromettez pas les performances pour le coût. Nous avons effectué des tests de performances pour MongoDB sur DigitalOcean par rapport à AWS par rapport à Azure et avons constaté que les performances de DigitalOcean étaient conformes, sinon meilleures, à la fois en termes de débit élevé et de faible latence dans le déploiement.

Gouttelettes DigitalOcean

DigitalOcean s'est spécialisé dans les machines virtuelles basées sur SSD appelées Droplets qui se décomposent en quatre catégories simples. Le Droplet le plus basique est leur instance Standard qui utilise un CPU partagé à partir de seulement 5 $/mois. Bien qu'adéquats pour les applications à faible trafic, les petites bases de données et les environnements de développement/test, nous vous déconseillons d'utiliser des clusters partagés pour vos déploiements de production MongoDB. Ils offrent également un droplet optimisé pour le processeur dédié qui est suffisant pour les charges de travail gourmandes en ressources processeur, mais offre une faible mémoire, ce qui n'est pas idéal pour l'hébergement MongoDB.

Si vous déployez une charge de travail MongoDB de taille moyenne, nous vous recommandons leur droplet à usage général le plus populaire, qui est une instance dédiée qui offre 4 Go de mémoire pour chaque vCPU. C'est généralement plus que suffisant pour les déploiements de production et les applications à fort trafic, et commence à 60 $/mois pour 8 Go de mémoire, 2 vCPU, 4 To de transfert et 25 Go d'espace disque SSD. DigitalOcean a également récemment lancé ses gouttelettes optimisées en mémoire, qui sont des instances dédiées conçues pour les applications gourmandes en RAM et les bases de données hautes performances, ce qui en fait une solution attrayante pour les applications MongoDB à forte charge de travail.

Vous pouvez déployer MongoDB sur DigitalOcean dans 12 régions de centre de données à travers le monde, y compris les États-Unis (New York et San Francisco), le Canada, les Pays-Bas, Singapour et le Royaume-Uni. , l'Allemagne et l'Inde.

Types de disque DigitalOcean

L'une des raisons pour lesquelles MongoDB fonctionne si bien sur DigitalOcean est due à ses disques SSD, qui sont idéaux pour les déploiements de bases de données cloud. Ils offrent un débit élevé qui offre des avantages significatifs pour exécuter un index sur votre base de données ou réparer une machine, vous faisant gagner beaucoup de temps par rapport à un déploiement MongoDB standard sur AWS. Ils offrent même une latence étonnamment faible d'Amazon AWS US-East au centre de données DigitalOcean New York, ce qui est idéal pour les applications qui exécutent leur front sur AWS, mais qui souhaitent utiliser DigitalOcean pour leurs clusters MongoDB.

Stratégies de réplication MongoDB

Si vous exécutez MongoDB sur DigitalOcean en production, il est recommandé de déployer à l'aide d'un jeu de répliques pour garantir une haute disponibilité et la redondance des données pour vos clusters. DigitalOcean, avec AWS et Azure, offre un SLA de disponibilité de 99,99 %, mais bien que cela semble proche de la perfection, ce 0,01 % équivaut à 52,6 minutes d'indisponibilité en un an. C'est presque une heure où votre base de données devient inaccessible à vos clients, visiteurs et employés, ce qui peut avoir un impact significatif sur la fidélisation de votre clientèle et la réputation de votre marque.

Ensembles de répliques MongoDB

Heureusement, vous pouvez fortement atténuer le risque d'arrêt de votre déploiement avec la perte d'un centre de données en configurant un ensemble de réplicas à 3 nœuds répartis géographiquement pour MongoDB sur DigitalOcean. Il existe plusieurs options pour configurer cette configuration, la première étant une configuration d'arbitre primaire-secondaire qui fournit 2 nœuds porteurs de données et un arbitre qui agit en tant que membre votant pour déterminer quelle réplique doit prendre le relais en cas d'indisponibilité. . C'est l'option la plus abordable car l'arbitre ne contient aucune donnée et coûte moins cher à déployer, mais offre également 1 nœud de moins qui peut prendre le relais en cas de basculement. La stratégie de réplication optimale serait une configuration Primaire-Secondaire-Secondaire qui exploite 3 nœuds porteurs de données et vous permet de basculer vers 2 centres de données distincts en cas de panne de votre région principale.

La meilleure façon d'héberger #MongoDB sur DigitalOceanCliquez pour tweeter

Partage MongoDB

Le partitionnement MongoDB est une forme avancée de déploiement qui vous permet de faire évoluer horizontalement vos données sur plusieurs machines. Il s'agit d'une configuration très complexe à configurer et à gérer, car chaque partition contient plusieurs jeux de répliques et peut être répartie sur différents emplacements de centres de données pour une haute disponibilité. Le partitionnement est idéal pour les très grands ensembles de données ou les déploiements à haut débit qui nécessitent plus de capacité que celle que vous pouvez obtenir avec un seul serveur. Là où le déploiement typique évolue verticalement en ajoutant plus de capacité à un serveur en cas de besoin, le partitionnement vous permet d'évoluer horizontalement en divisant vos données et en les chargeant sur plusieurs machines. Une fois que vous avez configuré votre environnement partitionné, vous pouvez ajouter d'autres partitions si nécessaire pour soutenir la croissance de votre application.

Chez ScaleGrid, nous proposons des configurations autonomes, 2 répliques + arbitre, 3 répliques et des configurations de partitionnement avancées pour l'hébergement de MongoDB sur DigitalOcean dans le cadre de notre plan d'hébergement dédié commençant par une taille de plan Micro à 35 $/ mois jusqu'à un plan X4XLarge avec 16 cœurs, 48 ​​Go de RAM et 950 Go de stockage. Vous pouvez également personnaliser votre jeu de réplicas MongoDB avec un nombre illimité de réplicas pour les besoins de votre application.

Hébergement MongoDB géré sur DigitalOcean

Passons maintenant à la question ultime :devez-vous gérer vous-même votre MongoDB sur les déploiements DigitalOcean ou tirer parti d'une plate-forme de base de données en tant que service (DBaaS) entièrement gérée ? La réponse se résume à votre temps, à vos connaissances et à votre accessibilité à tout moment pour gérer tous les problèmes critiques qui surviennent lors de votre déploiement.

Tâches de gestion et de maintenance

Les plates-formes MongoDB DBaaS vous permettent d'automatiser toutes vos opérations de gestion et de maintenance chronophages telles que les mises à niveau de version, la mise à l'échelle, les sauvegardes gratuites, les restaurations, le provisionnement, le déprovisionnement, la réplication, le compactage, l'indexation gestion, correctifs du système d'exploitation et rotations des journaux. Selon la taille de votre déploiement, cela peut vous prendre 1 à 2 jours par mois, jusqu'à une armée à plein temps d'experts MongoDB travaillant 24 heures sur 24. L'un des principaux avantages de l'utilisation d'une plate-forme DBaaS est que vous éliminez le risque d'erreur humaine car les opérations de gestion sont automatisées pour vous. Il maintient également vos clusters MongoDB sur DigitalOcean entièrement sécurisés et à jour afin que vous n'exposiez pas vos déploiements à des bogues ou des menaces potentiels qui peuvent se présenter avec une base de données négligée.

Surveillance des performances

La surveillance est également un élément important de la gestion d'un déploiement MongoDB. Avec une plate-forme DBaaS, vous pouvez automatiser les alertes sur toutes vos métriques clés MongoDB afin d'être informé dès qu'un seuil indésirable est atteint et accéder à une console de surveillance avancée pour analyser toutes vos métriques MongoDB et OS sur vos instances principales et secondaires. et sur n'importe quelle période de temps. De plus, avec un DBaaS comme ScaleGrid, vous pouvez tirer parti de l'analyseur de requêtes lentes qui vous permet de visualiser les requêtes lentes et de les optimiser avant qu'elles ne commencent à affecter les performances de votre déploiement.

Assistance pour le dépannage

Le dernier, mais non le moindre, est l'accessibilité au support. Si vous avez été réveillé à 4 heures du matin par un appel frénétique de votre patron vous demandant pourquoi votre application est en panne et à quelle vitesse vous pouvez la récupérer, vous savez exactement de quoi je parle. Chaque minute d'indisponibilité peut vous coûter des milliers de dollars d'affaires, et bien pire, une faille de sécurité pourrait fermer complètement votre entreprise et salir votre réputation à jamais. En tirant parti d'une plateforme DBaaS, vous pouvez anticiper plus de 90 % de ces problèmes critiques et disposer d'une équipe d'experts MongoDB à vos côtés 24h/24 et 7j/7 pour les 10 % inévitables afin de vous aider à identifier et résoudre rapidement les problèmes pour obtenir votre déploiement. revenir à un état de fonctionnement sain.

Chez ScaleGrid, nous avons identifié DigitalOcean comme une rockstar montante pour l'hébergement de MongoDB et du cloud computing en général en 2013, et nous avons été le premier DBaaS plate-forme pour lancer le support de MongoDB DigitalOcean. Aujourd'hui encore, nous sommes la seule plate-forme DBaaS entièrement gérée qui vous permet d'automatiser votre hébergement pour MongoDB sur DigitalOcean et de tirer parti des outils de gestion de base de données de niveau entreprise pour optimiser les performances, la sécurité et la disponibilité de votre déploiement dans le cloud. Si vous souhaitez essayer certaines des fonctionnalités avancées d'un DBaaS pour MongoDB sur DigitalOcean, vous pouvez démarrer un essai gratuit de 30 jours sans carte de crédit requise pour explorer les outils d'automatisation, et consultez la page Comparer les fournisseurs MongoDB pour voyez comment nous nous comparons à MongoDB Atlas, mLab, ObjectRocket et Compose for MongoDB.