Base de données dans le cloud

Des bases de données traditionnelles exécutées sur des machines virtuelles (VM) dans le cloud aux bases de données NoSQL entièrement gérées en tant que service (DBaaS), les bases de données dans le cloud transforment le développement des applications.

Qu'est-ce qu'une base de données dans le cloud ?

Une « base de données cloud » peut appartenir à deux catégories distinctes : il peut s'agir d'une base de données traditionnelle ou NoSQL installée et exécutée sur une machine virtuelle dans le cloud (qu'il s'agisse d'un cloud public, d'un cloud privé ou de plates-formes cloud hybrides), ou d'une offre de base de données en tant que service (DBaaS) entièrement gérée par un fournisseur de cloud. La première, la base de données auto-gérée dans un environnement cloud, ne diffère pas significativement d'une base de données traditionnelle. La DBaaS dans le cloud, en revanche, est l'équivalent base de données naturel du logiciel en tant que service (SaaS) : vous payez à l'utilisation, et uniquement pour ce que vous utilisez, en laissant le système gérer tous les détails du provisionnement et du dimensionnement pour répondre à la demande, tout en préservant un niveau optimal de performances.

Options de base de données dans le cloud

Traditional database running on cloud virtual machine (VM)

Fully managed database-as-a-service

La plupart du temps (et dans la suite de cette page), le terme « base de données dans le cloud » fait référence à une base de données en tant que service basée sur le cloud.

Pourquoi utiliser une base de données dans le cloud/DBaaS ?

Les principaux avantages des bases de données cloud résident dans le fait qu'elles sont accessibles de n'importe où, évolutives dès le premier jour et conçues pour optimiser la fiabilité et les performances.

Facilité d'accès et agilité

Que votre équipe développe déjà des logiciels sur une infrastructure dans le cloud, ou qu'elle soit en train de migrer des applications existantes vers le cloud, il est évident que les offres de base de données natives dans le cloud gagnent en popularité.

Les plates-formes modernes de base de données en tant que service permettent un accès facile (mais contrôlé) à partir de systèmes cloud et non cloud par le biais d'API et de pilotes cohérents, ce qui simplifie l'accès aux ressources critiques. Les architectures de microservices, en particulier, bénéficient de ressources de base de données centralisées et facilement accessibles, car de nombreuses applications ont besoin d'accéder aux données et de les partager.

Alors que les bases de données SQL dans le cloud sont privilégiées dans de nombreux cas, la flexibilité des bases de données NoSQL dans le cloud actuelles améliore considérablement l'agilité tant au niveau de la gestion des données que du développement de logiciels. Il n'est pas nécessaire de prévoir des temps d'arrêt pour les mises à niveau du système, le rééquilibrage des clusters ou l'accélération du provisionnement matériel, ni même pour apporter des modifications aux schémas et aux structures.

Si vous pensez que le NoSQL signifie qu'aucun contrôle n'est effectué sur la qualité des données, vous serez surpris de constater que MongoDB parvient à fournir des garanties structurelles sans sacrifier la flexibilité ultime du modèle de document.

Évolutivité et performances

Le véritable test d'un système de gestion de données est de savoir comment il s'adapte et fonctionne sous une charge élevée.

Quelle que soit la technologie de base de données qui fonctionne le mieux pour vous, les services de base de données cloud sont généralement conçus pour évoluer automatiquement pour s'adapter à la croissance des données et pour gérer la charge avec des caractéristiques de performances cohérentes. Si certains ajustements automatiques sont impossibles, une bonne base de données en tant que service vous en avertit automatiquement, afin que vous puissiez optimiser vos index et vos modèles d'accès afin d'atteindre vos objectifs de performance.

L'utilisation d'une base de données cloud entièrement gérée s'avère non seulement moins coûteuse que l'administration de votre propre base de données, mais elle nécessite également moins d'interventions manuelles, de sorte que vous et votre équipe pouvez vous concentrer sur la création de valeur.

Fiabilité et reprise après sinistre

Il n'y a rien de pire que la mise hors ligne d'une base de données vitale, si ce n'est de perdre toutes les données qu'elle contient.

Les bases de données cloud sont généralement répliquées et sauvegardées par défaut, de sorte qu'un seul point de défaillance ne peut jamais entraîner la mise hors ligne de votre application, et que même les incidents catastrophiques sont atténués par des procédures régulières et automatisées de sauvegarde et de reprise après incident.

