sdecoret - Fotolia
DataStax Astra : une nouvelle étoile dans la galaxie DbaaS
DataStax a annoncé récemment la disponibilité générale d’Astra, sa DbaaS basée sur le SGBD NoSQL Cassandra. L’éditeur voit ce produit comme un moyen de faciliter les déploiements de la base de données et un outil pour entraîner les développeurs encore peu habitués aux particularités de Cassandra.
Les entreprises, de plus en plus tournées vers le cloud, incitent les éditeurs de base de données à s’adapter et vice-versa. Que ce soit les acteurs du SQL ou du NoSQL, tous cherchent à proposer une version managée de leur SGBD dans le cloud. Après Redis, MongoDB, MariaDB, Couchbase, c’est au tour de DataStax d’annoncer la disponibilité générale de sa DbaaS nommée Astra (rien à avoir avec le projet de NetApp pour simplifier la migration des containers vers le cloud).
Astra est une version managée de la base de données Cassandra de DataStax. Il convient de ne pas confondre ce produit avec Luna, une offre de support pour les utilisateurs de la version open source de la base de données NoSQL. Dévoilée lors de la conférence Accelerate en 2019, Astra était est en bêta depuis le troisième trimestre de la même année sur Google Cloud. Datastax fait partie des éditeurs open source que le géant du cloud souhaite mettre en avant sur sa marketplace.
Cassandra a la réputation d’être difficile à déployer et à maintenir à échelle. La disponibilité d’Astra semble une réponse appropriée à ce problème. DataStax la présente comme un moyen de former les développeurs à Cassandra et une plateforme pour exécuter le SGBD sur « n’importe quel cloud ». Pour l’instant, Astra est disponible sur Google Cloud et AWS et sera prochainement accessible depuis Microsoft Azure.
Simplifier les déploiements de Cassandra pour les nouveaux venus
« Nous utilisons Astra comme un moyen d’apprendre aux développeurs juniors les rudiments de Cassandra », explique Matt Kennedy, directeur général des solutions cloud, chez DataStax. « Nous avons commencé lors de conférence Accelerate 2019 et cela leur a permis gérer des bases de données depuis une simple interface Web sans passer par une longue phase de configuration et d’administration. Nous avons multiplié les sessions qui ont été suivies par des milliers de développeurs. Ainsi, nous exécutons Astra à grande échelle avec beaucoup d’utilisateurs ». En ce sens, l’éditeur propose une version gratuite avec 10 Go de stockage.
Selon Matt Kennedy, DataStax veut simplifier les développements natifs au cloud. Cela passe par l’intégration du Shell CQLSH dans une interface web pour exécuter des requêtes CQL, sans avoir à configurer de VM Linux. DataStax Studio Tool est également fourni avec Astra pour accéder à des notebooks qui doivent faciliter la collaboration entre les développeurs.
Le produit dispose de deux nouvelles API : Astra Rest et Astra GraphQL. La première permet d’ajouter une table, en supprimer, ou en renvoyer le contenu. Il est possible de récupérer, ajouter, mettre à jour et supprimer des colonnes. Il prend en charge les actions CRUD (ou Create Read, Update et Delete) sur les données. Astra GraphQL supporte aussi les commandes CRUD et facilite les requêtes avec des filtres via la syntaxe GraphQL.
Le Cass Operator, une brique essentielle pour Astra
L’opérateur Kubernetes de Datastax, maintenant disponible en open source, joue un rôle important dans l’architecture de cette DbaaS. C’est l’un des deux éléments qui permettent d’automatiser la configuration du SGBD. « Cassandra n’est pas la technologie la plus simple à associer à un opérateur Kubernetes. Nous avons dû y ajouter un module API side-car pour abstraire les fonctionnalités des API Java Management Extensions (JMX). Cette combinaison permet d’automatiser et simplifier les déploiements de bases de données à large échelle », affirme Matt Kennedy. Il est également possible de coupler l’API side-car avec Puppet ou d’autres d’outils d’automatisation de datacenter pour gérer DSE.
Dans la version payante, chaque base de données repose sur une capacité unitaire (un groupe de trois nœuds dans un cluster pour la réplication répartis dans trois zones de disponibilité), le data store keyspace, 200 tables et 500 Go de stockage. Il est possible d’ajouter d’un simple clic des capacités unitaires pour agrandir le cluster.
La fonctionnalité GuardRails permet de limiter la taille d’une colonne à 5 Mo, d’automatiser les backups et les restaurations. Cet outil doit simplifier la gestion administrative, ce qui peut représenter quelques limites pour les utilisateurs de DSE. Ils ne retrouvent pas nodetool et dsetool dans Astra.
Guardrails doit sécuriser les données en transit avec le protocole TLS, tandis que les endpoints sont protégés via MTLS. Un RBAC et un RLAC doivent faciliter la gestion des accès, tout comme avec DataStax Enterprise.
DataStax a également ajouté une fonctionnalité de « Parking ». Comme son nom l’évoque, elle permet de stocker les données, mais d’arrêter les processus de calcul. « C’est une méthode pratique de réduction des coûts, lorsque les entreprises en sont aux premières phases de développement et qu’elles n’utilisent pas la base de données 24 heures sur 24 ».
Une étoile en construction
Toutefois, Astra ne dispose pas encore de fonctionnalités d’autoscaling. « Nous cherchons à automatiser cette capacité d’expansion », assure Matt Kennedy. La difficulté réside dans la manière d’adapter les ressources nécessaires au fonctionnement du SGBD (et de l’application associée). « Nous devons d’abord déterminer si la base de données est pleine. Ensuite, il faut pouvoir savoir si c’est le nombre d’opérations à la seconde qui fait défaut, auquel cas il faut ajouter de la RAM et du CPU, ou s’il faut ajouter une capacité unitaire pour supporter davantage de données », détaille le responsable.
Pour migrer les données vers Astra, et possiblement passer de DastaStax Enterprise Edition à Astra, il faut utiliser l’outil DS Bulk Loader qui permet de charger et décharger des documents JSON ou CSV. Dans un avenir proche, DataStax proposera un proxy placé entre une application et sa base de données sur site afin de répliquer les nouvelles données vers un master dans le cloud.
Astra n’est pas non plus une version managée de DataStax Enterprise Edition. DSE comprend des fonctionnalités de recherches, graphes et analytiques qui ne sont pas proposées dans Astra. « Nous prévoyons toujours de supporter le traitement des données via Spark avec DataStax, mais il n’est pas nécessaire de passer par une solution que nous proposons. Nous sommes heureux de nous intégrer avec Databricks, Elastic MapReduce, Google DataProc, ou Azure HDInsight pour offrir ce même niveau de fonctionnalités » vante Matt Kennedy.
Concernant les fonctionnalités graphes, le responsable affirme qu’il est possible qu’elles arrivent un jour au sein de la DbaaS, mais cela « demandera des ajustements ». « Pour l’instant, nous cherchons à proposer la meilleure base de données Cassandra en tant que service », déclare-t-il.
La DbaaS repose sur la version 3.11 de Cassandra. Tous les drivers de DSE sont néanmoins compatibles avec la DbaaS (Java, C++, C#, Node.js, Python, PHP et Ruby).
Astra apparaît évidemment une alternative à la version managée de Cassandra proposée par AWS depuis décembre 2019. Le concurrent de Google avait suscité de vives réactions de la part des éditeurs. « Nous pensons que ce que nous proposons avec Astra offre une plus grande compatibilité avec la version open source de Cassandra. C’est ce que les utilisateurs veulent », assure poliment Matt Kennedy. « Ils veulent éviter l’enfermement propriétaire et avoir une porte de sortie au besoin ».