DbaaS : le numéro d’équilibriste de MongoDB
Lors de son événement parisien, MongoDB a vanté les capacités de sa DBaaS, MongoDB Atlas, uniquement disponible depuis Google Cloud, AWS et Microsoft Azure. Pour autant, l’éditeur veut faire en sorte que son SGBD demeure accessible « partout ». Un jeu d’équilibre loin d’être évident à maintenir.
Cinq avril, MongoDB Local Paris 2022. Pour son premier événement physique depuis le début de la pandémie, MongoDB voulait marquer le coup. Le 3 Mazarium semble plus grand que le lieu choisi pour le MongoDB Local Paris de 2020. Et pourtant l’édifice est bondé. Les développeurs et ingénieurs des grands groupes français sont présents. Difficile de se frayer un chemin pour accéder à l’auditorium. À peine arrivé, le chef de cérémonie lance les hostilités. Mark Porter, membre du conseil d’administration devenu CTO de l’éditeur, fait son apparition.
Ce pionnier des bases de données relationnelles chez Oracle, ancien directeur général responsable des produits RDS et Aurora chez AWS un temps passé par le conseil d’administration de MariaDB, est désormais convaincu que les bases de données NoSQL et les architectures de microservices sont amenées à remplacer les monolithes dans les entreprises. Il faut dire aussi que sur les 33 000 clients de MongoDB, plus de 12 000 sont européens, selon Mark Porter.
Pendant la conférence parisienne, MongoDB a surtout mis en avant la haute disponibilité multicloud, sa « Stable API », ainsi que les préversions d’Atlas Data API et du mode serverless, tous liés à sa DBaaS, MongoDB Atlas.
Serverless et multicloud, des atouts clés pour une base de données
Ainsi, il est possible de déployer jusqu’à sept nœuds MongoDB à travers plusieurs régions et plusieurs clouds à des fins de haute disponibilité. Pendant la démonstration, Maxime Beugnet, Senior Developer Advocate chez MongoDB a montré qu’il était possible de configurer 3 nœuds éligibles sur la région France d’AWS (eu-West 3 – Paris) et 2 nœuds secondaires sur celle de Microsoft Azure (Francecentral) en une dizaine de minutes. La même chose est possible avec GCP. L’on peut également configurer des nœuds read-only pour isoler les workloads analytiques des nœuds opérationnels.
Avec l’option serverless, le déploiement est encore plus rapide. Il dure 1 à 3 minutes, promet l’éditeur. Il suffit de choisir l’option et de changer le nom de l’instance pour lancer un projet. En revanche, la gestion des coûts est différente : elle est fonction du nombre de lectures (0,3 dollar pour 1 million de lectures), au lieu d’une tarification à l’heure habituellement (0,08 dollar par heure). Pour l’instant, le mode serverless ne supporte ni le sharding, ni les déploiements multicloud, ni tout un ensemble de fonctions de la DBaaS dont Search et Online Archives. Cela viendra, promet l’éditeur.
En préversion itou, l’API Atlas Data permet de lire et de modifier les données présentes dans MongoDB Atlas depuis une interface de programmation HTTPS. En clair, il est possible d’exécuter des opérations CRUD depuis un service ou une application externe à la base de données.
Quant à elle, l’API Stable annoncée en février n’est autre que la « Versionned API ». Elle permet de spécifier quelle version de l’API Mongo une application utilise. De la sorte, il est possible de continuer à mettre à jour la base de données sans forcément modifier les microservices ou les applications associés. Ce principe de découpler la base de données de l’application a inspiré les concurrents de MongoDB qui proposent aux utilisateurs de la base de données de conserver leurs applications compatibles, mais de migrer vers leurs propres SGBD. C’est l’une des stratégies de Microsoft avec CosmosDB et Oracle, avec son Autonomous Database.
Mark PorterCTO, MongoDB
« Vous avez le glaçage, vous avez la cerise, mais vous n’avez pas le gâteau », considère Mark Porter auprès du MagIT. « Ce que je veux dire, c’est que vous pouvez utiliser l’API MongoDB contre CosmosDB. Vous pouvez utiliser l’API MongoDB très limitée que possède Oracle. Mais en dessous, vous êtes toujours dépendant du fait qu’il n’y ait qu’un seul writer sur ce cluster Oracle en dessous. Donc quand vous souhaitez passer à l’échelle, vous ne pouvez évoluer que dans un sens. Et non seulement l’extension est coûteuse, mais les cycles CPU et la mémoire deviennent plus chers sur ces grosses machines. Mais nous savons tous que ces technologies de base de données propriétaires sont également plus chères », assure-t-il. « Donc, bien que nous soyons flattés par ces technologies, nous ne les voyons vraiment pas comme une menace ».
En outre, Atlas Search, tout comme Elasticsearch (que l’éditeur essaye de remplacer) s’appuie sur le moteur Apache Lucene, propose de nouvelles capacités de gestion des index et de nouveaux facets afin de mieux filtrer les recherches. MongoDB mise surtout sur le fait qu’Atlas Search cible directement les collections stockées dans sa DBaaS, ce qui supprimerait la nécessité de synchroniser les données entre MongoDB et Elasticsearch ou Solr. Par la même occasion, un seul langage de requêtes, MQL, suffirait pour toutes les opérations entre la base de données et le moteur de recherche, et l’application et ce même moteur.
Par ailleurs, l’éditeur assure que la DBaaS permet de migrer automatiquement vers la dernière version du SGBD NoSQL. Pour autant, tous les clients n’ont pas la volonté d’opter pour la dernière mouture en date.
« Nous essayons de faire en sorte que les clients n’aient pas plus de deux ans de retard sur la dernière mise à jour majeure disponible », affirme Mark Porter. « La grande majorité d’entre eux ont migré vers la version 4.2 ou plus. Ils peuvent profiter des transactions acides, du resharding automatique, des fonctions analytiques, etc. », vante-t-il.
Par la même occasion, avec MongoDB Atlas, les utilisateurs adopteraient beaucoup plus rapidement la dernière version en date. D’ici un mois, le CTO s’attend à ce que « des centaines de clients » effectuent la mise à jour d’ici un mois.
Les limites du « Run It Everywhere »
L’éditeur revendique la possibilité d’exécuter la base de données orientée documents « partout ». Cependant, toutes les capacités décrites ci-dessus ne sont pas accessibles à tout le monde.
MongoDB vante la présence de son DBaaS depuis 84 régions sur Google Cloud, Microsoft Azure et AWS. En parallèle, l’éditeur maintient une stratégie en collaboration avec des « partenaires OEM ». Il faut ici comprendre que les distributions commerciales de MongoDB peuvent être déployées depuis d’autres clouds, dont ceux de Tencent et d’OVHcloud. D’ailleurs, le fournisseur français a profité de l’événement pour annoncer la disponibilité en bêta gratuite de Managed Databases for MongoDB – Enterprise plan – histoire de mettre le pied à l’étrier des sociétés souhaitant adopter le SGBD sur un cloud souverain. Le service devrait être définitivement en production d’ici un mois.
Mark PorterCTO, MongoDB
Mais comme pour les clients sur site, les fonctionnalités de haute disponibilité, le multicloud ou même Atlas Search, sont spécifiques à MongoDB Atlas.
« Nous avons beaucoup de clients qui se tournent vers notre édition Enterprise Advanced sur site ou en cloud privé. Nous supportons également les usagers qui emploient l’édition communautaire », tient à préciser Mark Porter. « Cependant, les fonctionnalités telles que nos solutions Data Lake et Atlas Search dépendent réellement de l’élasticité et l’architecture [des fournisseurs] cloud », assure-t-il en réponse à un développeur souhaitant savoir si des options similaires seraient disponibles on-premise.
Tout comme Parker Harris, Cofondateur et CTO de Salesforce, Mark Porter estime qu’apporter cette simplicité d’utilisation aux développeurs réclame un gros travail d’architecture, surtout quand il est question d’apporter une expérience serverless. « Nous voulons offrir la même expérience, peu importe le cloud. En réalité, même les trois grands clouds sont très différents, nous avons donc beaucoup de travail en interne pour que notre service ait la même apparence. Mais nous sommes ravis de le faire pour nos clients ».
Interrogé par LeMagIT sur la possible disponibilité de MongoDB Atlas sur d’autres clouds que ceux des trois géants américains, notamment OVHcloud, Mark Porter répond par la négative, mais ne ferme pas les portes. MongoDB n’a pas non plus toutes les clés en main.
« Nous n’avons actuellement aucune intention d’apporter Atlas à l’un de ces autres clouds », indique-t-il. « Cependant, la discussion se poursuit régulièrement avec ces fournisseurs. Au fur et à mesure, nous vous tiendrons au courant. Les gens veulent la magie d’Atlas, mais ils [les fournisseurs] souhaitent aussi offrir leurs propres produits dans leurs propres clouds. C’est un sujet complexe ».
Pour l’instant, MongoDB se contente de ses partenariats d’envergure avec AWS, Microsoft Azure et GCP. Et cela semble lui réussir. Le taux de croissance annuel de son activité DBaaS était de 86 % au dernier trimestre fiscal, tandis que son activité on-premise progresse de 17 %, selon le CTO.