K8ssandra, futur standard data incontournable pour Kubernetes ?

K8ssandra, futur standard data incontournable pour Kubernetes ? DataStax développe un opérateur simplifiant le déploiement de sa base NoSQL Cassandra sur Kubernetes. Soutenu par Orange, le projet open source doit surmonter des défis techniques.

L'union entre Cassandra et Kubernetes était-elle inévitable ? Cassandra figure parmi les bases de données les plus populaires du marché aux côtés de MongoDB, pour stocker et traiter de grands volumes de data. De son côté, Kubernetes (K8s) est devenu, en quelques années l'orchestrateur de containers logiciels incontournable. Pour faciliter le déploiement de Cassandra sur Kubernetes, DataStax, l'éditeur du serveur de données open source devenu projet Apache, propose un opérateur baptisé K8ssandra (prononcer "Kè-sandra"). L'entreprise  californienne avait officialisé la solution en décembre dans un communiqué de presse. Quelques mois plus tôt, en mai, DataStax avait déjà présenté Astra, une version managée de Cassandra visant à simplifier son administration dans une approche serverless.

Distribution open source, K8ssandra étend la solution d'origine de DataStax (Cass Operator) en l'associant à un ensemble d'outils pour assurer le déploiement et la configuration de Cassandra sur des clusters Kubernetes. Outre donc Cass Operator, qui sert de couche de traduction entre le plan de contrôle de Kubernetes et les opérations effectuées par le cluster Cassandra, on retrouve Reaper, un outil de maintenance et de réparation des nœuds. Mais également Medusa qui assure la sauvegarde et la restauration des données. Deux briques toutes conçues par The Last Pickle, une société de conseil et de services néo-zélandaise rachetée par DataStax en mars 2020.

Orange s'engage dès 2018

Derrière K8ssandre, on trouve en outre Prometheus et Grafana. Le premier permet d'exporter et de publier les métriques de fonctionnement de Kè-sandra. Quant à second, il les agence sous forme de tableaux de bord. Pour compléter l'édifice, K8ssandra fait appel à Stargate, une API Gateway open source, et aux charts Helm pour aider les administrateurs de bases de données à configurer et à exploiter des clusters Cassandra dans un environnement Kubernetes.

A son lancement, le projet K8ssandra a reçu le soutien de New Relic, éditeur spécialiste de l'application performance management (APM) et d'Orange. Le groupe télécoms a tenu un rôle de précurseur en matière d'opérateurs Cassandra pour Kubernetes. Pour répondre à ses besoins, il a commencé, dès 2018, à programmé un opérateur maison. Ce qui donnera naissance à CassKop, qui sera distribué ensuite par l'entreprise française en open source, sous licence Apache 2.0.

"K8ssandra doit supporter le multi-clustering en forte production avec des fonctionnalités éprouvées de sauvegarde et de restauration de données"

"Orange doit gérer du multi-clustering sous Kubernetes avec de grosses contraintes de production et de qualité de service, avec le traitement de près de 100 000 requêtes par seconde", explique Franck Dehay, expert en génie logiciel au sein de l'opérateur télécoms. En dépit de l'antériorité de CassKop, les équipes du groupe ont décidé de soutenir l'initiative de DataStax et, mieux encore d'aider à son amélioration en migrant certaines fonctionnalités de CassKop vers K8ssandra. "Par cette contribution, nous voulons contribuer et rendre un peu à la communauté", souligne Franck Dehay.

Pour autant, Orange, désormais contributeur de K8ssandra, entend jouer le rôle de "testeur pénible" en vue de "surveiller les développements en cours" et de s'assurer que la feuille de route du projet open source, prochainement dévoilée, intègre bien les évolutions souhaitées par la communauté des utilisateurs. "K8ssandra doit supporter le multi-clustering en forte production avec des fonctionnalités éprouvées de sauvegarde et de restauration de données", poursuit Franck Dehay. Si ces conditions sont réunies, Orange pourrait migrer vers le nouvel opérateur K8ssandra qui sera lancé l'année prochaine.

Une bataille remportée contre Smack

Si, sur le papier, le rapprochement entre Kubernetes et Cassandra fait sens, l'expert d'Orange rappelle que l'orchestrateur de la base NoSQL est historiquement Mesos. L'architecture Smack (pour Spark, Mesos, Akka, Cassandra, Kafka) rassemble, de fait, exclusivement des solutions distribuées par la fondation Apache. Kubernetes en remportant définitivement la bataille des orchestrateurs a, depuis, changé l'ordre établi.

Quant à Cassandra, la plateforme se prête au multi-clustering. "Mais elle n'est pas facile à gérer", déplore Franck Dehay "L'indexation aux adresses IP peut notamment poser un problème quand deux containers croisent leurs IP." DataStax devra résoudre ce problème. Enfin, l'ingénieur d'Orange estime que la communauté qui s'est développée autour de K8ssandra gagnerait à s'élargir, au-delà du cercle des contributeurs habituels.