- Place de l'IT - https://placedelit.com -

DataStax: les prédictions de Cassandra entendues à l’ère du Cloud

DataStax

Création mars 2010
Siège Santa Clara (Californie)
Fondateurs Jonathan Ellis (CTO) et Matt Pfeil
Dirigeant Billy Bosworth (CEO, mai 2011)
Effectif 700+ personnes
Financement global 190 millions de dollars
Dernier financement 106 millions (sept 2014)

Dans la mythologie grecque, Cassandre, fille de Priam (roi de Troie) et de Hécube, reçoit d’Apollon le don de prédire l’avenir. Se refusant à lui, Apollon décide que les prédictions de Cassandre ne seront jamais crues des humains. Et si les entreprises se mettaient à croire enfin à leurs données ?
Alors qu’une entrée en Bourse semblerait se mettre en place pour cette année, l’éditeur américain DataStax affiche une excellente santé (130 millions de dollars de chiffre d’affaires avec un rythme de 30% de croissance par an) et serait valorisé à plus d’un milliard de dollars. Comment la start-up créée en mars 2010, qui a développé une base de données cloud hybride reposant sur Apache Cassandra, est devenue une licorne ? Retour sur l’histoire d’un éditeur software à succès made in California.

Née dans le berceau d’un géant du Web

Pour répondre à leurs besoins hors normes (“webscale” – à l’échelle du Web – selon l’expression désormais consacrée), les géants d’Internet ont très vite constaté que les solutions logicielles disponibles sur le marché s’avéraient inefficaces. Ils ont donc dû développer eux-mêmes ces logiciels, en s’appuyant généralement sur des communautés open source (et souvent en les initiant).
En 2007, Avinash Lakshman et Prashant Malik, ingénieurs chez Facebook, conçoivent Cassandra: une base de données NoSQL (“Not only SQL”, basée sur un système clé/valeur) orientée colonnes pour adresser d’énormes volumes de données avec de meilleures performances.
Ecrite en langage Java, la solution repose sur une architecture distribuée (en clusters) et avec une évolutivité linéaire (l’ajout de serveurs augmente les capacités en préservant les performances). En juillet 2008, Cassandra devient le projet open source Google Code et poursuit son parcours open source au sein de la Fondation Apache à partir de janvier 2009.

Jonathan Ellis et Matt Pfeil, cofondateurs de DataStax
Jonathan Ellis et Matt Pfeil, cofondateurs de DataStax

C’est l’histoire de deux gars…

A cette période, Jonathan Ellis dirige l’équipe Cassandra chez Rackspace (fournisseur de solutions d’hébergement et de services cloud). Très actif sur le projet open source, le manager en devient responsable. A l’époque, de nombreuses grandes entreprises exprimant le souhait de disposer d’un support spécialisé pour Cassandra, Jonathan Ellis s’associe avec Matt Pfeil (également employé par Rackspace) pour créer l’ossature de la société qui deviendra DataStax en mars 2010.
L’entreprise lève très rapidement (et chaque année) des fonds auprès d’investisseurs multiples: 2,7 millions de dollars en octobre 2010 (Sequoia Capital, Lightspeed Venture Partners et Jason Calacanis), 11 millions en septembre 2011 (Lightspeed, Crosslink et Bain), 25 millions en octobre 2012 (Lightspeed, Crosslink, Meritech et Bain), 45 millions en juillet 2013 (les mêmes plus DFJ Growth et Next World Capital), et enfin 106 millions en septembre 2014 (dont KPCB, ClearBridge Investments, Cross Creek Advisors, Wasatch Funds, Premji Invest et Comcast Ventures). Au total: 190 millions de dollars!

Billy Bosworth, CEO de DataStax, depuis mai 2011
Billy Bosworth, CEO de DataStax, depuis mai 2011

Aujourd’hui, la société logicielle, dirigée par Billy Bosworth depuis mai 2011, est présente dans une cinquantaine de pays (son installation en France remonte à 2014).
Elle revendique plus de 400 clients, dont Netflix, Adobe, Intuit, eBay, Microsoft, Sony, Walmart et McDonald’s.
Le modèle économique est assez classique: vente de licence via souscription annuelle (licence+support), services pour les installations délicates, et formation.
Un écosystème de partenaires a été développé pour accompagner les entreprises dans la définition de leur projet et le déploiement, avec des spécialistes comme Gems ou Keyrus, mais aussi des grandes entreprises de services numériques (ESN) comme Accenture ou Deloitte pour les architectures plus importantes ou les gros projets.

Xavier Guérin, vice-président EMEA Sud chez DataStax
Xavier Guérin, vice-président EMEA Sud chez DataStax

Offre Entreprise et “distribution” DataStax