MongoDB Atlas, la base de données cloud de MongoDB, est automatiquement répliquée et sauvegardée en temps réel, ce qui permet des restaurations à un moment précis et constitue une garantie supplémentaire.

Que votre équipe développe déjà des logiciels sur une infrastructure dans le cloud, ou qu'elle soit en train de migrer des applications existantes vers le cloud, il est évident que les offres de base de données natives dans le cloud gagnent en popularité.

Les plates-formes modernes de base de données en tant que service permettent un accès facile (mais contrôlé) à partir de systèmes cloud et non cloud par le biais d'API et de pilotes cohérents, ce qui simplifie l'accès aux ressources critiques. Les architectures de microservices, en particulier, bénéficient de ressources de base de données centralisées et facilement accessibles, car de nombreuses applications ont besoin d'accéder aux données et de les partager.

Alors que les bases de données SQL dans le cloud sont privilégiées dans de nombreux cas, la flexibilité des bases de données NoSQL dans le cloud actuelles améliore considérablement l'agilité tant au niveau de la gestion des données que du développement de logiciels. Il n'est pas nécessaire de prévoir des temps d'arrêt pour les mises à niveau du système, le rééquilibrage des clusters ou l'accélération du provisionnement matériel, ni même pour apporter des modifications aux schémas et aux structures.

Si vous pensez que le NoSQL signifie qu'aucun contrôle n'est effectué sur la qualité des données, vous serez surpris de constater que MongoDB parvient à fournir des garanties structurelles sans sacrifier la flexibilité ultime du modèle de document.

Le véritable test d'un système de gestion de données est de savoir comment il s'adapte et fonctionne sous une charge élevée.

Quelle que soit la technologie de base de données qui fonctionne le mieux pour vous, les services de base de données cloud sont généralement conçus pour évoluer automatiquement pour s'adapter à la croissance des données et pour gérer la charge avec des caractéristiques de performances cohérentes. Si certains ajustements automatiques sont impossibles, une bonne base de données en tant que service vous en avertit automatiquement, afin que vous puissiez optimiser vos index et vos modèles d'accès afin d'atteindre vos objectifs de performance.

L'utilisation d'une base de données cloud entièrement gérée s'avère non seulement moins coûteuse que l'administration de votre propre base de données, mais elle nécessite également moins d'interventions manuelles, de sorte que vous et votre équipe pouvez vous concentrer sur la création de valeur.

Il n'y a rien de pire que la mise hors ligne d'une base de données vitale, si ce n'est de perdre toutes les données qu'elle contient.

Les bases de données cloud sont généralement répliquées et sauvegardées par défaut, de sorte qu'un seul point de défaillance ne peut jamais entraîner la mise hors ligne de votre application, et que même les incidents catastrophiques sont atténués par des procédures régulières et automatisées de sauvegarde et de reprise après incident.

MongoDB Atlas, la base de données cloud de MongoDB, est automatiquement répliquée et sauvegardée en temps réel, ce qui permet des restaurations à un moment précis et constitue une garantie supplémentaire.

Cas d'utilisation courants de bases de données dans le cloud

Les bases de données dans le cloud s'utilisent la plupart du temps dans les mêmes cas que les bases de données traditionnelles. Elles sont particulièrement utiles lors du développement de composants logiciels qui :

Are cloud-native

Require large volume of data

Need to handle high scale traffic

Are distributed geographically

Les applications de données qui tirent parti de la centralisation, comme les analyses et la modernisation des ressources, sont également d'excellents candidats à l'utilisation de bases de données cloud.

Alors que certains cas d'utilisation sont des candidats plus évidents pour l'utilisation d'une base de données cloud, des cas d'utilisation plus traditionnels, tels que le traitement des transactions en ligne en temps réel, la mise en cache ou l'entreposage de données fonctionnent tout aussi bien dans le paradigme entièrement géré.

Real-time transaction processing

Legacy database migration

Mobile application development

Internet of Things

Caching

Analytics

Considérations relatives aux bases de données dans le cloud

Que vous vous demandiez encore si une base de données dans le cloud répond à vos besoins ou que vous soyez en train de sélectionner la base de données en tant que service idéale, certains facteurs clés doivent être pris en considération :

Fournisseurs de bases de données dans le cloud

Si certaines bases de données sont disponibles sur l'ensemble des fournisseurs de cloud (MongoDB Atlas fonctionne sur tous les grands fournisseurs de cloud public), d'autres sont spécifiques à un fournisseur (par exemple Cloud Bigtable sur Google ou RDS sur Amazon Web Services).

