01- Page titre (pourquoi il faut faire des tests au début)Henri: Je suis Henri Tremblay et j’ai avec moi Mikaël Robert.On va vous expliquer pourquoi il faut faire des tests de performance au début, pendant et pas juste à la fin des projets comme d’habitude. Tout ça de façon automatique.Traditionnellement, on le fait à la fin à cause de Donald Knuth
02- Early optimisation is the root of all evil (tout à commencé par ça)Henri:C’est là où tout à commencé. On l’apprend très tôt à l’école, ne pas optimisé prématurément, ça sert à rien et souvent c’est pire.Les problèmes c’est qu’en disant ça, Knuth pensait à ça
03- Code early optimisé pour rien (en fait c'était pour ça)Henri:C’est-à-dire faire une niaiserie qui sert à rien, mélange le compilateur, complique le code et ne sert à rien du tout.Reprenons du début et voyons comment se déroule un projet
03- Code early optimisé pour rien (en fait c'était pour ça)Henri:Là où il faut écouter Knuth, c’est qu’en pratique, on code, on mesure et on optimise là où c’est importantMais reprenons du début
11- Un déploiement automatiqueMikaël:Pour créer votre environnement automatiquement vous avez pas mal de choix.En gros, vous utilisez votre cloud préféré, votre hyperviseur préféré et surtout vos outils de construction automatique d’environnement préférés
12- Un VM des perfsMikaël:Par exemple, là on utilise chef pour créer un serveur tomcat dans lequel est déployé notre application et on lui met un front nginx pour être proche de notre conf de prod
10- Un gatlingEnsuite, il vous faut un scénario représentatif, par exemple fait avec Gatling comme iciEt vous le lancez par maven avec le gatling-maven-plugin
09- Un jenkinsMikaël:Vous mettez tout ça dans jenkins et ça vous donneUn jenkins qui - Crée un environnement de tests- Récupére les binaires pour les déployer sur l’environnement de tests- Lance les tests de charge avec le gatling-maven-plugin
14- Des résultats vérifiésMikaël:Vous obtenez des rapports détaillésGatling permet même d’avoir des assertions sur les résultats. Donc si un matin un développeur fait une connerie et que soudain le 251ms se transforme
15- Résultats mauvais (et hop, le prochain qui fait le con)Mikaël:En 1335ms… au lieu de le voir une semaine avant la prod, ça fait exploser votre build et ça rend Jenkins tout triste
Mikaël:C’est réparé sur le champ et Jenkins redevient de bonne humeur
18- Plein d'argent à la finMikaël:Après vous faites comme vous voulez… soit vous préférez attendre la fin du projet pour réaliser que rien ne marche et finir en catastrophe
18- Plein d'argent à la finHenri:Mais nous on préfère finir nos projets tranquillement et boire des pina colada dont je vous met ma recette personnelle ci-dessous
20- Un takeaway d'outils utiles avec bien sûr OCTO qui peut vous aider :-)Henri:Sinon, c’était un peu dense tout ça, si vous avez besoin d’aide pour les détails, évidemment, OCTO peut vous aider avec plaisir