Bien que très populaire, la base de données open source Apache Cassandra a vécu quelques difficultés dans sa communauté. DataStax, qui joue depuis longtemps un rôle moteur dans le monde de Cassandra, a semblé à un moment lâcher son rôle de leadership, laissant apparemment le projet dans le désarroi. Ce n’est pas le cas. Même si DataStax s’est un peu retiré à la suite des critiques de la fondation Apache Software (ASF), des entreprises telles qu’Apple et Netflix, qui sont dépendantes de la base de données, ont intensifié leur leadership dans la communauté. Alors que la version 4.0 de Cassandra va bientôt sortir, le code du produit et sa communauté sont en meilleure forme qu’ils ne l’ont jamais été, et DataStax a repris un rôle important.
Le projet Cassandra a été soumis à l'ASF Incubator dès 2009. (crédit : svn.apache.org)
S’il existe de nombreux projets open source mené par un seul fournisseur, cette situation n’est pas autorisée sur les projets ASF. C’est devenu un problème pour Cassandra dans la mesure où il y a plusieurs années, la contribution de DataStax est montée jusqu’à 85% dans le code du logiciel, la société animant également le contenu du forum de la communauté (Planet Cassandra), les événements autour de la database NoSQL et autres interventions. C’est ce qui a conduit l’ASF à estimer que l'éditeur de la version commerciale du projet exerçait (ou avait le potentiel d’exercer) une influence indue sur Cassandra. En réponse, DataStax a pris un peu de champ, laissant la communauté se débrouiller.
150 000 instances de Cassandra chez Apple
Cette prise de distance de DataStax n’a pas dissuadé les entreprises à continuer à miser gros sur la database NoSQL, ses fortes capacités de passage à l’échelle et ses fonctionnalités distribuées haute performance. Apple, par exemple, l’a adoptée depuis longtemps. Même si le concepteur de l’iPhone ne partage pas volontiers la façon dont il utilise la technologie, on sait qu’il exploite 150 000 instances Cassandra, traite des dizaines de millions de requêtes par seconde et stocke des centaines de pétaoctets. Avec un tel investissement dans le logiciel, Apple ne pouvait pas se permettre de le laisser tomber, il a donc travailler d’arrache-pied pour s’assurer que sa stabilité s’améliore considérablement entre la version 3.11 et la version 4.0. Mais il n’a pas été le seul.
En 2018, selon Aaron Morton, alors CEO de The Last Pickle - société de conseil sur Cassandra acquise depuis par DataStax - l’emphase mise sur la stabilisation de Cassandra ont conduit davantage d’utilisateurs du projet à s’engager. Si le profil bas adopté par DataStax a constitué un défi, cela a finalement abouti à constituer une communauté plus diversifiée accueillant d’autres membres pour combler les manques, exprimait-il alors. « Mon co-fondateur Nate McCall de The Last Pickle a été élu au siège de PMC (president of the mess committee) en remplacement de Jonathan Ellis et, avec une aide importante du PMC, a travaillé pour étendre la liste des participants et encourager les entreprises qui s’appuie sur Cassandra à contribuer davantage. De plus, nous recevons toujours d'importantes contributions de grandes entreprises telles que Netflix, Uber et Instagram. »
Plusieurs opérateurs Kubernetes entrepris
Des entreprises et des développeurs indépendants ont contribué au projet. Mais tout le monde ne tirait pas toujours dans le même sens. Par exemple, au lieu d’un seul opérateur Kubernetes généralisé pour Cassandra auquel un ensemble d’entreprises contribuent et améliorent, il existe différents opérateurs, venant de Sky, d’Orange, d’Instaclustr et d’autres [dont DataStax qui vient d'annoncer le sien]. Des entreprises comme Instagram ont fait un fork de Cassandra, sous le nom de Rocksandra. Aucune de ces activités n’est mauvaise en soi, mais cela tend à brouiller la définition de ce qu’est Cassandra et disperse l’énergie d’innovation dans plusieurs directions.
Il y a aujourd’hui un fort besoin que quelqu’un aide à rallier les contributeurs de Cassandra autour d’objectifs communs. Le leadership de Cassandra et les principaux responsables comme Nate McCall ont fait un travail fabuleux pour déplacer les montagnes pour faire en sorte que Cassandra 4.0 (actuellement en bêta avec une sortie officielle prévue pour le 2e trimestre) apporte la stabilité comme promis il y a déjà plusieurs années. Il reste encore d’autres besoins et peut-être que DataStax est bien positionné pour s’en occuper, particulièrement à la lumière du nouveau leadership qui a entraîné un focus renouvelé sur les contributions à Cassandra.
Modulariser le code de Cassandra
Par exemple, alors qu’il y avait de bonnes raisons pour qu’émergent des forks de Cassandra, aucune entreprise n’a vraiment voulu en maintenir un (un fork gaspille les ressources même si la branche principale d’un projet open source se poursuit). Une emphase plus forte sur la connectivité à Cassandra résoudrait le besoin de recourir à de tels bifurcations. En ayant un focus à plein temps sur Cassandra, DataStax, en travaillant avec d’autres, peut aider à modulariser le code de Cassandra pour rendre son architecture plus « connectable ». Un moteur de stockage pluggable (plutôt qu’un disponible en fork) ferait grandement avancer Cassandra. Ce n’est pas une tâche triviale et cela ne peut pas être développé par un développeur travaillant seul, sur son temps libre.
De la même manière, Cassandra a besoin d’un opérateur Kubernetes généralisé pour faciliter son déploiement avec l’orchestrateur de containers. Et ce n’est pas non plus trivial, mais c’est important parce que cela permettrait d’aligner différentes perspectives dans un seul projet plutôt que de les éparpiller. Ce serait une bonne opportunité pour DataStax, en complément du travail qu’il fait pour améliorer la documentation de Cassandra, pour tester la version 4.0, etc. Cela ne signifie pas que la communauté doive accepter que DataStax occupe un rôle de contributeur hégémonique. Non, si les quelques années écoulées nous ont appris quelque chose, c’est que de nombreuses entreprises sont en mesure de contribuer à Cassandra en lui apportant une réelle valeur. Cela dit, il reste du travail à accomplir pour concentrer de tels efforts sur les besoins communs, pour les concentrer plutôt que les disperser. Cela semble être une excellente façon pour DataStax, de reprendre son rôle de leadership autour de Cassandra.