Loading…
SnowCamp 2020 has ended
22nd-25th of January 2020 / 22-25 Janvier 2020, Grenoble
Performance & Security [clear filter]
Wednesday, January 22
 

09:30 GMT

Implémentation du pattern API Gateway avec GraphQL
Le pattern _API Gateway_ est une solution bien connue au problème de la communication avec une application conçue en _microservices_. Il permet d'éviter aux navigateurs ou terminaux mobiles d'envoyer un grand nombre de requêtes pour afficher un seul écran ou page web.

En pratique, ce pattern est souvent implémenté par un service HTTP/JSON. C'est pourquoi il est souvent difficile pour les développeurs web, mobile et backend de se mettre d'accord sur un format d'échange qui soit à la fois flexible et concis tout en répondant au besoin de chacun des frontends.

GraphQL est un langage de requête et de définition de schéma pour vos services backend. Il peut-être utilisé sur différents transports (par exemple HTTP ou Websocket) et donne aux développeurs frontend la capacité de recevoir exactement la quantité de données dont ils ont besoin. Cela fait de lui un très bon candidat à l'implémentation du pattern _API Gateway_.

Ce workshop commence par une brève introduction à GraphQL. Puis vous développerez une _gateway_ pour une application de vente de musique. Vous apprendrez comment charger des données depuis des services HTTP ou une base PostgresSQL et protéger vos utilisateurs avec de l'authentification. Nous nous concentrerons sur le cas d'utilisation plutôt que sur la technologie GraphQL elle-même (on peut trouver facilement de la documentation sur le web).

Pré-requis pour cet atelier
- d'un JDK8 or JDK11
- d'une version récente de Maven
- d'une version récente PostgreSQL (ou de Docker)
- d'un IDE Java

Speakers
avatar for Thomas Segismont

Thomas Segismont

Principal Software Engineer, Red Hat
Thomas Segismont is a Principal Software Engineer at Red Hat. With more than 15 years of software development experience, he has worked on projects of all sizes in various sectors: retail banking, utilities, finance, tourism, and hosting.As a Vert.x core committer, he is focused on... Read More →


Wednesday January 22, 2020 09:30 - 12:30 GMT
Mont Blanc 1 WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

Kafka: Journal et Métamorphose
Mettons ensemble les mains dans le cambouis d'Apache Kafka et Kafka Streams !

On entend parler de Kafka partout, et Confluent Inc fait de son mieux pour que le buzz ne s'arrête surtout pas. Il faut bien reconnaître que si Kafka, le log, s'impose comme élément incontournable de applications distribuées depuis 2011, ce n'est pas pour rien. D'ailleurs, les fonctionnalités plus récentes de Stream Processing et de base de données distribuée en font plus une solution "end to end" qu'un simple "building bloc".

Pourtant nous même, qui l'utilisons en production depuis plus de 2 ans et avons déjà animé des ateliers sur le Stream Processing avec Kafka, nous sommes rendu compte que malgré les beaux schémas et les promesses, Kafka n'est pas si facile que ça à maîtriser. Et certains concepts qui nous semblaient clairs ont finalement nécessité que l'on se replonge dans le design de la bête.

Dans cet atelier nous proposons une présentation générale d'Apache Kafka et Kafka Streams en mettant l'accent sur les aspects qui peuvent sembler simple de prime abord mais dont les subtilités se cachent entre les lignes (assignation des partitions, transactions, etc.).
Et bien sûr, ensuite, place à la pratique et à la résolution de problèmes pour prendre en main l'API Processor, le DSL, la gestion de l'état en mode tests unitaires ou sur un cluster standalone. Et pour les plus rapides : injection de failles pour voir comment la maintenance des garanties ("delivery semantics") de Kafka (Streams) se manifeste.

Pré-requis pour cet atelier
IntelliJ IDEA Community Edition ou supérieur

Speakers
avatar for Guillaume Andrieu

Guillaume Andrieu

