Retour sur le Devoxx FR 2017 - Partie 1

La 6ème édition du Devoxx Paris s’est déroulée comme les années précédentes au Palais des Congrès, Porte Maillot.

Pendant 3 jours, les 2890 participants au DEVOXX 2017 ont pu choisir parmi une multitude d’excellentes présentations, 220 cette année.

Venus de SQLI Suisse, Ulrich Marie, Etienne Courcier et moi-même, Eric Manuguerra avons pu bénéficier d’un très beau programme, avec des conférences qui portaient sur :

  • Les architectures micro-services,
  • Les pratiques, outils et plateformes du DevOps,
  • L’intelligence artificielle et le Big Data,
  • Le développement front-end,
  • La sécurité, la performance,
  • L’éthique et la responsabilité des ingénieurs

L’enthousiasme, la qualité des présentations, l’innovation et l’échange étaient une fois de plus au rendez-vous.

Cet article présente un résumé des sessions auxquelles nous avons pu assister.

Big Binouze : Le Big Data, de la récolte jusqu’à la production à grande échelle !

En partant de la question « Qui n’a jamais rêvé de trouver la meilleure bière près de chez lui ? », Mathias Kluba et Alexis Slawny ont présenté les concepts au cœur du Big Data de la collecte de données à la visualisation en passant par la transformation à l’aide des solutions de traitement distribuées Hadoop et Spark.

CQRS et Event Sourcing from scratch

Emilien Pecoul et Florent Pellet ont présenté l’architecture logique d’une application construite selon le pattern d’Event Sourcing avec CQRS. L’approche a été démontrée à partir de l’exemple d’une application « Mixter », « Twitter like ».

Les fonctionnalités de base (tweet et retweet) ont été codées « live » en C#.

event sourcing avec cqrs

Live coding de CQRS et Event Sourcing

Cette présentation était très intéressante : à la fois claire et pragmatique. Elle a permis de démystifier le pattern d’Event Sourcing et d’apprécier la puissance de l’approche, notamment pour décomposer la complexité selon l’axe lecture / écriture et accroître la performance.

Le pattern d’event source est particulièrement intéressant pour implémenter des applications qui gèrent des données « temporelles » basées sur des modifications historisées, comme par exemple la ligne de vie de messages Twitter, ou les écritures d’un compte en banque. La présentation est disponible ici : https://www.slideshare.net/ouarzy/universit-eventsourcing-cqrs-devoxx-fr-2017.

Execution de code – Mais que se passe-t-il vraiment ?

Alex Snaps, spécialiste de la manipulation de byte code, a expliqué ce qui se produit dans la machine lorsque le code s’exécute : au niveau du code machine (byte code) et du processeur.

Les caches d'instructions et de données

Les caches d’instructions (L1I) et de données (L1D)

A travers des exemples en C, Java, Rust et un simulateur d’assembleur – https://schweigi.github.io/assembler-simulator/, A Snaps a présenté les problèmes que les machines virtuelles adressent pour simplifier le développement et optimiser les performances.

Integration in a #Microservices Style

Abdellatif BOUCHAMA, ingénieur en intégration chez Red Hat, a présenté une chaîne DevOps (pipeline) pour la construction d’un micro-service d’intégration avec Apache Camel (support de 49 patterns d’intégration, les EIP).

La chaîne DevOps est entièrement gérée par Fabric 8 de Pivotal qui intègre les outils DevOps Docker, Kubernetes, Jenkins, Gogs, Nexus et Forge en une seule solution.

A travers sa présentation, Abdellatif BOUCHAMA a suggéré de ne pas réinventer la roue, mais d’utiliser plutôt une plateforme complète qui permet de construire, de tester et de déployer une architecture micro-services, telle que Fabric 8.

Fabric 8

FABRIC8 : “an opinionated open source microservices platform based on Docker, Kubernetes and jenkins”

La démonstration a notamment illustré les fonctions d’orchestration (scaling, répartition de conteneurs, zéro downtime) et de pipeline avec la suite d’outils Gogs, Jenkins, Nexus, Docker.

Getting started with graph database

Lauren Schaefer a montré comment réaliser une application exploitant une base de données de type « Graphe » via le service IBM Graph.

IBM Graph s’appuie sur Apache Tinker Pop – https://tinkerpop.apache.org/.

L’application est un site de commande de photos en tirages papier. La présentation est disponible ici : https://www.slideshare.net/LaurenHaywardSchaefe/getting-started-with-graph-databases-73890331.

accroissement de popularité

Accroissement de popularité : les bases de données orientées graphes sont de plus en plus populaires (courbes du haut)

La séance a permis de voir comment modéliser des données orientées graphe et comment effectuer des requêtes sur ces données via la console IBM.

