Il serait difficile de faire un compte rendu exhaustif de toutes les conférences réalisées pendant ces deux jours mais certaines ont très nettement retenu notre attention.
Tout d’abord en terme d’architecture :
-
Migrer vers une architecture micro-services : points de contrôle pour une migration réussie (Alexandre Salomé)
Cette présentation nous a permis d’y voir un peu plus claire sur les avantages et les inconvénients d’une architecture en micro-services.
Une architecture en micro-services permet de découper en plusieurs applications le projet final. Chaque application est indépendante. Elle possède ses propres modules, base de données etc. Les applications communiquent entre elles généralement par le biais d’APIs.
Par exemple, l’application dédiée vente va envoyer un message à chaque vente à l’application gérant les stocks pour prendre en compte la vente et décrémenter les stocks. Cette architecture permet de mettre des frontières bien marquées entre chaque application ou service permettant ainsi de faire évoluer un service (brique métier) sans avoir à se soucier de l’impact des modifications sur le reste du projet. Chaque équipe se cantonne donc à améliorer et faire évoluer son service sans crainte de régression sur une autre service.
Si cette architecture est très séduisante elle demande toutefois un changement en profondeur d’organisation, d’agilité, de pensée et nécessite de prendre son temps pour l’organiser.
Slides de la conf : ici
Partant du postulat que le passage vers une architecture micro-services peut s’avérer excessivement longue et coûteuse, Timothée Barray nous propose une autre approche pour structurer nos bons vieux gros projets monolithe et envisager plus sereinement cette transition.
Il s’agit là aussi de poser des frontières entre chaque module, bundle ou services de notre projet en utilisant des ACL (Anti Corruption Layer). Timothée Barray nous recommande d’ailleurs vivement l’utilisation de l’outil Deptrac pour faciliter la mise en place de notre architecture et contrôler les dépendances de chacune des ressources Cette approche nous paraît un très bon compromis entre le “monolithe classique” et une architecture micro-services. Certes, si cette solution risque de perdre un peu un performance, elle apportera un gain d’autonomie entre les équipes travaillant sur un même projet, de paralléliser plus facilement les tâches à effectuer et bien évidement de migrer à terme vers une architecture micro-services si le besoin s’en fait ressentir.
Slides de la conf : ici
D’autre part en terme de sécurité et plus particulièrement en terme d’authentification utilisateur :
-
Mettre la cryptographie au service de vos apps Symfony (Nicolas Grekas)
-
WebAuthn – Technologie et intégration dans un projet Symfony (Stefan Richter)