MonkeyPatch
Matheux converti de force à l'informatique. Développeur back end depuis plus de 10 ans. Programmation fonctionnelle, théorie des types, systèmes distribués. Au delà: changement climatique, droits humains, philosophie.
avatar for Arnaud Bos

Arnaud Bos

MonkeyPatch
Functional programming, parens and distributed systems enthusiast. Lifelong hammock aficionado. Toulouse JUG organizer.


Wednesday January 22, 2020 14:00 - 17:00 GMT
Mont Blanc 1 WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Thursday, January 23
 

10:45 GMT

Du Business Process Modeling pour orchestrer des microservices ?
Dans le cadre d'un projet IOT d'envergure dans lequel nous devons télé-relever des informations de capteurs disséminés partout en France, nous avons mis en place une architecture de stream processing à base de microservices Java, Apache Nifi et Apache Flink.
Une telle architecture présente l'avantage d'une meilleure maintenabilité et d'une meilleure scalabilité. Cependant, sa mise en oeuvre est plus délicate et la robustesse de l'ensemble de la solution nécessite des précautions supplémentaires. D'autant plus, lorsque le client annonce qu'une garantie transactionnelle infaillible doit être apportée sur l'ensemble de la chaîne.
Notre approche originale a consisté à s'appuyer sur l'usage d'un orchestrateur externe qui permet d'implémenter plusieurs design patterns de microservices : la traçabilité globale, les sagas transactionnelles et la supervision distribuée. Cet orchestrateur s'appuie sur la solution Opensource Camunda, qui s'appuie elle-même sur la norme Business Process Modeling permettant de décrire des processus métiers complexes et d'orchestrer un système complet. Cela présente donc le triple intérêt de superviser, orchestrer et documenter le fonctionnement du système.
Lors de cette session, nous aurons donc l'occasion d'aller au delà du discours commercial de la magie du microservices pour aborder les véritables problématiques de la supervision et de la mise en production d'une architecture répartie complexe.

Bénéfices de la session :
Découvrir les design patterns de l'architecture microservices
Découvrir ou approfondir les problématiques d'une telle architecture complexe répartie
Découvrir le business process modeling et son application sur un tel problème
Découvrir le produit opensource Camunda

Speakers
avatar for Julien Cognet

Julien Cognet

CGI
Manager technique et architecte de système d'information @ CGI Comptant plus de 17 années d’expériences dans le secteur des technologies de l’information, Julien COGNET est architecte de Système d'Information et manager technique de l’agence de CGI Grenoble. Il intervient... Read More →


Thursday January 23, 2020 10:45 - 11:30 GMT
Mont Blanc WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

11:45 GMT

Le design de l'erreur
Nos systèmes sont designés de manière optimiste, de la gestion technique des erreurs à la modélisation de nos interfaces.
Que ce soit les codes d'erreurs, les exceptions ou les modélisations plus avancées, elles servent pour arrêter un traitement et _potentiellement_ afficher un message d'information à un utilisateur.

Mais avec les architectures microservices, la distribution des traitements ou une simple volonté de résilience, la gestion des erreurs est devenue un enjeu important de tous les systèmes afin qu’ils restent accessibles de tous, tout le temps tout en maintenant le système dans un état cohérent.

Que fait-on lorsqu’une erreur intervient ? Peut-on compenser voire gérer l’erreur depuis le système pour l’utilisateur ?

La réponse a ces questions se trouvent autant dans la définition du produit que dans le choix technique.
Un outil bien conçu est un outil intelligent qui peut faire les bons choix au bon moment pour l'utilisateur. Et si on apprenait ensemble à concevoir nos erreurs ?

Speakers
avatar for François Teychene

François Teychene

Startree
Cloud Developer @ Startree, meetup addict & organizer @ Montpellier, SunnyTech team. Développeur couteau suisse pouvant intervenir du Javascript à la table de routage. Mes passions actuelles sont le Rust, le DevOps et le Scala en plus de vouloir mettre des conteneurs partout.


Thursday January 23, 2020 11:45 - 12:30 GMT
Mont Blanc WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