Spring cloud et Zipkin à la rescousse du tracing distribué

Dans une architecture distribuée, à base de micro-services, comment surveiller les échanges ?

Comment évaluer les latences qui peuvent être induites par les appels réseau et comment mettre en évidence les micro-services fautifs le cas échéant ?

interface graphique zipkin

Interface graphique zipkin permettant de visualiser une trace distribuée

Florian Garcia de la société Ippon a effectué une démonstration de Zipkin, le système de tracing distribué développé par Twitter et les composants qui permettent de dialoguer avec la solution, notamment Spring Cloud Sleuth.

Orchestration de conteneurs : le choix des armes !

L’année passée a vu converger les fonctionnalités des moteurs de conteneurs. Dans cette université de 3h, Jean-Louis Rigau, Thomas Auffredou et Yannick Lorenzati du cabinet de consulting Xebia ont présenté un état des lieux des principaux orchestrateurs utilisés dans le cycle de vie DevOps d’une application :

  • Intégration continue
  • Déploiement,
  • “Infrastructure-as-Code”
  • Exploitation

Les trois orchestrateurs majeurs du moment ont été comparés :

  • Mesos / Marathon
  • Docker Swarm
  • Kubernetes

L’enjeu actuel n’est pas au niveau de la maîtrise de l’environnement système, mais plutôt au niveau de l’« orchestration », l’objectif étant de déléguer à l’orchestrateur :

  • Le déploiement,
  • La gestion de résilience,
  • La surveillance pour un service en haute disponibilité

Et plus globalement le cycle de vie des conteneurs

Les 3 solutions comparées sont très similaires dans leur approche et dans les services qu’elles proposent.

Elles sont robustes, relativement faciles à mettre en œuvre et à maintenir. Docker Swarm mode a l’avantage d’être simple à installer et à configurer, Mesos est polyvalent (peut orchestrer autre chose que des conteneurs Docker). Kubernetes enfin est une solution plus modulaire, un peu plus complexe à mettre en œuvre, mais qui offre davantage de fonctionnalités.

Etre productif avec JHipster

Etre productif avec JHipster

Etre productif avec JHipster

JHipster est un générateur d’applications Spring Boot + AngularJS, entièrement Open Source, qui permet de démarrer, développer et mettre en production votre projet rapidement. Largement utilisé, il possède une importante communauté de développeurs (plus de 261 contributeurs !), et de nombreuses entreprises l’ont choisi comme framework de référence (plus de 120 sociétés sont officiellement listées !).

Ces très nombreuses contributions font que JHipster possède un grand nombre d’outils, astuces et idées, qui correctement utilisés permettent de gagner du temps au début du projet.

Au cours de la séance, Julien Dubois – créateur et principal développeur de JHipster – a démontré la création d’une application basée sur des micro services en partant de zéro pour aller jusqu’au déploiement en production.

JHipster est toujours aussi « magique », même si 3 ans après sa première présentation au Devoxx, le public a désormais l’habitude du projet et n’accueille plus avec autant de ravissement les fonctionnalités présentées. JHipster n’en reste pas moins un outil à essayer absolument.

Les 100 slides de la présentation sont disponibles ici https://t.co/ZA0An5iLIB.

Recettes, outils, API et services pour construire son équipe ou sa startup

« Découvrez-en moins de 30 minutes des outils, des APIS et des services pour votre projet, votre équipe, votre produit ou votre startup. »

Nicolas Martignole nous livre un « Tool in Action » intéressant (mais qui manque peut-être un peu de profondeur) il présente les outils utilisés pour l’organisation du Devoxx et par Captain Dash.

On retiendra que les communications dans une organisation sont soit synchrones (réunion, visio conférence, Skype, …), soit asynchrones (emails, documents, etc..) et que remplacer les emails par des plateforme de communications collaboratives comme Slack ou Hipchat apporte un gain significatif en termes de productivité, de communication et de clarté.

Une autre tendance intéressante de cette année est le développement de ChatBots pour automatiser la gestion du support ou la gestion des alertes et du monitoring par exemple.

On repart de la présentation avec une liste d’outils à découvrir ou à adopter.

Les outils du Devoxx France :

Google Suite (Docs, Agenda, Form)

  • Dropbox`Docusign : signature électronique
  • Mailgun et Mailjet
  • Mailchimp
  • Twilio
  • Insightly
  • Skype
  • in
  • us
  • Clever Cloud

 Les outils utilisés chez Captain Dash :

  • Asana (gestion des taches)
  • Google Suite
  • Google Drive
  • MailJet
  • Mailchimp
  • OpsGenie
  • Runscope
  • Lastpass
  • AirCall (IVR)
0 commentaires

votre commentaire

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

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

Inscription newsletter

Ne manquez plus nos derniers articles !