Passez du monolithe aux microservices avec GKE.
Recruter la bonne architecture pour les Candidats à l'emploi avec Google Kubernetes Engine
La plateforme de recrutement PathMotion Clinch a géré une migration progressive et sans douleur d'une architecture monolithique vers des microservices structurés et évolutifs sur Google Cloud, avec l'aide du centre de compétences OP-Rate.
RESULTATS
- Passer à l'échelle rapidement avec une architecture micro services sur Google Kubernetes Engine.
- Répliquer les bases de données pour minimiser l'impact sur les performances des tâches à forte charge, telles que le dessin des indicateurs de performance clés.
- Répondre rapidement aux demandes de conformité avec des informations et des conseils de sécurité détaillés de Google Cloud.
ENABLES NEAR INSTANT RECOVERY FROM OUTAGES
Le meilleur moyen de savoir ce que c'est que de travailler dans une entreprise est de le demander à un employé. Cette idée simple est la force motrice de PathMotion, une plateforme de discussion en ligne où les employés partagent leurs conseils avec les candidats à l'emploi. En facilitant l'interaction entre les candidats et les employés, PathMotion contribue à humaniser le processus de recrutement pour tout le monde, des candidats aux équipes de ressources humaines.
"Ce que nous proposons est unique sur le marché des technologies RH", déclare Raphaël Antonmattei, directeur technique de PathMotion. "Les candidats peuvent choisir de parler à des employés de secteurs verticaux et de départements spécifiques. Et ils peuvent leur parler de tout ce qu'ils veulent. Le contenu de recrutement standard a souvent été revu tellement de fois qu'il manque de personnalité. PathMotion apporte de l'authenticité, avec des réponses honnêtes de vrais employés.
Une architecture microservices n'est pas seulement idéale pour la mise à l'échelle, c'est aussi un moyen facile de migrer vers le cloud, un service à la fois. Pour les ingénieurs qui découvrent la technologie, cette approche étape par étape est un excellent moyen de se familiariser avec le cloud et ses possibilités.
— Raphaël Antonmattei, CTO, Pathmotion
Avec des clients en France et au Royaume-Uni, PathMotion cherche à s'étendre à de nouveaux marchés. Pour ce faire, PathMotion a collaboré avec le centre de compétences en nuage OP-Rate pour migrer son application monolithique vers une architecture de microservices hautement évolutive sur le nuage.
"Une architecture de microservices n'est pas seulement idéale pour la mise à l'échelle, c'est aussi un moyen facile de migrer vers le nuage, un service à la fois", explique Raphaël. "Pour les ingénieurs qui découvrent la technologie, cette approche étape par étape est un excellent moyen d'apprendre à connaître le cloud et ce qu'il peut faire.
CRÉER UNE ARCHITECTURE SCALABLE ET STRUCTURÉE AVEC DES MICRO SERVICES
Les avantages initiaux de l'architecture monolithique commencent à s'estomper au fur et à mesure que l'entreprise se développe, explique Raphaël : "L'architecture monolithique commence par nécessiter peu de maintenance, mais au fur et à mesure que votre base de code s'étoffe, elle devient de plus en plus difficile à maintenir. Elle encourage une méthode de travail non structurée, qui consiste à prendre de nombreux raccourcis pour développer rapidement. Cela a un coût, car lorsque vous ajoutez des fonctionnalités au code, les fonctionnalités existantes sont affectées. L'ensemble devient plus compliqué et plus difficile à gérer".
Alors que PathMotion cherchait à développer davantage de fonctionnalités et à faire évoluer sa plateforme, elle s'est efforcée d'anticiper les problèmes avant qu'ils ne surviennent. "D'après mon expérience, je savais qu'à un moment donné, notre capacité à maintenir le système se heurterait à un obstacle", explique Raphaël. "Je voulais l'anticiper. Il vaut mieux bouger quand on n'en a pas encore besoin, quand on a encore de la marge, plutôt que de se précipiter, de risquer des erreurs et de stresser l'entreprise".
PathMotion a choisi de construire ses microservices avec Google Cloud, dans le cadre d'une approche progressive permettant de tirer le meilleur parti des services gérés. "Lorsque nous avons commencé à construire notre architecture, nous avons utilisé App Engine pour certains services", explique Raphaël. "C'est facile à configurer, l'autoscaling est en place, nous n'avons pas à nous occuper du réseau ou de l'équilibrage de charge, et il y a beaucoup de sécurité intégrée. Ses serveurs web étant toujours sur site, l'équipe a commencé à exécuter certaines parties de son architecture dans le nuage, notamment sa base de données dans Cloud SQL. Et pour migrer le reste de sa plateforme dans le nuage, Raphaël et son équipe se sont adressés au centre de compétences en nuage OP-Rate.
"OP-Rate nous a présenté un plan de déploiement de notre solution sur Google Kubernetes Engine (GKE)", explique Raphaël. "Au lieu de tout transférer dans une seule instance, il nous a conseillé de diviser les choses et de construire un cluster complet. Il nous a fourni deux environnements : un environnement d'essai et un environnement de production, de sorte qu'il n'y a pas eu de temps d'arrêt pendant la migration. Le projet s'est déroulé en douceur.
Ce qui est formidable avec Google Kubernetes Engine, c'est que nous pouvons allouer le CPU et la mémoire de manière très granulaire. Cela signifie que nous pouvons mettre plus de ressources sur notre front-end, là où se trouve le trafic, et n'utiliser que ce dont nous avons besoin pour notre back-office, minimisant ainsi le gaspillage.
— Raphaël Antonmattei, CTO, Pathmotion
Avec les microservices sur GKE, tous les éléments de la plateforme PathMotion sont soutenus par une double redondance modulaire, ce qui signifie que si un aspect de la solution rencontre des problèmes, il est rapidement remplacé. "Bien que nous ayons des serveurs de secours dans notre ancienne infrastructure sur site, ils se trouvaient au même endroit", explique Raphaël. "La reprise après sinistre prenait quelques heures. Aujourd'hui, tout est répliqué là où nous en avons besoin, de sorte qu'en cas de panne, nous pouvons reprendre le travail immédiatement, et les clients ne voient pas de différence dans le service."
La réplication des services permet également à Raphaël et à son équipe de limiter l'impact des tâches à forte demande sur les autres processus utilisant le même système. "Nous pouvons reproduire la partie du système d'où sont tirés de nombreux indicateurs de performance, spécifiquement pour cette tâche", explique Raphaël. "Auparavant, l'élaboration de ces indicateurs de performance prenait des heures et sollicitait fortement notre base de données. Désormais, nous pouvons appeler une base de données répliquée en seulement deux clics, ce qui élimine presque totalement l'impact sur les autres processus". L'isolation des tâches et la réplication des ressources sont deux des façons dont PathMotion tire le meilleur parti d'une plus grande granularité grâce à GKE.
"L'avantage de Google Kubernetes Engine est que nous pouvons allouer l'unité centrale et la mémoire de manière très granulaire", explique Raphäel. "Cela signifie que nous pouvons mettre plus de ressources sur notre front-end, là où se trouve le trafic, et n'utiliser que ce dont nous avons besoin pour notre back-office, minimisant ainsi le gaspillage."
RÉPONDRE RAPIDEMENT AUX DEMANDES DE CONFORMITÉ
Le processus de recrutement est souvent sensible, ce qui signifie que la confidentialité et la sécurité sont des préoccupations majeures pour PathMotion et ses clients. Avec une base de clients qui comprend déjà des multinationales de renom, PathMotion s'appuie sur Google Cloud pour répondre à ses exigences en matière de conformité.
"Les grandes entreprises ont de nombreuses exigences en matière de conformité et de sécurité", explique Raphaël. "Il est assez difficile pour une petite startup de les remplir rapidement, et nous avons vu la complexité et la fréquence de ces demandes augmenter au fil des ans." Comme les discussions sur la conformité en matière de sécurité surviennent généralement tard dans le processus de vente, l'équipe de PathMotion doit être prête à répondre rapidement aux questions, afin d'éviter de compromettre un accord.
"Google Cloud propose une offre de sécurité claire et bien documentée qui répond aux normes internationales, allant des pare-feu à la protection contre les attaques DDoS", explique Raphaël. "Et lorsque nous avons besoin d'une aide supplémentaire, nous pouvons poser des questions directement à l'équipe de Google Cloud.
Nous souhaitons structurer davantage notre façon de travailler. La méthode de Google Cloud est idéale à cet égard. Elle est très bien organisée : il y a de tout, des services totalement gérés aux services qui ne le sont pas du tout. Nous fixons le curseur pour savoir où nous voulons aller.
— Raphaël Antonmattei, CTO, Pathmotion
JETER LES BASES D'UNE CROISSANCE FUTURE
La plateforme PathMotion est désormais entièrement sur Google Cloud, avec une architecture de microservices hautement évolutive qui jette les bases des développements futurs. Parallèlement, la réplication sur GKE facilite le déploiement sur de nouveaux marchés tels que les États-Unis. Les deux objectifs initiaux ayant été atteints, l'équipe cherche maintenant à utiliser les outils de Google Cloud pour offrir des fonctions d'IA et de ML construites au-dessus de la solution existante.
"Nous voulons devenir plus structurés dans notre façon de travailler", explique Raphaël. "La façon dont Google Cloud est configuré est idéale pour cela. Il est très bien structuré : il y a de tout, des services totalement gérés aux services qui ne le sont pas du tout. Nous fixons le curseur pour savoir où nous voulons aller".
A Propos
PathMotion Clinch est une plateforme de discussion en ligne qui met en relation des candidats à l'emploi avec des employés réels via le site carrière de l'entreprise. Fondée en 2009, PathMotion a des bureaux à Paris et à Londres.
Localisation: France
INDUSTRIE
- RH
TECHNOLOGIES
- Google Cloud
- Kubernetes Engine
- AppEngine
PARTENAIRE
Retrouvez ce témoignage chez notre partenaire Google Cloud
Découvrez nos réussites
de transformation numérique
Modernisez ses applications
Devenez Cloud Native et passez à l'échelle avec Google Kubernetes Engine.
Moderniser son infrastructure
Sécurisez et fiabilisez votre plateforme avec Google Compute Engine et Kubernetes Engine