La Cryptographie en 55' chrono
Plus que jamais, nous avons besoin de sécuriser nos échanges et de renforcer notre confiance dans nos outils pour garder nos données à l'abri des yeux indiscrets. Peut-être que franchir le pas vous semble insurmontable. Peut-être que vous vous dites que tout ça reste une affaire de groupes d'hackitivistes éclairés. Plus probablement, il vous manque sans doute juste une connaissance simple de l'univers du chiffrement, et de la fantastique boîte à outils qui l'accompagne.

Alors profitons-en, on embarque pour un tour d'horizon de la crypto : chiffrement, techniques, outils… Nous regarderons quels outils existent, pourquoi et comment les utiliser. Et parce que le web ne serait pas parfait s'il n'était pas ouvert, nous nous intéresserons aussi bien aux clients "lourds" qu'aux alternatives web (et il en y en a plein).

Mieux : puisque nous ferons le tour des techniques, observons les outils que met à notre portée de dev le W3C avec l'API WebCrypto : ajouter du chiffrement et une gestion fine de la sécurisation se révèle désormais beaucoup plus pratique.

Ceinture et bretelles : attachez-vous bien, on chiffre !

Speakers
avatar for M4dz 🥑🦄

M4dz 🥑🦄

‹div›RIOTS
Principal Developer Advocate at ‹div›RIOTS - makers of Backlight, a Design Systems IDE built for Designers and Developers - m4dz is a curious animal. Former Frontend Dev, Devtools enthusiast, he has made the Developer eXperience (DX) his cherished topic. All the Web technologies... Read More →


Thursday January 23, 2020 14:00 - 14:45 GMT
Auditorium WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

16:00 GMT

Set your code on fire with FlameGraphs
Currently there are several tools to analyze the behavior and performance of an application, but traditionally the way of displaying results is that of tabular, either flat or tree. In this talk we will take a peek at some alternative tool that "enlightens" the darkest corners of the behavior of our applications and the JVM, showing them in a completely new and more visual way: the FlameGraphs. During the intervention a "peek under the hood" will be given to some JVM mechanisms to understand the reasons behind the failures of most well known profilers.

Speakers
avatar for Francesco Nigro

Francesco Nigro

Red Hat
I have been working for 18 years in the computer field. In the last 15 years I have cultivated a strong passion in Java development, recently joined by C and ASM development on x86 / PowerPC platforms. A big fan of the DDD (Domain Driven Design) world, I have developed several Event-Sourced... Read More →


Thursday January 23, 2020 16:00 - 16:45 GMT
Auditorium WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Friday, January 24
 

10:45 GMT

Le Spleen du Mainteneur
26 novembre 2018 : l’équipe sécurité d’event-stream, un paquet npm, est contactée au sujet d’un paquet infecté qui permet à son auteur de dérober des Bitcoins. Ah non, il n’y a pas d’équipe sécurité d’event-stream. On contacte donc directement la personne responsable du paquet. Bon, il se trouve qu’elle ne maintient plus le paquet. Allez, on réveille le RSSI de la boî... Non plus ? On se retourne contre l’entreprise qui a audité un paquet aussi largement distribué ? Audiquoi ? Il n’y a pas eu d’élévation illégitime de privilèges. Pas de spoofing. Pas de vulnérabilité dans le code de Github, ni du côté de l’app, ni du côté de npm à proprement parler. Juste un attaquant intelligent qui a demandé à maintenir un paquet npm et qui a tranquillement injecté son code malveillant une fois mainteneur officiel. Dans l’open source, la chaîne de confiance est primordiale pour garantir la sécurité du développement, et la sécurité organisationnelle est parfois négligée : examinons les bonnes pratiques à mettre en place.

Speakers

Friday January 24, 2020 10:45 - 11:30 GMT
Kilimanjaro WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

11:45 GMT

