Introduction à Cassandra
Base de données NoSQL, développée en Java, Open Source
(fondation Apache)
Pas de « single point of failure »
Très performante, en particulier en écriture
Peut stocker et traiter de très gros volumes de données
efficacement, de manière distribuée
Utilisée de manière intensive chez Ippon Technologies
Premier projet en 2011
Aujourd’hui plus d’une dizaine de clients
Le problème avec Cassandra
Un cluster Cassandra ne peut pas être partagé entre plusieurs
clients
Problèmes de sécurité: on voit les keyspaces et les schemas des
autres (mais pas leurs données)
Problèmes de performance: impossible de limiter les performances
d’un client, ou de cloisonner les instances
Cela pourrait changer dans le futur…
Pour ces raisons, difficile de trouver un « Cassandra as a
Service »
https://www.instaclustr.com -> propose uniquement des noeuds
dédiés
Cassandra Service Broker par Ippon
Ippon Technologies possède sa propre instance interne de
Cloud Foundry
Ippon Technologies possède plusieurs cluster Cassandra en
interne
Nous avons voulu automatiser le provisionning de
keyspaces Cassandra
Cassandra Service Broker par Ippon
Open Source
https://github.com/ippontech/ih-cassandra-service-broker
Fonctionnalités
Permet de gérer entièrement le provisionning d’un keyspace sur notre
cluster
Utilise les rôles de sécurité dans Cassandra: un utilisateur a
uniquement accès aux données de son keyspace
Le cluster est donc partagé entre tout le monde
Permet de partager les coûts entre tous les projets
Avec les deux limites que nous avons vues:
Sécurité: pas de problème en interne si on voit les keyspaces/schemas des autres
Performance: pas de problème en interne, nous maîtrisons les projets et les requêtes
Surtout intéressant en développement et en test, ou pour des « petits »
projets en production
Résultats
Dans notre instance de Cloud Foundry, nous avons accès à
un service Cassandra
Utilisable également via la Marketplace, et donc scriptable en
ligne de commande
A la création d’un projet, un keyspace nous est
automatiquement affecté
Et il est détruit automatiquement à la fin du projet
Cela nous permet de facilement lancer des projets sur
Cassandra, sans avoir à configurer de cluster spécifique

Introduction à Cassandra

  • 1.
    Introduction à Cassandra Basede données NoSQL, développée en Java, Open Source (fondation Apache) Pas de « single point of failure » Très performante, en particulier en écriture Peut stocker et traiter de très gros volumes de données efficacement, de manière distribuée Utilisée de manière intensive chez Ippon Technologies Premier projet en 2011 Aujourd’hui plus d’une dizaine de clients
  • 2.
    Le problème avecCassandra Un cluster Cassandra ne peut pas être partagé entre plusieurs clients Problèmes de sécurité: on voit les keyspaces et les schemas des autres (mais pas leurs données) Problèmes de performance: impossible de limiter les performances d’un client, ou de cloisonner les instances Cela pourrait changer dans le futur… Pour ces raisons, difficile de trouver un « Cassandra as a Service » https://www.instaclustr.com -> propose uniquement des noeuds dédiés
  • 3.
    Cassandra Service Brokerpar Ippon Ippon Technologies possède sa propre instance interne de Cloud Foundry Ippon Technologies possède plusieurs cluster Cassandra en interne Nous avons voulu automatiser le provisionning de keyspaces Cassandra Cassandra Service Broker par Ippon Open Source https://github.com/ippontech/ih-cassandra-service-broker
  • 4.
    Fonctionnalités Permet de gérerentièrement le provisionning d’un keyspace sur notre cluster Utilise les rôles de sécurité dans Cassandra: un utilisateur a uniquement accès aux données de son keyspace Le cluster est donc partagé entre tout le monde Permet de partager les coûts entre tous les projets Avec les deux limites que nous avons vues: Sécurité: pas de problème en interne si on voit les keyspaces/schemas des autres Performance: pas de problème en interne, nous maîtrisons les projets et les requêtes Surtout intéressant en développement et en test, ou pour des « petits » projets en production
  • 5.
    Résultats Dans notre instancede Cloud Foundry, nous avons accès à un service Cassandra Utilisable également via la Marketplace, et donc scriptable en ligne de commande A la création d’un projet, un keyspace nous est automatiquement affecté Et il est détruit automatiquement à la fin du projet Cela nous permet de facilement lancer des projets sur Cassandra, sans avoir à configurer de cluster spécifique