Cloud Foundry + Cassandra = IH Cassandra Service Broker

cf+cassandra

IH Cassandra Service Broker est un service broker open-source développé par Ippon permettant d’intégrer Cassandra en tant que service Cloud Foundry en introduisant la notion de KaaS : Keyspace as a Service. Il est mis à disposition de la communauté via un dépôt GitHub dédié :

https://github.com/ippontech/ih-cassandra-service-broker

L’accès à un cluster Cassandra est bien entendu la condition sine qua non à l’utilisation de ce service broker. Le schéma suivant permet de mieux situer les différents acteurs. IH Cassandra Service Broker ne couvre que le bloc rouge, les 2 autres étant des prérequis à son utilisation.

ih-cassandra-service-broker-architecture

Un service broker est un service web permettant aux applications hébergées d’interagir avec un 
service dans le cadre d’une offre. Il n’est pas en charge de l’accès à ce service mais a pour 
responsabilité d’associer sur demande une application à une offre….
Source : http://blog.ippon.fr/2014/09/24/les-services-sous-cloud-foundry-partie-1-kesako/

Sous le capot

IH Cassandra Service Broker s’appuie sur les fonctionnalités d’identification et d’autorisation proposées par Cassandra. Cependant, ces fonctionnalités sont désactivées par défaut et il est donc nécessaire de les activer avant utilisation. Cela s’effectue via le fichier cassandra.yaml et les options de configuration suivantes :

#authenticator: AllowAllAuthenticator
authenticator: PasswordAuthenticator

#authorizer: AllowAllAuthorizer
authorizer: CassandraAuthorizer

Je vous conseille toutefois de consulter la documentation en ligne sur l’identification et l’autorisation avant de vous lancer.

Une fois ces fonctionnalités actives, le service broker requiert l’accès à un compte utilisateur disposant de droits élevés. Il doit ainsi être capable de créer et de supprimer keyspaces et utilisateurs et d’affecter et de révoquer des permissions.

Pour sa mécanique interne, IH Cassandra Service Broker utilise un keyspace dédié, cf_cassandra_service_broker_persistence, qui contiendra le nécessaire à l’implémentation d’un service broker. Ainsi il contient

  • la liste des keyspaces gérés par le broker,
  • les utilisateurs managés,
  • et les permissions associées.

Oui mais

IH Cassandra Service Broker hérite des limitations de Cassandra lorsqu’on active les mécanismes d’identification et d’authentification. Ainsi :

  • tous utilisateurs peuvent voir la liste des keyspaces;
  • les schémas des keyspaces sont visibles par tout le monde;
  • les données ne sont cependant visibles que par les utilisateurs accrédités.

On commence quand?

Vous pouvez d’ores et déjà récupérer les sources du broker sur GitHub et l’utiliser comme bon vous semble sur votre propre instance Cloud Foundry. Il suffit pour cela de suivre les indications contenues dans le README.

Pour un déploiement plus assisté, IH Cassandra Service Broker servira de support au 3ème article sur les services sous Cloud Foundry.

Si vous ne pouvez pas attendre, il vous est possible d’utiliser gracieusement l’instance de Cloud Foundry mise à disposition par Ippon Hosting :

https://console.cf.ippon.io

IH Cassandra Service Broker y est déployé et exploite un cluster Cassandra dédié aux développeurs.

Tweet about this on TwitterShare on FacebookGoogle+Share on LinkedIn
Blabla

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


*