Début février, le campus de Grenoble a accueilli la seconde édition du Snowcamp. Une conférence orientée Web, IoT, Cloud, DevOps et Big Data, qui se déroule sur 3 jours :
- une journée “université”, pour découvrir une nouvelle technologie
- deux jours de conférence, avec des speakers de grande qualité
- et accessoirement, une journée d’unconference pour faire du ski avec le staff, les speakers et les participants
J’ai eu la chance de participer à cette édition, voici des informations au sujet des conférences qui m’ont le plus marqué
Develop a Microservices architecture using WildFly Swarm – Charles Moulliard (Red Hat)
Ce premier atelier a été l’occasion de travailler sur des outils soutenus par Red Hat :
- JBoss Forge : permet de générer un projet en ligne de commande, permettant ainsi d’éviter les erreurs de configuration et d’accélérer le développement d’application (à l’aide de génération de code et de scaffolding d’application front).
- Wildfly Swarm : permet de packager des applications dans un uberjar, permettant de s’orienter vers une architecture microservice
- OpenShift : PaaS qui s’appuie sur Kubernetes, en rajoutant des fonctionnalités (notamment sur la sécurisation des accès à la plateforme)
- Minishift : outil mettant à disposition des commandes mettant en place un environnement docker, et un OpenShift en local
- Fabric8 : outil qui permet de créer un fichier DockerFile automatiquement pour un projet donné, et crée la configuration pour Kubernetes (création des pods, …) pour un déploiement facile sur Kubernetes ou OpenShift
Ressources
- https://github.com/redhat-microservices/lab_swarm-openshift : L’atelier est disponible à cette adresse
Event Storming : comprendre le métier autrement – Emilien Pecoul (OWARE) & Florent Pellet (HackYourJob)
Cet atelier nous a permis de découvrir l’Event Storming, une méthodologie d’exploration qui permet de mettre en évidence facilement les éléments métiers d’un processus.
A l’aide d’un bon paquet de post-it et de marqueurs, un “sachant” et une équipe peuvent définir ensemble un modèle représentant un processus business, en 4 étapes :
- Ajout des événements internes processus. Ces événements doivent être conjugués au passé, être écrits avec des post-it de couleur identifiable, sous forme de timeline.
- Identification des zones d’ombre et questions non réglées par des post-it d’une autre couleur.
- Ajout des éléments déclencheurs (par un utilisateur, un système externe, l’horloge) sous forme d’action au présent.
- Regroupement des différents événements/déclencheurs autour de “bounded context” (terme issu du DDD), qui permettent d’identifier des “lots” fonctionnels cohérents et indépendants.
Les sujets utilisés par les deux groupes, très différents, ont permis de mettre en évidence les différents bénéfices de cette approche :
- Sur un sujet relativement simple, nous avons pu aller dans le détail et soulever rapidement des questions que nous aurions facilement pu mettre de côté sans nous en rendre compte.
- Sur un sujet bien plus complexe, elle a permis à un groupe d’appréhender les concepts généraux d’un produit alliant machine learning, drones, analyse topographique et agriculture en quelques minutes.
#eventstorming #snowcampio pic.twitter.com/XF6bY77ZcW
— Florent PELLET (@florentpellet) February 8, 2017
On peut utiliser cette méthode pour partager la connaissance métier à une équipe, pour modéliser un processus métier complexe… Cette méthodologie est fortement liée au DDD, car elle place le domaine au centre de la discussion, et se concentre sur la difficulté fonctionnelle, en mettant les difficultés techniques de côté.
Le regroupement des différents événements en concepts forts et indépendants les uns des autres peut alors permettre d’enchaîner sur le développement de l’application en suivant le pattern CQRS (Command and Query Responsibility Segregation) ou l’Event Sourcing.
Tips :
– Abondance du matériel pour ne pas brider l’imagination des participants
– Il n’y a aucune règle immuable, les participants doivent pouvoir s’approprier la méthode pour l’adapter à leur mode de fonctionnement et de pensée
Pour aller plus loin :
- http://www.slideshare.net/ouarzy/event-storming-72124255 : Slides
- http://danielwhittaker.me/2016/07/08/eventstorming-what-you-need-to-know/
- https://www.youtube.com/watch?v=5Sx_xO-eCE8 : talk sur le CQRS au MUG de Lyon
- https://github.com/DevLyon/mixter : Projet permettant de découvrir le CQRS, en étant accompagné par des tests