Du réactif au service du pneu connecté
Michelin propose aujourd'hui des offres de service autour du pneu connecté permettant aux flottes de poids lourd d'optimiser leur poste coût pneumatique. L'ensemble des données de ces pneus connectés remontent depuis différents capteurs dans une plateforme d'ingestion et d'analyse que nous venons de réécrire afin de répondre à des exigences de performance et disponibilité. Nous montrerons au travers d'un retour d'expérience et d'exemple concrets, comment une architecture micro-services réactive basée sur Eclipse Vert.x nous a permis de moderniser notre stack de collecte et services IoT. Nous aborderons les difficultés rencontrées par l'équipe avec le passage à la programmation asynchrone, le réactif, et plus généralement les architectures micro-services. Nous illustrerons différents points techniques avec une mise en perspective des atouts de Vert.x pour les challenges rencontrés.

Speakers
avatar for Thomas Segismont

Thomas Segismont

Principal Software Engineer, Red Hat
Thomas Segismont is a Principal Software Engineer at Red Hat. With more than 15 years of software development experience, he has worked on projects of all sizes in various sectors: retail banking, utilities, finance, tourism, and hosting.As a Vert.x core committer, he is focused on... Read More →
avatar for Fabien Pomerol

Fabien Pomerol

Michelin
As Technical Architect at Michelin, i'm working on API and IoT projects around vehicle tracking and connected tyre. I mostly write code in Java / JavaScript and trying to share a DevOps culture on the Michelin development teams.


Friday January 24, 2020 11:45 - 12:30 GMT
Auditorium WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

14:00 GMT

REX de Trois années d'Event Sourcing
L'architecture Event Sourcing est de plus en plus adoptée dans les projets. Cependant réussir son implémentation demande beaucoup d'efforts et de rigueur.

Venez découvrir un retour d'expérience sur une implémentation d'une architecture Event Sourcing dans la banque : les pièges à éviter et les pratiques à adopter!

Speakers
NK

Nizar KEFI

SOCIETE GENERALE
Technical Leader à la Société générale, avec plus de 10 d'expériences, je m’intéresse aux Software Craftsmanship, Devops et tout ce qui se termine par DD.


Friday January 24, 2020 14:00 - 14:45 GMT
Makalu WTC, 5 - 7, place Robert Schuman, 38025 Grenoble

16:00 GMT

ZeBattle : ORM vs Bare SQL
L'un d'entre nous deux souhaitait nommer cet exposé « ORM, The Vietnam of Computer Science » mais c’est à la fois de mauvais goût et l'autre n’aurait jamais accepté. Plus exactement cette session s’adresse à tous les amoureux du SQL mais aussi des amateurs des ORM car nous allons, sans trop troller, raconter pourquoi nous en sommes là. Nous avons tous connu des projets difficiles avec JPA et Hibernate mais est-ce une raison d’abandonner ?

Ce sera aussi un retour sur les expériences heureuses ou difficiles tirées de 15 ans de pratique de JBDC aux ORM en passant par les promesses comme iBatis ou l’aventurier JOOQ. La finalité est d'expliquer notre vision du bon usage de chaque solution, comment tout est une question de compromis et pourquoi les ORM ont absolument leur place mais sont si souvent mal compris et utilisés.

Speakers
avatar for William Bartlett

William Bartlett

Treeptik
Second generation developer, William had his first email account in 1990 at the age of 6 and fell into IT at the age of 10. On his journey across the universe of programming, he has roamed the superpowers of procedural and object-oriented where C, Python or Java are natively spoken... Read More →
avatar for Nicolas Muller

Nicolas Muller

CTO, Treeptik
Ancien associé de Treeptik, à ses heures perdues il est CTO mais surtout consultant sur les technologies Java, Docker / K8S. Formateur sur tout ce qui est TDD / BDD et les différentes autres méthodes de tests avec sous sans containers. Il aime le Karaté, le Kung-fu, le Taekwondo... Read More →


Friday January 24, 2020 16:00 - 16:45 GMT
Mont Blanc WTC, 5 - 7, place Robert Schuman, 38025 Grenoble
 
Filter sessions
Apply filters to sessions.