PaaS DB : libérez le potentiel de vos applicatifs !

L’automatisation et la mise à l’échelle d’infrastructures complexes est au centre de la réflexion de nombreux experts de l’univers IT aujourd’hui. Gage de croissance de l’activité, la capacité à pouvoir rapidement sélectionner, provisionner et exploiter une infrastructure à la demande est la conséquence d’une économie où l’agilité est le maître-mot.

Chez OVH, nous partons du principe que s’il existe un process, celui-ci peut et doit être managé, scalable, sécurisé et fiable : c’est l’essence même du projet PaaS Database (ou DBaaS pour les puristes), abordé dans ce dossier.

Jusqu’à la création et la mise en production en interne de notre solution de gestion managée d’infrastructures de bases de données, nombreuses étaient les équipes de développement qui administraient elles-mêmes les bases de leurs applicatifs. À des degrés de complexité différents, les différentes bases d’un même département étaient cantonnées à des projets spécifiques, requérant une attention particulière et une connaissance approfondie de l’applicatif lié à la base de la part de l’administrateur en charge de sa gestion.

L’effet « silo »

Les bases de données jouent un rôle clé pour nombre de nos développeurs et devops, qui emploient chaque jour leur expertise à la mise en place et l’amélioration d’applicatifs à destination de nos clients tant internes (nos collaborateurs) qu’externes. Pourtant, et à l’instar de nombreux développeurs, nos équipes se sont retrouvées confrontées aux limitations qu’imposent la nécessité récurrente de devoir créer, administrer et maintenir eux-même des bases de données.

Loin d’être idéale, cette approche présente aussi le désavantage de scinder les équipes en « silos » de développements qui, du fait de la compartimentation des bases de données, rendent l’application de bonnes pratiques et d’innovations complexe à gérer pour les sysadmins.

C’est pour répondre à ces limitations qu’est né le projet PaaS Database : proposer à nos collaborateurs une infrastructure fiable, sécurisée et managée afin que ces derniers puissent consacrer leur expertise métier à l’élaboration de solutions à destination de nos clients. Leurs bases de données sont gérées quant à elles par les sysadmins, désormais capables de se concentrer sur l’optimisation et la mise à jour de ces bases, à grande échelle et de manière automatisée.

PaaS Database autorise une maîtrise horizontale des options de bases de données (SQL, MySQL, PostgreSQL, MariaDB, NoSQL, HBase, MongoDB, Elasticsearch, Cassandra…). Il autorise également une maîtrise verticale en situation de production, où la haute disponibilité des services est essentielle.

À l’heure actuelle, le PaaS Database se concentre dans cette première itération autour de MySQL et PostgreSQL à destination des projets non critiques (développement, préproduction, Proof of Concept).

PaaS DB est en beta sur RunAbove

La solution : la Base de Données as a Service

Le PaaS Database, par définition, est une plateforme de gestion de base de données scalable, élastique (scale up/scale out), managée, sécurisée et, à terme, hautement disponible. L’automatisation étant l’un des piliers de la gestion de solutions à grande échelle chez OVH, le PaaS Database a été conçu afin de s’auto-gérer en ayant recours à une distribution des ressources matérielles de manière dynamique lors de situations de montée en charge. L’infrastructure offre ainsi toute latitude à nos équipes afin de scripter certaines opérations sur un grand nombre de clusters de bases de données tout en permettant à ces mêmes équipes de garder une vision stratégique de l’ensemble des bases grâce à des outils de mesure et de logs.

Le marché des bases de données ayant fortement évolué ces dernières années avec l'avènement du NoSQL ou du NewSQL entre autres, il était pertinent pour nos équipes, de se doter d'un outil de gestion de bases de données à la fois fiable et capable d'intégrer rapidement les dernières technologies disponibles sur le marché. La Base de Données as a Service répond parfaitement à ce cahier des charges : en permettant aux développeurs de choisir la technologie de base de données adaptée à leur projet sans avoir à se soucier de la version ni de sa maintenance, les projets passent de la phase de proposition à la phase de mise en développement et à terme à celle de production, bien plus rapidement qu'auparavant.

Les bases de données hébergées au sein de la solution PaaS Database peuvent ainsi servir à des applicatifs et des scénarios multiples :

Applicatifs transactionnels : sites de e-commerce, applications mobiles hébergées dans le cloud, gestion de fichiers numériques

Archivage et analyse de données

