WavebreakmediaMicro - Fotolia

Tests de charge : le Français Gatling Corp prépare sa montée en puissance

La startup française Gatling Corp a su convaincre les développeurs et certains grands groupes avec sa technologie de tests de charge. Elle espère désormais étendre sa présence commerciale en France et aux États-Unis.

Le sujet de la maîtrise de la performance n’a rien de nouveau. Pour autant, les outils disponibles sur le marché depuis le début des années 1990 et les processus institués dans les grandes entreprises conféraient une certaine lourdeur à la vérification des performances. Il fallait que ces tests soient orchestrés par la DSI en mobilisant des dizaines, voire des centaines de serveurs. Les résultats étaient souvent obtenus plusieurs mois après la demande initiale, alors que l’application concernée avait déjà évolué.

C’est dans ce contexte que Stéphane Landelle, cofondateur et CTO de Gatling Corp, a mis au point Gatling en 2012. Ce framework open source de tests de charge a d’emblée été pensé pour être utilisé « sous le manteau », selon Paul-Henri Pillet, CEO et cofondateur de Gatling Corp. « Stéphane Landelle a passé beaucoup de temps à optimiser les performances de Gatling afin que le framework puisse s’exécuter sur quelques serveurs, voire sur un seul ordinateur », indique-t-il.

Gatling, un framework open source éprouvé

Gatling repose sur deux librairies. Il y a d’un côté Akka, une bibliothèque permettant de développer des applications concurrentes, distribuées et orientées messages en Java ou en Scala s’exécutant sur des JVM. De l’autre côté, le projet Netty est un framework non bloquant d’entrée sortie pour le développement d’application réseau java. Tout comme Akka, Gatling est majoritairement écrit en Scala. Dans ce contexte, Netty sert à gérer le mode non bloquant d’un client HTTP, tandis que Akka motorise l’orchestration des « utilisateurs virtuels », en clair les charges à injecter dans l’application cible.

Gatling permet d’attribuer à un utilisateur virtuel des données et des chemins de navigation dans une application Web. Ces scénarii définis par des scripts correspondent à des actions qu’un usager lambda pourrait effectuer sur une application. Un DSL (langage spécifique au domaine) a été mis au point pour orchestrer ces simulations concurrentes.

« Le système d’I/O non bloquant et le fait que Gatling implémente les utilisateurs virtuels comme des messages ont permis d’améliorer considérablement les performances des tests. »
Paul-Henri PilletCEO et cofondateur, Gatling Corp

« À l’époque, la plupart des outils de tests de charge allouaient un thread par utilisateur virtuel. Le système d’I/O non bloquant et le fait que Gatling implémente les utilisateurs virtuels comme des messages ont permis d’améliorer considérablement les performances des tests », assure Paul-Henri Pillet.

Stéphane Landelle et Paul Henri Pillet se sont rencontrés en 2014. « À l’époque, j’étais en école de commerce et je cherchais un travail pour financer mes études. L’employeur de Stéphane Landelle, une ESN [Takima N.D.L.R.], m’a embauché pour réaliser une étude de marché consacrée aux tests de charge. Je n’ai pas une formation IT, mais je me suis rapidement rendu compte que le domaine était encore naissant », raconte-t-il. « J’ai donc interrogé les utilisateurs de Gatling. L’on s’est retrouvé à discuter avec les équipes d’Apple qui développaient Maps [Apple Plans en français, N.D.L.R.]. Ils utilisaient massivement Gatling de manière automatisée ». 

Le difficile équilibre entre succès technique et performance commerciale

C’est l’élément déclencheur de la création Gatling Corp. Paul-Henri Pillet s’attelle à convaincre Stéphane Landelle et son employeur de lancer un spin-off, un éditeur qui supporterait commercialement le framework. La société naît un an plus tard, en 2015. S’en suivent deux années difficiles où les cofondateurs tentent de trouver un modèle économique pertinent. « J’ai mené une conférence où j’ai expliqué tous les business models que nous avons essayés et qui n’ont pas fonctionné. Les gens ont trouvé cela très intéressant », s’amuse le CEO.

La société, encore incubée à l’époque, ne souhaitait pas toucher à la licence Apache 2.0 du framework. C’est justement parce qu’il est open source que Gatling a gagné ses lettres de noblesse. « En 2014, nous étions à 30 000 téléchargements, aujourd’hui, nous sommes à plus de 20 millions », expliquait Paul-Henri Pillet à la fin du mois de décembre 2023. « Nous ne voulions vraiment pas freiner cette dynamique-là et c’était d’autant plus simple de faire des propositions commerciales que le logiciel était déjà déployé dans une partie des DSI ».

Après avoir testé différentes approches et mené des missions de service et consultance consacrées à l’implémentation de l’outil, les cofondateurs ont constaté que certaines demandes revenaient régulièrement : la mise en place de tableau de bord, l’orchestration des injecteurs de charges ou encore la centralisation des tests. En 2016, Gatling Corp. lance une version entreprise de l’outil, Gatling FrontLine, afin d’unifier ces fonctionnalités. « Nous signons notre premier client en 2017. À partir du moment où nous avons vendu la solution, nous étions complètement et durablement autofinancés », signale Paul-Henri Pillet.

La solution, d’abord on premise, séduit de grands groupes. « Nous avons pris le chemin inverse de bon nombre de startups françaises qui lancent une solution SaaS en direction de clients PME. Cela nous a permis de nous frotter rapidement à toutes les problématiques de sécurité, de complexité, de pluralité des environnements ».

Une croissance favorisée par l’adoption du cloud et de Kubernetes