«Dès sa création, et encore aujourd’hui, DataStax apporte une forte contribution au projet open source Cassandra, au développement du code à la stabilisation du produit afin que tout le monde puisse en bénéficier,» explique Xavier Guérin, vice-président EMEA Sud chez DataStax. «Nous proposons DataStax Enterprise reposant sur une implémentation de Cassandra avec une forte amélioration des performances, et l’intégration entre autres de Solr pour le search, de spark pour l’analytique et de la base de données distribuée Titan pour le graph.» En fait, le produit DataStax Enterprise Graph (ou DSE Graph) bénéficie pleinement de la technologie Titan d’Aurelius, du nom d’un éditeur racheté en février 2015.
«De très nombreux utilisateurs de Cassandra open source désiraient passer leurs applications en production, mais souhaitaient avant cela bénéficier d’un support professionnel,» rapporte Xavier Guérin.
En décembre 2018, l’éditeur a donc lancé une offre “d’entrée de gamme”: DataStax Distribution of Apache Cassandra (ou DDAC). Une distribution (évidemment 100% conforme à la version open source) certifiée pour fonctionner en environnement de production (tests et assurance qualité). En outre, la souscription annuelle apporte le support par des spécialistes (24/7 ou 8 heures sur 5 jours) à un prix étudié et inclut les outils de chargement et de migration de données DataStax, ou encore le connecteur avec Spark. En revanche, pas de modules Search, analytique ou graph, ni OpsCenter (pour superviser et automatiser les clusters), Studio (développeurs) ou la sécurité avancée (chiffrement, audit, authentification…).

Attention: le sens des mots dans l'univers Cassandra pourrait induire en erreur
Attention: le sens des mots dans l’univers Cassandra pourrait induire en erreur

DataStax rebat les Cards avec son offre Enterprise

«Les ingénieurs de Facebook ont imaginé une architecture Masterless [NDLR: par opposition à maître-esclave] pour anticiper les problèmes d’évolutivité de Cassandra. Un aspect qui permet la distribution/répartition sur plusieurs sites, et donc en environnement hybride,» précise Cédrick Lunven, Advocate Developer chez DataStax. «Chez DataStax, nous mettons en avant une base de données de l’immédiateté, dont nous exprimons les avantages par le leitmotiv de CARDS: Contextuelle (capable d’apporter tout contexte à la donnée), Always on (certains de nos clients n’ont pas éteint ou relancé leur application depuis plus de 6 ans), Real Time, Distributed (master less) et Scalable (avec une évolutivité linéaire).»

Attention, le sens des mots dans l'univers Cassandra pourrait induire en erreur
Attention, le sens des mots dans l’univers Cassandra pourrait induire en erreur

Cassandra peut sans problème être déployée sur le cloud. Elle a même été conçue dans ce but. «Elle s’avère particulièrement intéressante dans un environnement multicloud et/ou hybride assure Cédrick Lunven. «Un cluster peut être composé de plusieurs nœuds dans le cloud, éventuellement dans divers clouds et même sur site. La réplication entre nœuds se fait en mode asynchrone lorsque le système détecte la disponibilité des ressources. Et un algorithme assure la consistance globale: l’application s’adresse à un seul nœud (slice), et le selon le procédé du consensus (transaction distribuée) le système prend en charge les lectures/écritures. En cas de problème, l’écriture n’est pas effectuée ou reportée», précise notre interlocuteur. «Pour assurer le masterless, les nœuds communiquent entre eux en continu par le protocole Gossip (gossiping). Une requête sur un seul nœud s’avère très rapide, car chaque table est découpée: clé primaire + hachage sur nœuds + réplication pour la consistance», poursuit Cédrick Lunven.

Cédrick Lunven, Advocate Developer chez DataStax
Cédrick Lunven, Advocate Developer chez DataStax

Comprendre la logique d’inclusion

Pour comprendre complètement l’exemple précité, il convient de porter une attention particulière au vocabulaire, au référentiel linguistique.
En effet, dans Cassandra, un cluster regroupe des anneaux (rings, ce que l’on a coutume d’appeler des clusters) qui eux-mêmes rassemblent des nœuds…
L’ordre d’inclusion est donc bien cluster-anneau-nœud et le protocole utilisé par Cassandra transmet à l’application toute la topologie du cluster.
En outre, ces nœuds peuvent être virtualisés (voir schéma). La communication entre anneaux est également réalisée en Gossiping.

Les développeurs aussi apprécient

Côté développeurs, DataStax rencontre un certain succès et propose d’ailleurs un Studio évolué à cet effet. Il devient aisé de concevoir des applications distribuées avec un référentiel disponible partout dans le monde (en accès sécurisé). «Concernant les performances, l’évolutivité linéaire est un atout fantastique,» souligne Cédrick Lunven. «Pour obtenir plus de puissance ou plus de capacité (plusieurs dizaines de To avec réponse rapide en temps réel), il suffit d’ajouter des nœuds. Très utile pour des applications IOT par exemple.» Selon l’éditeur, la solution peut assurer 3000 lectures/écritures par seconde et par cœur, toujours avec une évolutivité linéaire.
Le succès d’une solution d’entreprise dépend aussi de la possibilité de disposer des compétences pour l’utiliser. «On commence à trouver de plus en plus de profils adaptés en France, et nous effectuons régulièrement des transferts de compétences chez nos clients,» rapporte Xavier Guérin. «Par ailleurs, nous rencontrons de plus en plus de consultants indépendants. Enfin, nous organisons régulièrement des événements gratuits de formation et d’information type MeetUp et Developer Day.»
Quant aux équipes informatiques déjà en place, l’effort à consentir pour utiliser Cassandra est «relativement simple pour un ingénieur de la donnée déjà conscient des problématiques de latence et autres. Il faut surtout éviter de se référer une approche relationnelle classique, et penser vraiment autrement. Il s’agit plutôt de dénormaliser et de dupliquer pour accélérer…Une autre façon de penser,» commente Cédrick Lunven.
Sur academy.DataStax.com des dizaines d’heures de formation gratuites complètes sur Cassandra sont disponibles. Qui est tenté?