Comprendre les bases de données gérées

introduction

Un stockage de données sécurisé et fiable est indispensable pour presque toutes les applications modernes. Toutefois, l'infrastructure requise pour une base de données sur site auto-gérée peut être extrêmement coûteuse pour de nombreuses équipes. De même, il peut être difficile de trouver des employés possédant les compétences et l'expérience nécessaires pour gérer efficacement une base de données de production.

La propagation des services d'informatique en nuage a permis de réduire les barrières à l'entrée associées à l'approvisionnement d'une base de données, mais de nombreux développeurs n'ont toujours pas le temps ou l'expertise nécessaire pour gérer et ajuster une base de données en fonction de leurs besoins. Pour cette raison, de nombreuses entreprises se tournent versmanaged database services pour les aider à créer et à faire évoluer leurs bases de données en fonction de leur croissance.

Dans cet article conceptuel, nous verrons ce que sont les bases de données gérées et comment elles peuvent être bénéfiques pour de nombreuses organisations. Nous aborderons également certaines considérations pratiques à prendre en compte avant de construire leur prochaine application sur une solution de base de données gérée.

Les bases de données gérées en quelques mots

Une base de données gérée est un service informatique en nuage dans lequel l'utilisateur final paie un fournisseur de services en nuage pour accéder à une base de données. Contrairement à une base de données classique, les utilisateurs ne doivent pas configurer ou gérer eux-mêmes une base de données gérée; il incombe plutôt au fournisseur de superviser l’infrastructure de la base de données. Cela permet à l'utilisateur de se concentrer sur la création de son application plutôt que de passer du temps à configurer sa base de données et à la maintenir à jour.

Le processus de provisionnement d’une base de données gérée varie d’un fournisseur à l’autre, mais il est généralement similaire à celui de tout autre service basé sur un nuage. Après avoir enregistré un compte et ouvert une session sur le tableau de bord, l'utilisateur examine les options de base de données disponibles, telles que le moteur de base de données et la taille du cluster, puis choisit la configuration qui lui convient. Une fois que vous avez provisionné la base de données gérée, vous pouvez vous y connecter via une interface graphique ou un client, puis commencer à charger des données et à intégrer la base de données à votre application.

Les solutions de données gérées simplifient le processus de provisionnement et de maintenance d'une base de données. Au lieu d'exécuter des commandes depuis un terminal pour en installer et en configurer une, vous pouvez déployer une base de données prête pour la production en quelques clics seulement dans votre navigateur. En simplifiant et en automatisant la gestion de la base de données, les fournisseurs de cloud facilitent la création d'applications Web et de sites Web basés sur les données, pour tout utilisateur, même novice. Ceci est le résultat d'une tendance de plusieurs décennies à la simplification, l'automatisation et l'abstraction de diverses tâches de gestion de base de données, ce qui était en soi une réponse aux difficultés rencontrées depuis longtemps par les administrateurs de base de données.

Points de douleur des bases de données sur site et autogérées

Avant l'avènement du modèle d'informatique en nuage, toute entreprise ayant besoin d'un centre de données devait fournir tout le temps, l'espace et les ressources nécessaires à sa mise en place. Une fois que leur base de données était opérationnelle, ils devaient également entretenir le matériel, maintenir son logiciel à jour, engager une équipe pour gérer la base de données et former leurs employés à son utilisation.

Avec la popularité croissante des services de cloud computing dans les années 2000, il est devenu plus facile et plus abordable de provisionner une infrastructure de serveur, car le matériel et l’espace requis ne devaient plus être détenus ni gérés par ceux qui les utilisaient. De même, la mise en place d’une base de données entièrement dans le cloud devenait beaucoup moins difficile; une entreprise ou un développeur doit simplement réquisitionner un serveur, installer et configurer le système de gestion de base de données de son choix et commencer à stocker les données.

Le cloud computing a certes simplifié le processus de configuration d’une base de données traditionnelle, mais il n’a pas résolu tous ses problèmes. Par exemple, dans le cloud, il peut encore être difficile de déterminer la taille idéale de l’empreinte de l’infrastructure d’une base de données avant que celle-ci ne commence à collecter des données. Cela est important car les utilisateurs de cloud computing sont facturés en fonction des ressources qu'ils consomment et risquent de payer davantage que ce dont ils ont besoin si le serveur qu'ils fournissent est plus volumineux que nécessaire. De plus, comme avec les bases de données locales traditionnelles, la gestion d’une base de données dans le cloud peut être une entreprise coûteuse. En fonction de vos besoins, vous devrez peut-être toujours engager un administrateur de base de données expérimenté ou dépenser beaucoup de temps et d'argent pour former votre personnel actuel à la gestion efficace de votre base de données.

