Cassandra, la base NoSQL star de Facebook, prend le chemin du cloud

Cassandra, la base NoSQL star de Facebook, prend le chemin du cloud L'infrastructure se caractérise par ses performances sur de très fortes volumétries. Elle est promue par l'Américain DataStax qui en propose depuis peu une déclinaison dans le nuage.

Initialement développé par Facebook, qui l'a publié en open source en 2008, Apache Cassandra a depuis été adopté par Apple, eBay, Netflix ou Spotify. Ce serveur NoSQL se caractérise par une structure orientée colonnes taillée pour encaisser de forts niveaux de trafic tout en gérant l'accès à des volumétries de contenu massives. Au classement du DB-Engine des bases les plus populaires, Cassandra pointe en huitième position. Dans la catégorie NoSQL, le SGBD prend même la deuxième place du palmarès juste derrière MongoDB. Orienté document à la différence de Cassandra, ce dernier répond à des besoins plus génériques, ce qui le rend plus frontalement concurrent des bases SQL (lire l'article Les secrets de MongoDB).

Fondé en 2010 par deux anciens de Rackspace (Jonathan Ellis et Matt Pfeil), DataStax édite la principale distribution commerciale de Cassandra. Comptant 480 salariés, la société californienne dispose d'un bureau à Paris depuis 2016. Fort de 196 millions de dollars de fonds levés depuis sa création, elle revendique un chiffre d'affaires annuel récurrent de plus de 100 millions de dollars. "En termes de business modèle, nous sommes calés sur un niveau de progression de chiffre d'affaires de plus de 40% par an, ce qui nous classe dans la catégorie des profils d'entreprise à hyper croissance", précise son CEO Billy Bosworth.

Dotée d'une architecture distribuée, la base NoSQL offre des capacités de dimensionnement horizontal. Elle permet d'augmenter le nombre de serveurs machines sur lesquels elle repose de manière linéaire sans avoir à modifier la couche applicative. Un levier qui se révèle pratique pour gérer les fortes augmentations de trafic. Au sein d'un cluster Cassandra, l'orchestration du stockage est par ailleurs gérée de manière décentralisée (via un protocole en peer-to-peer). Il n'y a pas de serveur maître chargé du pilotage. Dans la mesure où les données peuvent être répliquées sur plusieurs serveurs, on aboutit à une architecture sans point individuel de défaillance. Si un serveur tombe, un autre pourra prendre le relai.

"Cassandra associe le meilleur de Google Big Table (à savoir son modèle de données orienté colonnes et son mécanisme de persistance) et d'Amazon DynamoDB (avec son architecture distribuée où tous les nœuds sont équivalents)", résume Abdelmajid Lali, architecte Java EE au sein de l'ESN française Soat. Rudi Bruchez, consultant indépendant, pondère : "Il est vrai que Cassandra peut gérer de très gros volumes en privilégiant les performances notamment en lecture. Cette technologie nécessite toutefois un réel travail de normalisation." Selon lui, la base de données convient particulièrement aux jeunes pousses. "Les start-up n'ont pas de visibilité sur le succès que rencontrera ou non leur application et donc sur l'évolution de taille de leur serveur de données."

DataStax Enterprise utilisé par EDF et M6

Qu'en est-il de la distribution de Cassandra commercialisée par DataStax ? Baptisée DataStax Enterprise, elle vient compléter le SGBD de fonctions de sécurité, d'administration et de monitoring visant à répondre aux enjeux des systèmes critiques d'entreprise. L'offre de l'éditeur californien introduit en outre des possibilités additionnelles en matière d'analytics (via le portage de l'infrastructure Apache Spark), de recherche (avec l'implémentation d'Apache Solr) ou encore de modélisation de données en graph.

DataStax revendique plus de 500 entreprises clientes réparties dans les grands secteurs d'activité (télécoms, retail, industrie...). "En France, trois des cinq principaux établissements financiers de la place ont déployé nos solutions. Ils ont notamment recours à notre technologie pour mettre en œuvre des applications bancaires sur mobile donnant accès à des informations issues de leurs systèmes historiques", précise Billy Bosworth. Parmi les références de DataStax dans l'Hexagone figure notamment M6. Le groupe média a recours à DataStax Enterprise pour stocker les préférences des utilisateurs de sa plateforme de télévision en ligne 6play. Autre client français, EDF (via sa filiale Edelia) a opté pour le serveur pour bâtir ses nouvelles offres de pilotage à distance de consommations d'énergie (compteur connecté Linky et service e.quilibre).

DataStax propulse Cassandra dans le cloud

Customer experience, recommandation de produits, vue client à 365°... DataStax Enterprise est utilisé dans de nombreux domaines touchant de près ou de loin aux applications de gestion de la relation client. "Mais nous équipons aussi des systèmes internes, souvent sur des périmètres de déploiement multi-sites et/ou multi-pays, par exemple dans la gestion d'inventaire, la gestion de la chaîne logistique, la gestion d'actifs, ou encore la sécurité et la mise en conformité", égraine Billy Bosworth.

En vue de répondre aux besoins croissants des entreprises en matière de cloud public, DataStax a récemment fait évoluer son positionnement. Depuis mai dernier, la société de Santa Clara propose DataStax Enterprise sous la forme d'un service managé sur le cloud d'Amazon. Baptisée DataStax Managed Cloud, cette offre donne en parallèle accès à diverses prestations à la carte (conseil en architecture, mise à jour corrective, gestion des problèmes, sauvegarde/restauration...). Côté pilotage, elle est livrée avec une console web de supervision pour suivre la performance des clusters DataStax en production sur les instances AWS et orchestrer les demandes de support.

Dans la même logique, DataStax a annoncé début octobre la disponibilité de DataStax Enterprise sur le cloud d'Oracle (Oracle Data Cloud).

Pour la suite, l'éditeur compte également porter DataStax Managed Cloud sur les clouds de Microsoft et Google. "A terme, notre objectif est de proposer une infrastructure de management de données, reposant sur l'architecture géo-distribuée de Cassandra, capable de s'adapter à toutes les configurations : cloud hybride, multicloud public, multicloud managé", résume Billy Bosworth.