[:fr]La parole est aux speakers : Vincent Lainé (AFUP Day 2019 Rennes)[:]
[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !
La conférence
Préparer son application php pour l’exécution dans un environnement conteneriséÀ travers cette session je vous propose de venir réfléchir aux challenges qui découlent de l'utilisation d'une solution de conteneurs. Nous aborderons quelques unes des questions principales ainsi que leur(s) solution(s) au travers d'exemples utilisant Kubernetes. |
La Fabrique 17/05/2019 15:10-15:50 |
Toi qui as une forte expérience .NET, trouves-tu les applications PHP plus ou moins simples à conteneuriser ? Quelles sont les principales différences ?
Les challenges de la conteneurisation sont majoritairement les mêmes quel que soit le langage car ils sont principalement liés à l’environnement dans lequel l’application s’exécute plutôt qu’au code de l’app. C’est d’autant plus vrai si on parle d’un nouveau projet qui démarre avec docker comme cible !
En fonction des frameworks et des librairies disponibles, ces challenges peuvent être plus ou moins faciles à relever mais PHP et .NET sont tous deux bien équipés pour cela grâce à leur communauté.
La principale différence que j’ai pu voir entre une app .NET Core et PHP qui s’exécute dans un conteneur est lorsque que l’application est un serveur http (API REST par exemple). PHP est intimement lié à un serveur externe (apache ou nginx) alors que .NET Core embarque son propre serveur http (basé sur libuv) ce qui évite la configuration et le maintien d’un composant supplémentaire.
Sur quels environnements utilises-tu des conteneurs aujourd’hui ? Les conteneurs sont souvent utilisés en développement et même parfois en recette. Est-ce ton cas, et pousses-tu jusqu’à les utiliser en production ?
Bien sûr ! Chez KelBillet nous déployons l’ensemble de nos nouveaux micro services et de nos fronts sur docker y compris en prod.
À mon sens, les conteneurs ont bien plus d’intérêt en preprod et prod qu’en développement car ils permettent de s’assurer une reproductibilité et une indépendance à l’environnement qui n’est pas possible (ou très compliqué) à avoir avec un déploiement directement sur un serveur.
Par exemple, nous avons encore des services « legacy » qui n’ont pas les mêmes dépendances que nos nouveaux services et pousser des images docker en prod, nous permet de ne pas avoir de problème de cohabitation entre des extensions PHP ou même des versions de PHP différentes.
Dans le même temps, aller en prod avec des conteneurs ne se fait pas en un claquement de doigts et même si docker apporte des solutions à un certain nombre de problèmes, il apporte également … de nouveaux problèmes qui lui sont propres, à la fois au niveau applicatif (d’où cette conférence) mais également au niveau du déploiement (mais ça, ça fera l’objet d’une autre conf :))
L’utilisation de containers en local a t-il un impact sur les performances, notamment sous Mac ? Les machines sous Linux sont-elles aussi affectées ?
Pour être honnête, je n’en sais rien ^^.
Dans mon équipe chacun est libre de travailler comme il le souhaite (du moment que son choix n’impacte pas les autres ;)) et certains utilisent docker lors du dev sous Windows, d’autres lors du dev sous linux et quant à moi, je suis sous mac mais je n’utilise pas docker en dev 😀
La question de la performance applicative n’est pas une vraie question en dev, nous faisons l’ensemble de nos benchmarks de perfs sur la prod des environnements iso-prod car c’est le meilleur moyen pour avoir des résultats représentatifs. Et donc savoir si l’app est plus lente de 30ms sur une requête http ou pas en local, n’est, à mon avis, pas une bonne question.
Par contre la question de la performance des outils de développement est importante afin de ne pas générer de frustration chez les développeurs et de ce côté, il faut savoir ruser un peu en utilisant docker pour l’exécution de l’applicatif mais le système hôte pour l’exécution des outils de dev (yarn mon ami …)
Lors du déploiement en production, la question de la performance devient centrale et de ce côté je n’ai pas été confronté à des problèmes qui seraient intimement liés à docker mais plus à des problèmes de complexification de l’infrastructure qui entraine une multiplication des applicatifs par lesquels une requête http doit passer avant d’arriver dans le code PHP ainsi qu’à leur configuration/finetuning.
Une conférence présentée par
Vincent LAINÉ |
Vincent Lainé est actuellement CTO KelBillet ou avec son équipe il relève les challenges imposés par la gestion de plusieurs sites grand public telques la scalabilité, la robustesse et la performance des sites. En tant que responsable de l'équipe technique, il intervient également sur des sujets comme la mise en place de l'agilité ou l'animation de l'équipe. Bien que passionné par le développement, l'architecture (logiciel) et le management 3.0, l'escalade et la montagne ne sont pas oubliées et occupent une part importante de son temps. |
Autres interviews
- [:fr]La parole est aux speakers : Aleth Gueguen (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Yvonnick Frin et Benjamin Cavy (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Kévin Dunglas (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Sarah Haïm-Lubczanski (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Maxime Huran (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Gaël Crispyn (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Benoit Jacquemont (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Rodrigue Villetard (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Frédéric Hardy (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Lætitia Avrot (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Fabien Féat (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Samuel Roze (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Antoine Deprez et Brice Taillardat (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Stéphane Hulard (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Kévin Verschaeve (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Gabriel Pillet (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Grégoire Hébert (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Freek Van Der Herten (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Julien Deniau (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Frédéric Bouchery (AFUP Day 2019 Rennes)[:]
- [:fr]La parole est aux speakers : Julien Pauli (AFUP Day 2019 Lille)[:]
- [:fr]La parole est aux speakers : Alex Rock (AFUP Day 2019 Lyon)[:]
- [:fr]La parole est aux speakers : Damien Alexandre (AFUP Day 2019 Rennes)[:]