Nombre de ces problèmes sont complexes pour les petites entreprises et les développeurs indépendants. Alors qu'une grande entreprise peut généralement se permettre d'embaucher des employés ayant une connaissance approfondie des bases de données, les plus petites équipes disposent généralement de moins de ressources, ce qui ne leur laisse que les connaissances institutionnelles existantes. Cela rend les tâches telles que la réplication, les migrations et les sauvegardes d'autant plus difficiles et fastidieuses, car elles peuvent nécessiter beaucoup d'apprentissage sur le tas, ainsi que d'essais et d'erreurs.

Les bases de données gérées aident à résoudre ces problèmes avec de nombreux avantages pour les entreprises et les développeurs. Passons en revue certains de ces avantages et leur impact sur les équipes de développement.

Avantages des bases de données gérées

Les services de base de données gérés peuvent aider à réduire bon nombre des problèmes liés au provisionnement et à la gestion d'une base de données. D'une part, les développeurs créent des applications sur des services de base de données gérés pour accélérer considérablement le processus de provisionnement d'un serveur de base de données. Avec une solution autogérée, vous devez obtenir un serveur (sur site ou dans le cloud), vous y connecter depuis un client ou un terminal, le configurer et le sécuriser, puis installer et configurer le logiciel de gestion de base de données avant de pouvoir commencer à stocker des données. Avec une base de données gérée, il vous suffit de décider de la taille initiale du serveur de base de données, de configurer les options supplémentaires propres au fournisseur et vous aurez une nouvelle base de données prête à être intégrée à votre application ou à votre site Web. Cela peut généralement être fait en quelques minutes à travers l’interface utilisateur du fournisseur.

L'automatisation est un autre attrait des bases de données gérées. Les bases de données autogérées peuvent consommer une grande quantité de ressources d'une organisation car ses employés doivent effectuer toutes les tâches administratives - de la mise à l'échelle à la mise à jour, à l'exécution de migrations et à la création de sauvegardes - manuellement. Avec une base de données gérée, toutefois, ces tâches et d'autres sont effectuées automatiquement ou à la demande, ce qui réduit considérablement le risque d'erreur humaine.

Cela tient au fait que les services de base de données gérées aident à rationaliser le processus de dimensionnement de la base de données. La mise à l'échelle d'une base de données auto-gérée peut nécessiter beaucoup de temps et de ressources. Que vous choisissiez le sharding, la réplication, l’équilibrage de la charge ou autre chose comme stratégie de dimensionnement, si vous gérez vous-même l’infrastructure, vous devez vous assurer qu’aucune donnée n’est perdue dans le processus et que l’application continuera à fonctionner correctement. Si vous intégrez votre application à un service de base de données gérée, vous pouvez cependant faire évoluer le cluster de bases de données à la demande. Plutôt que de devoir calculer au préalable la taille optimale du serveur ou l'utilisation du processeur, vous pouvez rapidement mettre à disposition plus de ressources à la volée. Cela vous évite d’utiliser des ressources inutiles et vous évite de payer pour ce dont vous n’avez pas besoin.

Les solutions gérées ont généralement une haute disponibilité intégrée. Dans le contexte du cloud computing, un service est dithighly available s'il est stable et susceptible de fonctionner sans panne pendant de longues périodes. Les produits des fournisseurs de cloud les plus réputés sont accompagnés d'unservice level agreement (SLA), un engagement entre le fournisseur et ses clients qui garantit la disponibilité et la fiabilité de leurs services. Un contrat de niveau de service type spécifie le temps d’attente auquel le client doit s’attendre, et nombre d’entre eux définissent également la rémunération des clients si ces niveaux de service ne sont pas atteints. Cela garantit au client que sa base de données ne plantera pas et qu’elle peut au moins s’attendre à une réparation quelconque de la part du fournisseur.

En général, les bases de données gérées simplifient les tâches associées au provisionnement et à la maintenance d'une base de données. En fonction du fournisseur, votre équipe ou vous-même aurez probablement besoin d'un certain niveau d'expérience dans l'utilisation de bases de données pour pouvoir provisionner une base de données et interagir avec elle au fur et à mesure que vous développez et mettez à l'échelle votre application. En fin de compte, toutefois, l'expérience spécifique à la base de données requise pour administrer une base de données gérée sera bien moindre qu'avec une solution autogérée.

