Le projet Cassandra n’a pas de dictateur bienveillant pour la vie, mais s’il le faisait, ce titre reviendrait sûrement à Jonathan Ellis. Le cofondateur de DataStax, Jonathan Ellis, collabore avec Cassandra depuis le lancement de cette source ouverte par Facebook. Une fois le projet sorti de l'incubateur de la fondation Apache Software (ASF), il en a été le premier président du projet pendant six ans.
Il était difficile d'arracher Jonathan de ses fans à la conférence DataStax's Accelerate à Washington, mais Mayank Sharma l'a attiré en se déguisant lui-même.
Format Linux: Vous avez toujours été un type de base de données… Comment avez-vous trouvé votre chemin vers Apache Cassandra?
Jonathan Ellis: Il est vrai que la technologie de base de données m'a toujours intéressé, mais je pensais au départ que l'espace de la base de données n'apportait que des améliorations incrémentielles sur des solutions bien comprises jusqu'à ce que je rejoigne une société de sauvegarde sur cloud appelée Mozy en 2005. J'ai construit un magasin d'objets qui mise à l'échelle en pétaoctets de données et en gigabits par seconde de débit, et l'une de ses fonctionnalités était le stockage à instance unique. Autrement dit, quel que soit le nombre d’utilisateurs chargés de la même vidéo ou du même fichier binaire, nous ne stockons qu’une copie dans la mémoire de sauvegarde.
Cela signifiait que nous devions trouver un moyen de savoir quels utilisateurs possédaient des copies de quels fichiers – en les adaptant à des millions d'utilisateurs et à des milliards de fichiers. C’est ainsi que j’ai réalisé que nous avions besoin de nouvelles architectures de bases de données pour faire face aux défis des applications Web et mobiles. Les bases de données existantes ont été optimisées pour les applications qui traitaient le nombre d'utilisateurs d'une seule entreprise, mais nous devions maintenant nous adapter à l'ensemble du pays. C'était un problème très différent qui nécessitait des compromis différents.
Quelques mois seulement après l'ouverture du projet Cassandra par Facebook, Rackspace m'a engagé pour travailler sur le défi des bases de données évolutives. J'ai approfondi mes connaissances de Cassandra et des alternatives qui commençaient à se développer dans cet espace. Son mariage entre un modèle de données riche et tabulaire et une approche totalement distribuée et sans maître de l'évolutivité et de la tolérance aux fautes m'a vraiment attirée. En conséquence, j'ai commencé à travailler sur le code et à bâtir la communauté. Lorsque Cassandra a été diplômée de l'incubateur d'ASF, je suis devenue la première présidente du projet. S'engager avec Cassandra est l'une des meilleures décisions que j'ai jamais prises.
LXF: Je t'ai déjà entendu casser Facebook. Est-ce vrai?
JE: En fait, je suis probablement l'une des seules personnes qui ne travaillent pas pour Facebook à avoir cassé Facebook. C'est arrivé après que je sois devenu committer sur le projet Apache; Je pense que la fonctionnalité [which was changed] ajoutait le support pour la suppression de lignes, ce qui n’existait pas lorsque Facebook l’a ouvert en tant que source – c’était ça brut.
Je me suis donc engagé pour un vendredi après-midi, et le week-end, je reçois des messages instantanés effrénés d’Avinash. [Lakshman, co-author of Cassandra] sur Facebook: «Que s'est-il passé? Nous avons déployé la dernière version et tout est tombé en panne. »C’est ainsi que nous avons appris à ne pas déployer depuis le coffre, mais aussi que CI / CD est un élément important de votre chaîne de développement.
LXF: Et vous avez probablement cessé d’être aussi cavalière pour faire avancer les changements.
JE: Eh bien, presque littéralement, ils étaient les seuls à utiliser Cassandra à l’époque, et je ne savais pas qu’ils fuyaient dans le coffre. C'était probablement environ six mois environ avant même que des personnes autres que Facebook ne l'utilisent.
LXF: Twitter?
JE: Twitter aurait été, et la chronologie est floue, mais Twitter a été l’un des premiers. Digg aussi. En fait, Digg était avant Twitter, puis Twitter a embauché un groupe d’ingénieurs Digg et c’est ainsi que Twitter a commencé à l’utiliser. Ils étaient donc des utilisateurs précoces.
LXF: Quand avez-vous réalisé que vous pourriez faire tourner une entreprise rentable autour de la base de données elle-même?
JE: John Vrionis, un investisseur en capital-risque, m'a retrouvé au printemps 2009, quelques mois seulement après l'adhésion de Cassandra à l'ASF. Il recherchait des projets en début de développement dans le domaine des données volumineuses, et nous avons eu une bonne discussion sur les bases de données NoSQL en général et sur Cassandra en particulier.
En rétrospective, j'aurais aimé être moins timide, mais je lui ai dit que je pensais qu'il était trop tôt pour créer une entreprise autour de Cassandra. Ce qui m'a donné le coup de pouce supplémentaire, c’est qu’un des premiers utilisateurs de Cassandra a opté pour une technologie différente, bien pire, car la solution de remplacement disposait d’une assistance commerciale. Ainsi, environ un an après avoir parlé à John, j'ai lancé DataStax et John et Lightspeed Venture Partners ont décidé de diriger notre cycle d'investissement de la série A.
LXF: J'ai parlé à Robin Schumacher du type de relation symbiotique existant entre DataStax et la communauté open source Cassandra et des avantages d'une telle relation. Mais cette relation a également créé des problèmes, non? Avec Twitter, par exemple, en 2010?
JE: Il y aura des moments où les besoins de la communauté et des entreprises seront les mêmes, et il y aura aussi des moments où ce que la communauté voit comme ses objectifs ne sont pas alignés avec ce que l'entreprise veut réaliser. À cette époque, je me suis retiré de la direction du comité Apache Cassandra (PMC) en 2016 pour donner aux membres de la communauté plus de marge de manœuvre pour diriger ce qu'ils voulaient créer.
Cependant, nous tenons à souligner notre engagement envers la communauté. Chez DataStax, nous augmentons notre assistance pour Cassandra, continuons d’investir dans des pilotes améliorés et apportons une assistance pour que Cassandra 4.0 soit prêt pour la production au moyen de tests et de corrections de bugs. Outre le code et les pilotes que nous fournissons, nous souhaitons faciliter le démarrage de Cassandra pour le plus grand nombre de développeurs. Nous devons donc conserver notre documentation et héberger plus d’événements afin d’exposer les gens à ce que Cassandra peut réaliser et aux nouveautés de la dernière version.
Nous pensons que cette approche permet à la communauté de définir les objectifs de Cassandra, tout en aidant la communauté à atteindre ces objectifs pour davantage de personnes. Je pense que ce n’est pas la main sur le volant mais le carburant dans le réservoir: nous ne dirigeons pas la communauté où elle pense que les choses devraient aller, mais aidons la communauté à atteindre la destination souhaitée.
LXF: À cet égard, l’un des thèmes de la conférence est le réengagement de DataStax avec la communauté Cassandra. Mais qu'est-ce que cela signifie réellement en termes quantifiables?
JE: Eh bien, je dirais que l'élément le plus quantifiable est que nous avons maintenant une distribution d'Apache Cassandra, c'est pourquoi nous avons toujours apporté des corrections de bogues de DataStax Enterprise à Apache Cassandra. Mais cela a été basé sur une sorte de base "Nous ferons cela quand cela conviendra", mais nos incitations sont beaucoup plus alignées, maintenant que nous avons en fait un produit supportant l'open source, pour contribuer à ces retours de manière plus immédiate. mode. Donc, en interne, nous avons mis en place les processus nécessaires pour que cela se produise et nous nous assurons de ne pas prendre de retard dans les deux sens.
LXF: Dans votre allocution liminaire, vous avez mentionné que l’élimination des complexités lors du déploiement d’un cluster Cassandra était l’une des principales motivations des annonces de la conférence. Mais c’est plus que d’exploiter une grappe Cassandra. Quel est le prochain problème que vous souhaitez résoudre?
JE: Nous pourrions parler de Kubernetes, de l’intégration de Kafka ou de la nouvelle version de DataStax, mais le thème qui les unit ensemble est de rendre DataStax et Cassandra plus faciles à utiliser et plus faciles à développer. Lorsque je parle à nos clients, presque aucun d’entre eux ne se plaint du fait que nous ne sommes pas assez puissants, ni assez rapides, ni rien de ce genre. Nous avons parfois du mal à rendre ce pouvoir disponible, compréhensible et consommable. La prochaine frontière consiste en réalité à faciliter les choses et toutes ces choses entrent dans cette catégorie.
LXF: Vous êtes une sorte de pompier depuis toujours. Les gens disaient que vous étiez au bon endroit au bon moment, que vous aviez des clients dès le départ. Mais vous avez aussi eu des détracteurs. Je me souviens que lors des premières discussions sur Slashdot, les gens ont rapidement fait remarquer que Twitter n’utilisait pas Cassandra pour enregistrer des tweets. Et puis Facebook a fait de son mieux pour ne pas utiliser Cassandra.
JE: Il y a une sorte de politique de nerd, non? Par exemple, lorsque vous avez un architecte dans une entreprise qui veut faire les choses d’une manière ou d’une autre, il ya là un capital politique. Ce n’est pas «quelle est la bonne décision technique», il y a des egos sur la ligne. Mais je pense que le facteur le plus important avec Facebook ou Twitter est que ces deux sociétés ont construit des outils très volumineux et doivent gérer des dizaines de milliers de serveurs MySQL.
C’est donc un principe d’ingénierie solide. Facebook aime à dire: «agis vite et casse-toi». Mais si vous descendez dans le repaire de données, il y a des bandes grises croustillantes qui disent: «Non, si ça ne casse pas, ne le corrigez pas. Tiens-toi loin de ça. »L'ingénieur en moi respecte ça; Je ne cherche pas à dire à quelqu'un de prendre ce que vous avez, de le jeter et de vous appuyer sur Cassandra car il est neuf et plus brillant ou plus froid. Si je ne résous pas un problème pour vous, cela me convient: utilisez ce que vous voulez, utilisez ce qui vous convient.
Je souhaite m'adresser aux personnes pour qui la réplication MySQL est un réel problème et résoudre leurs problèmes, car je peux le faire plus facilement qu'un atelier de conseil MySQL. Si vous regardez certaines des filiales de Facebook, Instagram est un grand utilisateur de Cassandra. Je crois que c’est leur principal magasin de données sur Instagram. Netflix est un autre exemple où ils sont passés chez Oracle sur site, et ils ont déclaré: «Nous allons passer au cloud et adopter une meilleure technologie de base de données, comme nous le faisons», alors ils sont allés avec Cassandra. La tente de base de données est suffisamment grande pour que de nombreuses familles puissent y vivre.
LXF: Certains responsables du marketing de Sylla se tenaient devant le cireur et donnaient leurs peluches moelleuses après avoir demandé si des personnes qui passaient étaient ici pour la conférence de base de données. Je n’ai jamais vu cela – c’est une tente assez grande, comme vous l’avez dit. Mais ils le font depuis 2015, non?
JE: Oui, ils ont en fait lancé leur produit lors de notre Sommet Cassandra en 2015. Ils ont présenté un exposé intitulé «Comment avons-nous accéléré Cassandra?» Et nous avons répondu «Oh, ça a l'air intéressant, venez parler». Et ils ont dit: «Oh, nous avons en fait réécrit Cassandra».
LXF: Vous organisez des conférences autour de Cassandra depuis presque une décennie maintenant, depuis le Sommet Cassandra en 2010. Quel est votre public cette année?
JE: Pour citer l’ancien PDG de Microsoft, Steve Ballmer, il s’agit pour nous de «développeurs, développeurs, développeurs». La communauté qui existe autour de Cassandra est formidable et nous souhaitons sensibiliser davantage ce public.
Nous sommes ravis de soutenir ApacheCon cette année, des nouvelles fonctionnalités que nous apportons aux pilotes Cassandra et de ce qui se passera lors du lancement de Cassandra 4.0.
Nous avons lancé notre première conférence DataStax Accelerate cette année pour rassembler la communauté et évangéliser sur ce que Cassandra peut faire. Nous élargirons notre gamme d’événements pour développeurs afin que davantage de personnes puissent partager leurs expériences et en apprendre davantage.
Vous avez déjà mentionné notre base de données en tant que service. Nous sommes très heureux de voir à quel point cela est si facile de faire fonctionner Cassandra. Cassandra est sans aucun doute une excellente base de données, mais il est juste de dire que vous aviez besoin d'expérience pour en tirer le meilleur parti.
En réponse, nous avons automatisé les composants les plus difficiles dans le cadre de notre plate-forme cloud Constellation qui sera lancée cette année, et nous sommes certains que de nombreuses personnes trouveront cette ressource précieuse.
La croissance du nuage au cours des dernières années a été massive, mais les gens ne veulent pas être coincés avec un seul fournisseur. Ils veulent tirer parti de leurs investissements dans leur propre infrastructure, ainsi que des atouts du cloud, et tirer le meilleur parti des deux mondes. Cassandra est unique en son genre car elle peut s'exécuter sur plusieurs services cloud, ou sur des services informatiques internes et externes, en une seule base de données transparente.
Au fur et à mesure que de plus en plus de personnes pensent au cloud et à la manière de le faire fonctionner, Cassandra jouera un rôle important dans la gestion de ces services à grande échelle.
LXF: Pensez-vous que ce sera chaque année?
JE: Je pense que oui. Je pense que la communauté a besoin de l’événement et que DataStax a besoin de l’événement. L’alignement est donc parfait pour que cela se produise chaque année.
LXF: Vous avez résolu vos problèmes avec la communauté?
JE: Ah, je veux dire que les problèmes n'ont jamais vraiment existé entre le PMC (Comité de gestion du projet) et DataStax, c'était plutôt le conseil d'administration d'Apache. La version courte est que nous sommes en bons termes avec le PCM et nous en resterons là.
LXF: Vous êtes comme le Linus Torvalds des bases de données.
JE: Je prends ça comme un compliment…
Cette interview a été publiée pour la première fois dans Format Linux numéro 256