Sophia Conf 2014 – Big Data & NoSQL

Il y a cinq ans j’assistais à la 1ère Sophia Conf 2010, cette fois c’est la 5ème itération de la conférence qui a eu lieu sur 4 jours du 30 juin au 3 juillet 2014. J’ai participé cette fois à la journée consacrée au Big Data et NoSQL. Pas moins de 7 intervenants ont présenté leur retour d’expérience  sur ces technologies.

Sophia Conf 2014 – Big Data & NoSQL

Les 4 interventions qui m’ont marqué le plus étaient tout d’abord celle sur MapR par Aurélien Goujet. En effet, MapR est une distribution pour Hadoop qui embarque de nombreuses optimisations et drivers extrêmement performants qui ont nécessité 2 ans de développement. MapR a fait le choix de développer par exemple des drivers IO écrits en C pour augmenter drastiquement les performances des process MapReduce. Les benchmarks qui comparent MapR aux autres distributions comme Cloudera CDH ou Hortnworks HDP parlent d’elles-mêmes.

Sophia Conf 2014 – MapR (Aurélien Goujet)
Sophia Conf 2014 – MapR benchmarks

Ensuite, j’ai apprécié la présentation sur le Big Data avec Google Cloud Platform par Didier Girard de la société SFEIR. Didier nous a présenté comment l’utilisation de briques très performantes du Google Cloud Platform peuvent être utilisées ensemble pour créer des application Big Data facilement. Une des applications présentées illustre une utilisation pratique de Compute Engine, BigQuery et App Engine.

Sophia Conf 2014 – Google Cloud Platform (Didier Girard)

Ensuite Julien Maréchal nous a présenté un retour d’expérience sur l’implémentation et l’utilisation de Hadoop chez Air France. La partie intéressante pour moi était comment l’infrastructure Hadoop a pu être intégrée dans le système existant de Air France. Un des objectifs d’avoir installé Hadoop à Air France est la mise a disposition pour l’entreprise d’une structure pour le calcul parallèle.

Enfin Jeremy Meyer a présenté l’utilisation de NoSQL chez Amadeus. La présentation a commencé avec une partie “histoire” du NoSQL chez Amadeus, mais ayant déjà personnellement travaillé chez Amadeus dans 5 équipes et 2 départements différents, je connaissais déjà bien cette partie. Ensuite, Jeremy nous a présenté le choix des solutions actuelles, et pourquoi il a été orienté sur les solutions Couchbase, Memcached et MongoDB. Il n’a pas manqué aussi de nous expliquer comment ces solutions ont été intégrées dans l’architecture informatique Amadeus car certaines parties ont dû être développées pour lier les éléments entre eux, et comment ils ont travaillé en étroite collaboration avec les équipes de Couchbase pour rendre le driver IO de Couchbase multi-threaded.

Voila au final la journée était une réussite, la majorité des sujets étaient bien présentés d’une façon claire et agréable à suivre. On se rend compte comment le Big Data prend chaque année une place de plus en plus importante dans les structures et comment la variété des solutions montrent une maturation grandissante du domaine.

Apache Cassandra et Stratosphere (Apache Flink)

Le user group Riviera Scala Clojure a encore une fois organisé une soirée exceptionnelle sur deux outils utilisés dans le Big Data: Apache Cassandra et Stratosphere (Apache Flink). Cette soirée était un succès pour plusieurs points. Tout d’abord Amadeus a mis à diposition l’amphithéâtre Mistral pour que le plus grand nombre à Sophia-Antipolis puisse suivre les conférences dans des conditions confortables. Ensuite les intervenants étaient de qualité, trois personnes de la société DataStax se sont déplacées pour présenter Cassandra et leur solution pour entreprises, plusieurs personnes de la société Orange étaient là pour présenter un retour d’expérience sur l’implémentation de Cassandra, et un core-developer de Apache Flink a fait le déplacement depuis Berlin. Enfin le plus important est que les sujets sont intéressants et d’actualité, surtout pour Apache Flink, une amélioration potentielle à Hadoop et Spark !

Riviera Scala Clojure – presentation by Anwar Rizal

Dans une première partie, Cassandra a été présentée par Victor Coustenoble de la société DataStax qui s’est implantée récemment en France (merci pour les T-Shirts et goodies !), ensuite Jean Armel Luce de la société Orange nous a présenté l’utilisation de Cassandra au sein de leur entreprise.

Cassandra – DataStax by Victor Coustenoble
Cassandra at Orange by Jean Armel Luce

