Categories
Informatique

Riviera Scala Clojure

Suite à l’intérêt suscité par les 2 présentations sur Scala et Akka de Fredrik Ekholdt de Typesafe pendant le Riviera Dev 2011 en novembre 2011,  des passionnés de la programmation fonctionnelle, et particulièrement de Scala et Clojure, ont créé le user group “Riviera Scala Clojure“. Le groupe a été créé sous l’impulsion d’Anwar Rizal, Nicolas Bousquet et Tobo Atchou.

Etant intéressé par ces technologies aussi, j’ai pu assister à deux des meetings de ce groupe. Le côté particulier des meetings est qu’ils se déroulent dans un pub à Sophia Antipolis. Oui, on utilise le grand écran, normalement pour visionner les matches de foot et de rugby, pour les slides des présentations techniques, sur un fond de musique rock, avec une pinte de bière à la main et au beau milieu du pub. En d’autres termes, c’est une ambiance pas courante pour ce genre de meetings, mais qui est conviviale, et la bière possède parfois des vertus étonnantes à la bonne compréhension du contenu 🙂 A consommer toutefois avec modération.

Le premier meeting auquel j’ai pu assister était le 21 février, il y a exactement un mois. Il ya eu deux présentations cette soirée-là. La première était par Tobo Atchou sur la programmation d’Acteurs avec Scala & Akka. Tobo nous a proposé une courte introduction à la notion d’acteur et nous a montré en quoi c’est un élément fondamental pour concevoir des systèmes concurrent, robustes, scalables, et crash tolerant. Il nous a fait aussi une description plus détaillée des Acteurs de l’API Scala, mais aussi ceux plus avancés proposés par la librairie Akka 2.0.

Tobo Atchou - Scala & Akka 2.0 Actors
Tobo Atchou - Scala & Akka 2.0 Actors

Le deuxième topic ce jour là était mené par Stéphane Landelle accompagné par un collègue, venu de Paris, de la société Excilys, et nous a présenté le tout nouvel outil Gatling, développé avec Scala et Akka. C’est un outil de test de charge pour les applications Web, plus simple et moins onéreux que Load Runner, et plus fiable et performant que JMeter. Les présentateurs ne manquaient pas d’humour avec un slide sur Free Mobile, qui a été inaccessible le premier jour de sa sortie, ils n’avaient probablement  pas testé leur site avec Gatling avant la sortie 🙂

Stéphane Landelle - Gatling
Stéphane Landelle - Gatling

Le deuxième meeting était hier, le 2 mars. Le groupe a gardé la formule de deux présentations. La première était faite par Pascal Cohen sur un projet experimental Scala-ish et Lift-ish, basé sur des techonologies comme une base de données graph NoSQL Neo4J, Scala, Lift pour l’application Web, et SBT pour builder. Le projet était original vu qu’il utilisait des outils et technologies peu courants mais intéressants.

Pascal Cohen - Neo4J, Scala, Lift & SBT
Pascal Cohen - Neo4J, Scala, Lift & SBT

La deuxième présentation était faite par Paul de Schacht, de la société Amadeus, sur Storm un “distributed realtime computation system”. La dernière décennie a vu une révolution dans le traitement des données. MapReduce, Hadoop, et les technologies semblables ont permis de stocker et de traiter des données à des échelles jusque-là impensables. Malheureusement, ces technologies ne sont pas de véritables systèmes temps-réels de traitement des données, ils ne sont pas conçues pour cela. Il n’y a pas de hack qui puisse transformer un système Hadoop orienté batch en temps-réel, le traitement des données en temps réel a des exigences fondamentalement différentes. Toutefois, le traitement à grande échelle des données en temps-réel est de plus en plus une obligation pour les entreprises. L’absence d’un «Hadoop temps-réel» est devenu le plus grand trou dans l’écosystème de traitement des données. Storm comble ce manque.

Paul de Schacht - Storm
Paul de Schacht - Storm