Compte-rendu des soirées RESthub et Gridgain

Pour terminer avec le Jugathlon du mois d’octobre voici le compte-rendu des deux dernières sessions.

Soirée RESThub

L'équipe RESThub

L'équipe RESThub


RESThub est un framework développé par Sébastien Deleuze et Baptiste Meurant afin d créer un outil de haut niveau permettant d’intégrer les technologies Java et Web actuelles dans une pile complète de développement. On lutte ainsi contre le fameux syndrome du « Not Invented Here » en reprenant des standards de fait ou définis pour développer en java presque aussi vite et avec autant de plaisir qu’en Rails.
Pour info, RESThub sera présenté à Devoxx !!

En cela RESThub est dans la philosophie de Play! Framework mais il reste sur les standards du monde Java (Maven / Jersey / JPA pour n’en citer que quelques uns). Bref en citant Baptiste : « RESThub est un framework pour les rassembler tous et dans la JVM les lier » 😉

RESThub est une application en couche où chacune des couches peut-être reprise individuellement ou remplacée . Ainsi la couche de persistance est un mixte entre Hades pour ses DAO génériques et Hibernate. La couche service est exposée via Jersey et Jackson pour la sérialisation json (on reste là dans les standards). Enfin pour la vue, on intègre le standard de fait JQuery ainsi que toute une série de frameworks Javascript (jQuery 1.4 + jQuery ui 1.8 + Yahoo Javascript compressor + EJS + Sammy (route & session manager)).

Voici les slides de la présentation :

Soirée Gridgain

Nikita coding

Nikita coding

Nikita Ivanov nous a fait l’honneur de passer par Grenoble durant son transit entre Rome et Paris. Gridgain est un middleware libre (sous license GPL) pour construire des applications distribuées sur des grilles de calcul. Il devient aisé de développer une application de type Map-Reduce en quelques lignes. Comme par magie, les différents nœuds de calcul de Gridgain se découvrent sur le réseau et, tel un réseau pair-à-pair, communiquent entre eux sans que l’un ait une place privilégiée. Là encore, presque comme par magie un bout de code déployé sur l’un des nœuds est automatiquement répliqué et exécuté sur les autres. Ainsi tout au long des démonstrations on jongle sur les différents nœuds pour voir où est exécuté quelle tâche.
A cette présentation de ce magnifique moteur de grid computing, a suivi une introduction à Scala. En effet Gridgain propose une API Java mais aussi Scala, fournissant ainsi un véritable DSL pour construire des applications distribuées. Ainsi la variable grid correspond à l’ensemble des noeuds (mais d’autres topologies sont possibles) et l’opérateur !!! à la fonction de broadcast, donc
def greet(msg: String) = grid !!! (() => println(msg))

permet de faire exécuter le fameux Hello World sur l’ensemble des nœuds du réseau.
La démonstration se poursuit et en quelques minutes nous voici avec une application Map-Reduce.
Nikita nous parle ensuite des clients qui utilisent Grigain en production : on y retrouve bien sûr les banques pour les calculs de cotation mais aussi les fournisseurs de jeux en ligne (notamment Sony) car aujourd’hui c’est coté serveur que se retrouvent les plus grosses équipes de développement de jeux.

Vous aimerez aussi...

1 réponse

  1. Bruno dit :

    La demo de GridGain a vraiment été un de ces Wow moment. Quand on voit la facilité avec laquelle le code est écrit, déployé, exécuté en parallèle, on comprend pourquoi Nikita parcours le monde pour faire des démo.

    Un peu d’histoire: il y a 5 ans Nikita constate que les applications existantes pour l’informatique distribuée traînent un lourd passif. Le poids de leurs dette technique est suffisant pour justifier une renaissance from scratch: Le projet GridGain.

    GridGain s’appuie sur trois piliers de l’informatique distribuée:
    – Compute Grid : « Calcul distribué » ou « calcul parallèle ». Le concept existe depuis longtemps. Malheureusement certaines implémentations aussi (MapReduce)
    – Data Grid : C’est le Distributed Cache: on partitionne les données pour tout avoir en mémoire sur plusieurs machines. C’est un peu plus récent. (Coherence, GigaSpaces …)
    – Zero deployment et Auto-Scaling. Là c’est plus récent (et plus spécifique à GridGain). Ca permet d’exploiter la virtualisation et le « Cloud ».

    C’est la combinaison de ces 3 concepts qui fait de GridGain un produit unique pour implémenter des applications distribuées et « cloud » compatible.

    Quelques remarques relevées dans le discours:
    – La technologie rappelle un peu OSGi, mais sans la complexité inhérente aux hacks réalisés avec les classloaders ! De plus GridGain est au niveau de la class et automatise le versionning. Donc pas de soucis de packaging et de longues déclarations de dépendances.
    – La virtualisation tend vers une granularité très fine. Si au début on pouvait ajouter des processeurs, on peut aujourd’hui ajouter des coeurs. L’enjeux est de pouvoir en tirer partis automatiquement.
    – La virtualisation est bien pratique, mais créer et configurer des images est toujours un processus lourd. Avec GridGain, le code est automatiquement déployé sur les noeuds sans qu’il soit besoin de modifier l’image du server.
    – Bien que humble, ses opinions sont très tranchées et appuyées d’anecdotes amusantes. Après avoir discuté avec lui, on n’investirai pas un kopec sur l’avenir de Ruby, Groovy, MapReduce, OSGi …

    Enfin, Nikita souligne que GridGain est un produit né de la technologie et non d’une opération financière.

    Du coup j’espère tomber sur un projet d’informatique distribué !!

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.