Si votre empreinte existante, vos exigences de compatibilité ou vos relations existantes déterminent le choix de votre fournisseur de cloud, vous pourrez opter soit pour une base de données autogérée sur des machines virtuelles dans le cloud, soit pour les produits de base de données en tant que service proposés par ou sur ce fournisseur de cloud.

D'autres stratégies, telles que le multi-cloud ou le cloud hybride peuvent vous imposer de tirer parti de plusieurs clouds publics et privés, ce qui restreindrait vos choix de bases de données à des produits qui fonctionnent auprès de plusieurs fournisseurs et/ou sur site.

  • Verrouillage de la plate-forme.

  • Exigences technologiques.

  • Stratégie du fournisseur de cloud.

Technologie de base de données

Vous êtes peut-être à la recherche d'une offre compatible SQL qui vous permette de travailler avec des systèmes, des processus ou des ensembles de compétences existants, à moins que vous ne vous intéressiez davantage à une offre NoSQL adaptée aux exigences de votre système ? Parfois, d'autres choix dans la pile technologique de votre équipe, comme le langage de programmation, font que l'une ou l'autre des technologies de base de données est mieux adaptée, et vous devez déterminer avec précision si un fournisseur ou une plateforme donnés correspond à votre processus de développement.

  • Est-elle compatible ?

  • Est-elle portable ?

  • Correspond-elle à mon cas d'utilisation ?

Système de gestion

Disposez-vous des personnes et des compétences nécessaires pour gérer vous-même la technologie de base de données appropriée ? Si tel est le cas, les bases de données auto-gérées sur des VM dans le cloud peuvent peut-être vous convenir. Même dans ce cas, cependant, vous avez tout intérêt à envisager des plates-formes DBaaS entièrement gérées qui prennent en charge une grande partie de la charge de travail à votre place et qui permettent ainsi à votre équipe de se consacrer à des projets plus avancés.

  • VM/DBaaS

  • Performances/SLA

  • Évolutivité/frais généraux liés à la croissance

  • Surveillance

Modèle de coût

Un autre avantage des bases de données cloud est le passage à une tarification basée sur l'utilisation ou sur la consommation. Cela signifie qu'au lieu de faire des investissements initiaux avant même de savoir quels seront vos besoins définitifs en ressources, vous pouvez commencer petit et vous adapter en fonction des besoins .

  • Basée sur la VM, sur les licences ou sur l'utilisation

  • Adéquation entre votre modèle de tarification et votre modèle commercial

Sécurité

Le coût des violations de données ne fait qu'augmenter et le contrôle réglementaire atteint un niveau record. Les bases de données cloud gérées intègrent les meilleures pratiques de sécurité en couches, maintiennent automatiquement les systèmes à jour et tirent parti d'une vaste expertise pour mettre en œuvre les configurations les plus sécurisées. Pourquoi vous en charger vous-même ?

  • Contrôle d'accès et audits

  • Meilleures pratiques de sécurité multicouches et gérées

Suppléments

Les offres actuelles de base de données dans le cloud en tant que service peuvent apporter beaucoup plus que la base de données elle-même. MongoDB Atlas, par exemple, intègre des connecteurs compatibles SQL, des tableaux et des graphiques intégrés, ainsi que des outils permettant de créer des flux de travail basés sur les données avec des déclencheurs et une infrastructure sans serveur, etc.

  • Analyses

  • Connecteurs

  • Création de rapports

  • Audit

  • Déclencheurs et traitement

Si certaines bases de données sont disponibles sur l'ensemble des fournisseurs de cloud (MongoDB Atlas fonctionne sur tous les grands fournisseurs de cloud public), d'autres sont spécifiques à un fournisseur (par exemple Cloud Bigtable sur Google ou RDS sur Amazon Web Services).

Si votre empreinte existante, vos exigences de compatibilité ou vos relations existantes déterminent le choix de votre fournisseur de cloud, vous pourrez opter soit pour une base de données autogérée sur des machines virtuelles dans le cloud, soit pour les produits de base de données en tant que service proposés par ou sur ce fournisseur de cloud.

D'autres stratégies, telles que le multi-cloud ou le cloud hybride peuvent vous imposer de tirer parti de plusieurs clouds publics et privés, ce qui restreindrait vos choix de bases de données à des produits qui fonctionnent auprès de plusieurs fournisseurs et/ou sur site.

  • Verrouillage de la plate-forme.

  • Exigences technologiques.

  • Stratégie du fournisseur de cloud.

