Alexis Seigneurin

@aseigneurin

My GitHub

My LinkedIn

My Brown Bag Lunches

Developer & Tech manager at Ippon Tech - Based in Paris, France - Long term open source supporter - I like RESTful architectures, Java, the Spring ecosystem, Apache Spark, Docker...

My posts

2016-05-07 - Spark & Kafka - Achieving zero data-loss (EN)

Kafka and Spark Streaming are two technologies that fit well together. Both are distributed systems so as to handle heavy loads of data. Making sure you don’t lose data does not come out-of-the-box, though, and this post aims at helping you reach this goal.

2016-03-04 - Kafka, Spark and Avro - Part 3, Producing and consuming Avro messages (EN)

This post is the third and last post in a series in which we learn how to send messages in the Avro format into Kafka so that they can be consumed by Spark Streaming. As a reminder there are 3 posts:

2016-03-03 - Kafka, Spark and Avro - Part 2, Consuming Kafka messages with Spark (EN)

This post is the second post in a series in which we will learn how to send messages in the Avro format into Kafka so that they can be consumed by Spark Streaming. As a reminder there will be 3 posts:

2016-03-02 - Kafka, Spark and Avro - Part 1, Kafka 101 (EN)

This post is the first in a series of posts in which we will learn how to send messages in the Avro format into Kafka so that they can be consumed by Spark Streaming. There will be 3 posts:

2016-02-22 - Record Linkage, a real use case with Spark ML (EN)

I participated to a project for a leading insurance company where I implemented a Record Linkage engine using Spark and its Machine Learning library, Spark ML. In this post, I will explain how we tackled this Data Science problem from a Developer’s point of view.

2015-11-07 - Spark Summit, le retour (FR)

Le Spark Summit - la conférence officielle autour du framework Apache Spark - se tenait à Amsterdam du 27 au 29 octobre. Votre serviteur était présent les 28 et 29 octobre. Résumé des évènements.

2015-08-27 - Presentation: Data Science meets Software Development (EN)

I’ve given a talk about how to take Data Science projects to production thanks to the help of Software Developers.

2015-03-26 - Orchestration de containers Docker – Docker Compose et Crane (FR)

J’ai récemment mis en place un bot pour tweeter plusieurs fois les posts publiés sur le blog d’Ippon (Cf. fil Twitter d’Ippon). Cet outil (rss2twitter) repose sur deux containers Docker. Pour gérer ces containers, un outil d’orchestration est pratique. Rapide présentation de deux challengers : Docker Compose (anciennement Fig) et Crane.

2015-02-18 - Spark sur Google Compute Engine (FR)

Dans mon post Spark vs Command line tools, je comparais les performances de Spark et d’outils du shell pour traiter des résultats de parties d’échec. Le volume de données était très réduit (4,6 Go) et un seul nœud était utilisé. Spark étant un outil dédié au traitement distribué, l’exercice atteignait ses limites. Restait donc à étudier les performances sur des volumes plus importants et en cluster.

2015-01-23 - Spark vs Command line tools (FR)

Il y a quelques jours, un post d’Adam Drake a refait surface sur Twitter : Command-line tools can be 235x faster than your Hadoop cluster. Adam explique qu’il a reproduit un traitement Hadoop avec des outils de ligne de commande (find, awk…) multipliant ainsi le débit de traitement par 235. J’ai cherché à reproduire cette comparaison avec Spark.

2015-01-12 - Introduction à Spark SQL (FR)

Spark permet de manipuler d’importants volumes de données en utilisant une API de bas niveau. Pour simplifier l’exploration des données, Spark SQL offre une API de plus haut niveau avec une syntaxe SQL. Spark SQL permet ainsi de réaliser, très rapidement, de nombreuses opérations sans écrire de code.

2014-12-19 - Podcast Nipdev sur Spark (FR)

Cette semaine, j’ai été interviewé par Fabrice Croiseaux et Antoine Detante pour le podcast Nipdev. Pendant une heure, nous avons parlé de Spark.

2014-12-16 - Présentation : Spark, ou comment traiter des données à la vitesse de l'éclair (FR)

J’ai présenté Apache Spark à diverses occasions récemment :

2014-12-07 - Introduction à Spark Streaming (FR)

Spark permet de traiter des données qui sont figées à un instant T. Grâce au module Spark Streaming, il est possible de traiter des flux de données qui arrivent en continu, et donc de traiter ces données au fur et à mesure de leur arrivée.

2014-11-27 - Présentation : Spark, ou comment traiter des données à la vitesse de l'éclair - Codeurs en Seine 2014 (FR)

J’étais à Codeurs en Seine aujourd’hui pour la deuxième édition de cette conférence pour développeurs basée à Rouen. Cette édition a accueilli 350 développeurs.

2014-11-13 - Utiliser Apache Spark en cluster (FR)

Dans les précédents posts, nous avons utilisé Apache Spark avec un exécuteur unique. Spark étant un framework de calcul distribué, nous allons maintenant monter un cluster en mode standalone.