Environnements de développement agiles (temps de mise sur le marché très cour

La standardisation comme fil rouge

Comme toute infrastructure, le PaaS DB doit répondre à des standards de conformité auxquels tous les projets développés en interne doivent se conformer. De manière spécifique, les administrateurs des bases du PaaS DB conçoivent et valident les images des bases de données, gage de sécurité et de pérennité pour les applicatifs développés en parallèle.

Parmi ces standards, la nécessité de mettre en place des règles strictes en matière d'accès aux bases de données est une considération essentielle, viens ensuite la capacité à pouvoir sauvegarder par incrément, ou non, les bases de données et qu'elles soient redondées en différents points isolés de l'infrastructure. Enfin, les équipes responsables du PaaS DB réalisent une veille quotidienne des actualités des technologies utilisées afin de pouvoir offrir aux développeurs un outil toujours à jour et ainsi bénéficier des dernières fonctionnalités afin d'assurer productivité et sécurité aux différents départements.

Le PaaS Database en action :

Afin d’appréhender l’un des nombreux usages qu’autorise le PaaS Database, intéressons-nous à travers l’exemple suivant à un environnement « startup » aux effectifs restreints :

Le contexte

Une agence web composée de 5 développeurs, 2 sysadmins et 2 créatifs tirent l'essentiel de son chiffre d'affaire de la réponse à des appels d'offres de métropoles françaises. Jeune équipe de 12 personnes, l'agence pour se démarquer, propose à ses clients des plateformes de consultation participative à haute disponibilité à travers un SLA. Les plateformes doivent êtres capables de supporter de forts pics de charge ainsi que la possibilité pour le service communication des métropoles d'extraire des statistiques détaillées relatives à la participation des citoyens via des croisements complexes au sein de multiples bases de données.

Parmi les limites qui se posent à l'agence et qu'elle entend résoudre avec le PaaS DB, on notera le manque de visibilité sur le coût en développement de la réponse à l’appel d’offre : les parties prenantes du projet n’ont pas une vision granulaire des investissements/dépenses qui seront à provisionner dans le cadre de la formulation de l’appel d’offre. Viennent ensuite les limites en terme d'effectifs techniques afin d'administrer un nombre croissant de bases de données existantes et futures.

Une solution clé en main :

Fort de sa solution de base de données as a Service, le développeur en charge du projet crée avec le sysadmin les instances DB de ses 4 applicatifs en local. Le sysadmin est ensuite capable de fournir au chef de projet un prévisionnel tarifaire clair du coût de réponse à l’appel d’offre côté technique, un apport non négligeable surtout s’il ne s’agit pas du seul appel d’offre auquel l’agence répond à cette période. En effet, le PaaS Database sera disponible sous des formules de tarification à l’heure, et au mois, afin de s’adapter aux impératifs de flexibilité les plus récurrents au sein des organisations. Lors de la période de validation et d’échange entre le client et l’agence, le développeur est capable d’intervenir et répondre aux éventuelles requêtes « on the fly », le laisser décider et enfin mettre à jour ses bases de données de pré-production en prévision de la validation définitive du projet.

L’offre retenue, la base de donnée associée à l’applicatif passe en production… sur PaaS Database. Notre développeur maîtrise désormais verticalement son projet : il a l’assurance que sa base de données hébergée sur PaaS Database supportera les éventuels pics de charge ainsi que la croissance du taux de fréquentation du service et ce, de manière complètement sécurisée pour le client. À terme, le sysadmin aura développé des optimisations qu’il enverra aisément vers les bases de production hébergées sur PaaS Database après avoir validé son concept dans son univers de pré-production, là encore, sur le PaaS.

PaaS DB est en beta sur RunAbove

En résumé :

Les cas d’usages étant potentiellement nombreux, il est important de rappeler les éléments clés qui justifient le recours à des bases de données managées et simples à déployer :

• Flexibilité des équipes
• Scalabilité de l’infrastructure existante
• Fiabilité (no SPOF)
• Sécurité
• Coût
• Visibilité tarifaire
• Maintenance simple
• Possibilité d’isoler les « tenants »
• Sauvegardes régulières des backups

Récemment rendu disponible en phase de bêta publique sur notre plateforme RunAbove, le PaaS Database, ou DBaaS, est un de nos nombreux labs prometteurs au sein desquels nous travaillons main dans la main avec la communauté : c’est à travers vos feedbacks que nous pouvons envisager la roadmap des features que vous souhaitez voir intégrées au produit final et nous vous invitons, si ce n’est déjà fait, à vous inscrire à notre mailing-list publique afin d'apporter votre contribution.

La page RunAbove du projet ainsi que le guide de démarrage sont à votre disposition afin de faire vos premiers pas vers une nouvelle approche de la gestion des bases de données qui se veut agile, simple d’utilisation et gratuite durant 1 mois pour les bêta testeurs.

En savoir plus :

Rejoindre la liste de diffusion : Paas.sql+subscribe@ml.ovh.net

Rejoindre le lab PaaS DB MySQL

Rejoindre le lab PaaS DB PostgreSQL