Dans une deuxième partie, Aljoscha Krettek de TU Berlin (Technische Universität Berlin) a fait le déplacement pour nous présenter Apache Flink (Stratosphere), un projet en incubation à Apache et qui apporte une série d’améliorations et d’optimisations au framework Spark ! Les deux amélioration que j’ai apprécié le plus sont l’optimisation du workflow MapReduce avant execution sur le cluster, surtout pour les jointures, et l’utilisation uniquement des données utiles à chaque itération comme pour le process itératif de graphes avec Apache Giraph. Il y a donc derrière ce projet une réflexion sur plusieurs éléments liés à l’optimisation de process et l’utilisation de données ce que j’ai trouvé intéressant. J’aime bien le “mid-query fault tolerance” qui est sur leur roadmap !

Stratosphere (Apache Flink) by Aljoscha Krettek
Stratosphere (Apache Flink) Roadmap

Journée Big Data à Sophia Antipolis

Ça fait un moment que je n’ai pas publié sur mon blog, il s’est passé beaucoup de choses cette année, et je n’ai pas eu beaucoup de temps à lui consacrer. Une chose est sûre à Sophia Antipolis, l’activité est toujours forte au user group Riviera Scala Clojure ! Voici donc mon feedback sur une journée à laquelle j’ai participé il y a quelques mois autour des technologies Big Data. Anwar Rizal, Nicolas Bousquet et Tobo Atchou ont organisé cette magnifique journée qui s’est déroulée le samedi 23 Février dernier à Les Satellites, un espace de coworking bien convivial à Nice.

J’ai croisé Anwar dans le train vers Nice. Il ne faisait pas très beau ce 23 Février donc on s’est dit que c’est une bonne journée pour “geeker”, le temps ne permettait pas trop de sortir 🙂 Nous avons rejoint tout le monde à Les Satellites, c’est un espace de travail partagé par des indépendants, des entrpreneurs et des étudiants. C’est composé d’une grande salle de type open space avec un coin canapé, une salle pour les “résidents” avec des bureaux dédiés, une salle de réunion, et d’un coin cuisine et repas. J’ai trouvé que c’est un endroit sympa dans lequel on peut travailler sans s’ennuyer, rencontrer d’autres personnes, partager un repas, et se divertir avec un petit jeu de société ou la lecture tranquille d’un livre.

Donc une vingtaine de développeurs se sont retrouvés dans la grande salle de l’espace coworking cette journée de samedi. Le programme était très intéressant et bien chargé entre présentations, rappels, mise en place des environnements de travail et développement informatique ! On avait même eu à disposition un cluster EC2 Amazon pour les plus motivés ! Bon… ok… pour les “très” (très) motivés… car à la fin on était bien comblés, vous allez comprendre pourquoi une fois que je vous parle du programme !

Riviera Scala Clojure Big Data 1
Canapé confortable à Les Satellites coworking !
Riviera Scala Clojure Big Data 3
Coussin géant encore plus confortable !
Riviera Scala Clojure Big Data 2
Beaucoup de participants !

Ce samedi matin, l’esprit encore frais, après un croissant et un jus offerts par le user group, on a commencé par un rappel sur les algorithmes map-reduce par Paul De Schacht. C’était ensuite suivi d’une présentation sur les algorithmes de classification Naive Bayes par Mario Pastorelli. Déjà deux présentations, dont celle de Mario qui attaque déjà des concepts chauds pour un samedi matin, une pause pizza s’impose à midi !

Après un café nécessaire, on attaque l’après-midi par des sujets encore plus fous : on reprend par une présentation sur le K-means clustering et canopy generation par Nicolas Maillot, suivi d’un rappel Scala par Tobo Atchou, et enfin une présentation map-reduce graph programming par Anwar Rizal ! Ouf ! C’était un peu chargé pour une journée et beaucoup d’entre nous étaient déjà épuisés suite à ces présentations et la découverte de nouveaux concepts. Bravo à tous les intervenants qui en ayant bien préparé leurs sujets, ont réussi à rendre la journée intéressante et accessible en même temps sinon on n’aurait jamais réussi à tenir ! Malgré la fatigue (et après un deuxième café), nous avons quand même réussi à faire avant de rentrer le fameux exercice pratique du word count map-reduce Hadoop, le minimum syndical pour une journée Big Data après tout 🙂

Paul de Schacht Map Reduce
Paul de Schacht – Rappel Map Reduce et Big Data.
Nicolas Maillot Clustering Canopy Generation
Nicolas Maillot – Clustering & Canopy Generation
Mario Pastorelli Classification Naive Bayes
Mario Pastorelli – Classification Naive Bayes

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