2014-11-06 - MapReduce et manipulation de RDD par clés avec Apache Spark (FR)

Nous avons vu dans le post précédent qu’Apache Spark permettait de réaliser des opérations d’agrégation sur l’ensemble des valeurs d’un RDD. Nous allons maintenant réaliser des agrégations ainsi que d’autres manipulations par clés.

2014-11-04 - Ansible pour déployer des applications (FR)

Ansible est un excellent outil de provisioning. L’outil n’est a priori pas prévu pour déployer des applications bien que l’on soit fortement tenté de l’utiliser dans ce but. Ce post traite des problèmes que cela pose et d’une manière de les résoudre.

2014-11-01 - Initiation au MapReduce avec Apache Spark (FR)

Dans le précédent post, nous avons utilisé l’opération Map qui permet de transformer des valeurs à l’aide d’une fonction de transformation. Nous allons maintenant découvrir l’opération Reduce qui permet de faire des aggrégations. Nous allons ainsi pouvoir faire du MapReduce de la même manière qu’avec Hadoop.

2014-10-29 - Introduction à Apache Spark (FR)

Spark est un outil permettant de faire du traitement de larges volumes de données, et ce, de manière distribuée (cluster computing). Le framework offre un modèle de programmation plus simple que celui d’Hadoop et permet des temps d’exécution jusqu’à 100 fois plus courts.

2014-10-24 - Applications AngularJS et le SEO (FR)

AngularJS, tout comme de nombreux frameworks Javascript récents, exploite le navigateur pour effectuer le rendu côté client. Les pages fournies par le serveur sont donc des coquilles vides. Les sites exploitant ces technologies sont donc très mal indexés par les moteurs de recherche.

2014-10-17 - Présentation : Java 8 - Les interfaces fonctionnelles - BDX.io 2014 (FR)

Les slides de ma présentation sur les interfaces fonctionnelles à BDX.io sont en ligne.

2014-10-14 - Quickie sur Java 8 à BDX.io (FR)

Le vendredi 17 octobre se tiendra la première édition de BDX.io, une conférence pour développeurs à Bordeaux. Au programme, 40 talks sur des sujets du moment : on y parlera de langages (Java, Go, Clojure…), de développement Web (AngularJS, Web Components…), de déploiement (Docker), de bases de données NoSQL (Mongo…), de Machine Learning, et j’en passe. Bref, pour cette première édition, BDX.io fait bien les choses avec un programme très riche.

2014-05-23 - Retour sur le Breizh Camp 2014 (FR)

Le Breizh Camp 2014 est déjà terminé pour moi. Sur deux jours et demi, la conférence organisée sur le campus universitaire de Rennes a accueilli 250 personnes. Au programme, 80 talks, tous formats confondus (conférences, hands-on labs, tools in action, quickies) !

2014-05-20 - Présentation : Vagrant pour les développeurs - BreizhCamp 2014 (FR)

Ma présentation Vagrant pour les développeurs au BreizhCamp est en ligne:

2014-05-20 - Présentation : Java 8 - Les interfaces fonctionnelles - BreizhCamp 2014 (FR)

Ma présentation Java 8 - Les interfaces fonctionnelles au BreizhCamp est en ligne:

2014-05-13 - [DevoxxFR 2014] Crazyflie Nano (FR)

Parce que le Devoxx ne parle pas que de Java, je voulais revenir sur le talk d’Arnaud Taffanel et de Marcus Eliasson sur la génèse du Crazyflie Nano, un quadricoptère de seulement 19 grammes.

2014-03-27 - Présentation : Du dev à la prod avec Vagrant et Packer - Ippevent (FR)

Ma présentation Du dev à la prod avec Vagrant et Packer chez Ippon est en ligne:

2014-03-24 - Du dev à la prod avec Vagrant et Packer (FR)

Vous connaissez Vagrant ? Vagrant, c’est cet outil qui permet de démarrer des machines virtuelles avec une configuration donnée. Un très bon moyen de mettre au point et de diffuser des environnements de travail, et ce, de manière reproductible. Vagrant permet donc d’éviter le syndrome “works on my machine”.

2014-03-18 - Java 8 – Interfaces fonctionnelles (FR)

Java 8 introduit le concept d’”interface fonctionnelle” qui permet de définir une interface disposant d’une unique méthode abstraite, c’est-à-dire une seule méthode ne possédant pas d’implémentation par défaut.

2011-11-28 - Storing passwords in database (EN)

Security is tricky subject. In fact, we should never think we know about security. The way we store passwords in database is an example of how we might do things the wrong way. We may think storing the MD5 hash of a password, but this is very unsafe as an attacker could use a rainbow table to retrieve the password.

2009-03-03 - Version numbers for data structures (EN)

Data structures can evolve with time, either during the development of a project or between versions of the project. It is crucial to know which structure you are dealing with. In order to do that, you should store the version number of the data structure along with your data.