-
Jérôme DRZEWINSKI,
-
Eric DEFIEZ,
Publié le 26/11/2020
Le 23 et 24 septembre 2020, nous nous sommes rendus à la Cité internationale Universitaire de Paris pour assister à la Symfony Live 2020, une première pour Kernix. Initialement prévu courant mars, mais reporté à cause de la pandémie, nous étions impatients de nous y rendre.
La Symfony Live s’est découpée en pas moins de 14 mini-conférences abordant de nombreux sujets autour Symfony, bien évidemment, et de son écosystème, mais pas que ! Bonnes pratiques, réflexions autour de la stack technique font également partis du rendez-vous.
De nombreux partenaires étaient également présents afin de nous proposer des démonstrations sur des outils intéressants :
La conférence a débuté par la très attendue keynote de Fabien Potencier (Fondateur de Symfony) sur la présentation de Symfony 5.2 devant sortir en novembre prochain.
De nombreuses fonctionnalités ont été ajoutées à cette nouvelle version telles que :
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 :
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 :
La Symfony Live 2020 s’est parfaitement bien déroulée, une très bonne organisation avec une bonne mise en place des règles sanitaires en vigueur. Nous avons grandement apprécié l’ensemble des conférences et des intervenants venus nous partager leurs expériences et leurs connaissances. Chacune des interventions nous pousse à la réflexion sur des potentielles problématiques que nous pouvons rencontrer dans des projets Symfony à Kernix.