Bien que reconnu par les développeurs et les analystes IT, en 2015, Gatling Corp peinait à convaincre le marché et les investisseurs de la pérennité de sa solution, alors que les fournisseurs cloud promettaient de résoudre la majorité des problèmes de performances. Presque dix ans plus tard, la startup considère qu’elle ne s’est pas trompée. « Nous nous sommes positionnés au bon moment. L’explosion du cloud, de l’approche DevOps, de technologies comme Kubernetes a rendu impossible la gestion de la performance au doigt mouillé », observe le CEO.

Si au début Gatling était utilisé de manière ponctuelle, certaines entreprises ont systématisé et automatisé les tests de charge. Ces acteurs ont souvent fait le choix de les intégrer dans leur chaîne CI/CD, afin d’analyser les performances avant même la mise en production de certains composants. L’éditeur français mise désormais sur le fait que les entreprises anticipent leur trafic et optimisent leur performance en s’appuyant sur sa solution. « Il y a différentes typologies de tests pour identifier des capacités limites, des points cassants, des fuites de mémoire, etc. », vante Paul-Henri Pillet.

Après le lancement d’une version SaaS, Gatling FrontLine a été renommée Gatling Enterprise. La version à la demande (Gatling Enterprise Cloud) est disponible depuis les marketplaces d’AWS et d’Azure. Une variante dédiée à Google Cloud est prévue. Le modèle économique repose sur des forfaits à la minute de tests.

Cette plateforme doit permettre d’automatiser le déploiement de générateurs de charge, de prendre en charge les projets de différentes équipes. L’éditeur a mis au point des intégrations avec Maven, Gradle, Sbt, les outils Teamcity, Jenkins, GitLab, Bamboo ou encore GitHub Actions. Les données de tests peuvent être visualisées avec Grafana, tandis que les usagers peuvent être notifiés et recevoir des résumés des opérations depuis Slack ou Teams. Outre les protocoles HTTP, Websocket et JMS, l’outil supporte gRPC, Cassandra CQL, AMQP, Kakfa et JDBC.

Gatling Enterprise est adopté par Adobe, Sophos, Criteo, SNCF Connect, ou encore Thefork.

Afin de simplifier l’adoption de sa solution par les développeurs et les testeurs, Gatling Corp a développé des DSL spécifiques à Java et à Kotlin. « Nous avons également lancé une interface no-code pour accélérer le lancement des premiers tests et nous sommes en train d’intégrer un DSL JavaScript », renseigne le CEO. « Pourquoi ? Parce qu’il manque un outil commun, centralisé pour tester des applications écrites dans différents langages ». Désormais, environ 90 % des premiers tests sont effectués à l’aide de l’interface no-code. « Nous avons abaissé la première marche à l’entrée ».

Pour autant, les fournisseurs cloud, les éditeurs de solution CI/CD, d’outils d’observabilité et maintenant les deux grands noms de l’approche GitOps, GitHub et GitLab, tendent à intégrer ce type de fonctionnalités dans leurs offres.

« La concurrence vient plutôt des pure-players, mais pour l’instant, il n’y a pas de solutions sur le marché qui nous met en difficulté », déclare le dirigeant de Gatling Corp. « De notre côté, nous œuvrons à diversifier la typologie de tests, notamment en ajoutant à notre panoplie les tests fonctionnels d’API ».

Gatling Corp estime que les investissements dans l’optimisation de son moteur lui permettent de se différencier sur le long terme. « Ce sont des sujets tellement spécifiques et complexes qu’il faut être un spécialiste pour se démarquer », considère Paul-Henri Grillet.

La feuille de route de Gatling Corp

Tout l’enjeu pour l’entreprise est de couvrir un plus grand nombre de contextes technologiques, de remonter davantage de logs et de les corréler sans nuire aux performances de sa solution. En ce sens, en 2024, Gatling Corp espère renforcer ses partenariats avec les acteurs du monitoring.

« La version open source correspond au générateur de charges, tandis que la version entreprise est un orchestrateur centralisé de tests. »
Paul-Henri PilletCEO et cofondateur, Gatling Corp

Outre le développement d’un DSL JavaScript, les tests fonctionnels et la corrélation de logs, la startup entend diversifier les formats des rapports, qui sont de plus en plus partagés en interne par ses usagers. Récemment, Gatling Enterprise Cloud a intégré la fonction Private Locations, qui permet aux entreprises des secteurs régulés de déployer un control plane localement et d’exécuter les générateurs de charges sur un réseau privé, tout en orchestrant la configuration depuis l’interface cloud. Cela doit également permettre aux entreprises de ne pas gérer le déploiement de la base de données Apache Cassandra habituellement nécessaire pour récolter les données de test avec la version on-premise.

Par ailleurs, l’éditeur entend revoir la version open source afin d’en simplifier le déploiement. « La version open source correspond au générateur de charges, tandis que la version entreprise est un orchestrateur centralisé de tests », distingue Paul-Henri Pillet.

Après une première levée de fonds en seed en 2020, Gatling prépare une deuxième campagne de collecte afin de poursuivre ses efforts R&D et s’installer aux États-Unis. « Jusqu’ici, nous avons pu gérer la plupart des interactions à distance, mais nos clients outre-Atlantique investissent beaucoup dans notre solution et nous devons les accompagner pour répondre à leurs enjeux critiques », indique le dirigeant. L’entreprise indique qu’environ 40 % des 100 000 entreprises utilisatrices de l’outil de test de charges sont localisées aux États-Unis.

Si Gatling Corp estime qu’il lui faut environ 15 millions d’euros pour mener l’ensemble de ses projets, l’éditeur français n’est toutefois pas pressé. « Ce n’est pas la meilleure période. Nous préférons nous donner le temps et lever dans de bonnes conditions », renseigne le CEO.

Pour approfondir sur Outils de développement

Close