Bien sûr, les bases de données gérées ne sont pas en mesure de résoudre tous les problèmes et peuvent constituer un choix moins qu'idéal pour certains. Nous examinerons ensuite quelques-uns des inconvénients potentiels à prendre en compte avant de provisionner une base de données gérée.

Considérations pratiques

Un service de base de données gérée peut alléger le stress lié au déploiement et à la maintenance d'une base de données, mais il y a encore quelques points à garder à l'esprit avant de vous engager dans une base de données. Rappelons que l’un des principaux attraits des bases de données gérées est qu’elles résument la plupart des aspects les plus fastidieux de l’administration des bases de données. À cette fin, un fournisseur de bases de données gérées vise à fournir une base de données rudimentaire qui satisfera les cas d'utilisation les plus courants. En conséquence, leurs offres de base de données ne proposent pas une multitude d’options de personnalisation ni les fonctionnalités uniques incluses dans des logiciels de base de données plus spécialisés. De ce fait, vous n’avez pas autant de liberté pour personnaliser votre base de données et vous serez limité à ce que le fournisseur de cloud propose.

Une base de données gérée est presque toujours plus chère qu'une base de données auto-gérée. Cela a du sens, étant donné que vous payez pour que le fournisseur de cloud vous aide à gérer la base de données, mais cela peut être une source de préoccupation pour les équipes aux ressources limitées. De plus, la tarification des bases de données gérées dépend généralement de la quantité de stockage et de RAM utilisée par la base, du nombre de lectures qu'elle gère et du nombre de sauvegardes de la base créée par l'utilisateur. De même, toute application utilisant un service de base de données gérée qui traite de grandes quantités de données ou de trafic sera plus chère que si elle utilisait une base de données cloud autogérée.

Il convient également de réfléchir à l’impact du passage à une base de données gérée sur leurs flux de travail internes et à leur capacité à s’adapter à ces changements. Chaque fournisseur diffère et, en fonction de son contrat de niveau de service, il peut n'assumer la responsabilité que de certaines tâches d'administration, ce qui poserait problème aux développeurs cherchant une solution de service complet. En revanche, certains fournisseurs pourraient avoir un SLA prohibitif ou rendre le client entièrement dépendant du fournisseur en question, une situation connue sous le nom devendor lock-in.

Enfin, et peut-être plus important encore, il convient d’examiner avec soin si un service de base de données gérée qu’ils envisagent d’utiliser répondra à leurs besoins en matière de sécurité. Toutes les bases de données, y compris les bases de données locales, sont exposées à certaines menaces de sécurité, telles que les attaques par injection SQL ou les fuites de données. Cependant, la dynamique de sécurité est très différente pour les bases de données hébergées dans le cloud. Les utilisateurs de bases de données gérées ne peuvent pas contrôler l’emplacement physique de leurs données ou les personnes qui y ont accès, ni assurer la conformité à des normes de sécurité spécifiques. Cela peut être particulièrement problématique si votre client a des besoins de sécurité accrus.

Pour illustrer votre propos, imaginez que vous soyez embauché par une banque pour créer une application permettant à ses clients d’avoir accès aux enregistrements financiers et d’effectuer des paiements. La banque peut stipuler que l'application doit disposer dedata at rest encryption et des autorisations utilisateur correctement étendues, et qu'elle doit être conforme à certaines normes réglementaires telles quePCI DSS. Tous les fournisseurs de bases de données gérées ne se conforment pas aux mêmes normes réglementaires ou ne maintiennent pas les mêmes pratiques de sécurité, et il est peu probable qu'ils adoptent de nouvelles normes ou de nouvelles pratiques pour un seul de leurs clients. Pour cette raison, il est essentiel de vous assurer que tout fournisseur de base de données gérée sur lequel vous comptez pour une telle application est en mesure de répondre à vos besoins en matière de sécurité ainsi qu'à ceux de vos clients.

Conclusion

Les bases de données gérées comportent de nombreuses fonctionnalités qui intéressent un grand nombre d’entreprises et de développeurs, mais une base de données gérée peut ne pas résoudre tous les problèmes ni répondre aux besoins de chacun. Certains trouveront peut-être que le jeu de fonctionnalités et les options de configuration limités d’une base de données gérée, son coût accru et sa flexibilité réduite l'emportent sur ses avantages potentiels. Cependant, des avantages convaincants tels que la facilité d'utilisation, l'évolutivité, les sauvegardes et les mises à niveau automatisées et la haute disponibilité ont conduit à une adoption accrue des solutions de bases de données gérées dans divers secteurs.

Si vous souhaitez en savoir plus sur les bases de données gérées DigitalOcean, nous vous encourageons à consulter nos Bases de données géréesproduct documentation.

Related