Vous êtes peut-être à la recherche d'une offre compatible SQL qui vous permette de travailler avec des systèmes, des processus ou des ensembles de compétences existants, à moins que vous ne vous intéressiez davantage à une offre NoSQL adaptée aux exigences de votre système ? Parfois, d'autres choix dans la pile technologique de votre équipe, comme le langage de programmation, font que l'une ou l'autre des technologies de base de données est mieux adaptée, et vous devez déterminer avec précision si un fournisseur ou une plateforme donnés correspond à votre processus de développement.

  • Est-elle compatible ?

  • Est-elle portable ?

  • Correspond-elle à mon cas d'utilisation ?

Disposez-vous des personnes et des compétences nécessaires pour gérer vous-même la technologie de base de données appropriée ? Si tel est le cas, les bases de données auto-gérées sur des VM dans le cloud peuvent peut-être vous convenir. Même dans ce cas, cependant, vous avez tout intérêt à envisager des plates-formes DBaaS entièrement gérées qui prennent en charge une grande partie de la charge de travail à votre place et qui permettent ainsi à votre équipe de se consacrer à des projets plus avancés.

  • VM/DBaaS

  • Performances/SLA

  • Évolutivité/frais généraux liés à la croissance

  • Surveillance

Un autre avantage des bases de données cloud est le passage à une tarification basée sur l'utilisation ou sur la consommation. Cela signifie qu'au lieu de faire des investissements initiaux avant même de savoir quels seront vos besoins définitifs en ressources, vous pouvez commencer petit et vous adapter en fonction des besoins .

  • Basée sur la VM, sur les licences ou sur l'utilisation

  • Adéquation entre votre modèle de tarification et votre modèle commercial

Le coût des violations de données ne fait qu'augmenter et le contrôle réglementaire atteint un niveau record. Les bases de données cloud gérées intègrent les meilleures pratiques de sécurité en couches, maintiennent automatiquement les systèmes à jour et tirent parti d'une vaste expertise pour mettre en œuvre les configurations les plus sécurisées. Pourquoi vous en charger vous-même ?

  • Contrôle d'accès et audits

  • Meilleures pratiques de sécurité multicouches et gérées

Les offres actuelles de base de données dans le cloud en tant que service peuvent apporter beaucoup plus que la base de données elle-même. MongoDB Atlas, par exemple, intègre des connecteurs compatibles SQL, des tableaux et des graphiques intégrés, ainsi que des outils permettant de créer des flux de travail basés sur les données avec des déclencheurs et une infrastructure sans serveur, etc.

  • Analyses

  • Connecteurs

  • Création de rapports

  • Audit

  • Déclencheurs et traitement

Base de données dans le cloud MongoDB Atlas

La base de données MongoDB peut être installée et exécutée sur n'importe quel fournisseur de services cloud ou réseau sur site en tant que machine virtuelle ou cluster de base de données auto-géré, ou sur AWS, GCP ou Azure au moyen de MongoDB Atlas, notre offre de base de données dans le cloud en tant que service (DBaaS). L'adoption de l'option DBaaS présente des avantages majeurs, notamment :

Simplified management

Elastic autoscaling

Redundancy, backup, and restore

Charts

Connectors

Schema navigator

MongoDB Atlas, qui fait partie de la plate-forme de développement plus large de données en tant que service (DaaS) de MongoDB, est une alternative puissante et convaincante à la gestion de votre propre base de données NoSQL, ou traditionnelle, ou à l'utilisation d'une offre gérée spécifique au fournisseur de cloud.

Le fonctionnement d'une base de données cloud est le suivant : au lieu d'installer, de configurer et de gérer une ou plusieurs instances de base de données, un système automatisé est capable de provisionner, de gérer et de faire évoluer le cluster de base de données sous-jacent à votre place.

Les services de base de données entièrement gérés gèrent les complexités liées à la maintenance d'un cluster haute performance toujours disponible, ce qui vous permet, en tant que développeur, d'y accéder en tant que simple ressource globalement disponible.

Vous pouvez traiter le cluster comme une instance de base de données unique, couverte par un modèle de tarification transparent basé sur l'utilisation, de sorte que vous n'avez plus jamais à vous soucier d'un éventuel sur- ou sous-provisionnement.