Via sa plateforme en ligne et son application, JobTeaser met en relation étudiants et entreprises afin d’aider ces premiers à s’orienter et s’accomplir professionnellement. Aujourd’hui, la plateforme s’appuie sur un écosystème comptant plus de 4 millions d’étudiants et diplômés, 80 000 entreprises clientes ainsi que 700 établissements d’enseignement supérieur partenaires. La croissance continue de l’entreprise et son expansion à l’international l’a conduite à adopter de nouvelles solutions pour ses besoins en infrastructure.

Marc-Antoine Adélise, Infrastructure Chapter Lead chez JobTeaser, nous livre un retour d’expérience complet sur la migration vers l’infrastructure cloud d’AWS.

Avant sa migration vers AWS, l’infrastructure de JobTeaser est passée par plusieurs étapes afin de suivre la croissance de son trafic. A ses débuts, l’entreprise utilisait un serveur unique dédié au fonctionnement de l’application. Elle a ensuite séparé la base de données et le frontal sur 2 machines, avant de finalement mettre en place de la réplication et un équilibrage de la charge sur des machines virtuelles.

Malgré un meilleur dimensionnement, cette infrastructure continuait de présenter certaines lacunes, comme nous l’explique Marc-Antoine Adélise : « Le catalogue de machines virtuelles proposé par notre infogéreur était assez limité […] Les délais de provisionnement en infrastructure étaient très longs, une commande d’un serveur pouvait être livrée deux voire trois semaines plus tard, un délai difficile à faire tenir dans les sprints et dans l’organisation des développements de nos équipes. […] L’infogéreur s’occupant de notre infrastructure ne disposait d’aucune compétence en interne sur Kubernetes, un facteur limitant à nos yeux ».

Problématique :

  • Pouvoir dimensionner rapidement et efficacement l’infrastructure selon les objectifs de croissance
  • Accompagner la croissance de l’équipe de développement en évoluant vers une architecture à base de micro-services
  • Réduire le délai de déploiement de nouvelles fonctionnalités apportées à la plateforme

L’entreprise avait plusieurs motivations en tête en faveur de l’adoption du cloud, comme l’explique Marc-Antoine : « Nous souhaitions réduire le time-to-market afin de livrer plus fréquemment des incréments de valeur sur notre plateforme. […] Pour livrer ces incréments nous avions besoin d'éclater notre monolithe en micro-services afin de répartir nos équipes de développement différemment […] Les arguments de conformité (RGPD) et de passage à l’échelle des ressources ont également pesé dans la balance alors que JobTeaser était en phase ascendante et signait de nouveaux marchés. »

Par ailleurs, JobTeaser était intéressé par la possibilité de déployer rapidement des environnements de développement identiques à ceux de production, ainsi que par la scalabilité et la fiabilité de l’infrastructure AWS. L’écosystème complet de services proposés par AWS représentait également pour JobTeaser un terreau d’innovation fertile pour les équipes de développement.

Mais une simple migration des VMs vers le cloud AWS ne répondait pas à leurs besoins en agilité. Pour accompagner la croissance de ses équipes de développement, JobTeaser a aussi fait le choix de réarchitecturer toute son application sous forme de micro-services conteneurisés en utilisant Kubernetes. Cet orchestrateur de conteneurs open-source leur accorderait une plus grande flexibilité et surtout : « la possibilité de développer plusieurs micro-services en parallèle gérés par différentes équipes qui ne se marchent pas sur les pieds » ajoute Marc-Antoine. En ligne de mire : réorganiser les équipes techniques avec une redistribution des rôles basée sur le principe de « you build it, you run it ».

Migrer de VMs infogérées par un hébergeur traditionnel vers Kubernetes dans le cloud AWS, c’est un chantier conséquent. Une fois le feu vert accordé par la direction, JobTeaser a constitué une équipe temporaire dédiée à cette migration, embryon de l’actuelle équipe Infrastructure. L’entreprise a également bénéficié du soutien appuyé d’AWS : « AWS nous a notamment aidé à définir les plans de migration ainsi que l’architecture cible » nous indique Marc-Antoine. JobTeaser a par ailleurs fait appel à un cabinet de conseil expérimenté sur ce type de migration pour apporter de la main d’œuvre spécialisée.

La migration s’est déroulée en 4 phases :

  1. mise en place d’un environnement de développement, avec l’application conteneurisée sur un cluster Kubernetes et une chaîne d’intégration et de déploiement en continu ;
  2. création de l’environnement de production, dimensionné en se basant sur des tests de charge, et validation de la sécurité réseau ;
  3. transfert des données existantes vers Amazon S3, des bases de données, et bascule du trafic des utilisateurs vers le nouvel environnement de production ;
  4. alignement des équipes techniques mais aussi des équipes commerciales pour bénéficier pleinement de la nouvelle infrastructure.

La migration de JobTeaser vers AWS a apporté plusieurs bénéfices immédiatement visibles :

  • une infrastructure plus complexe en apparence, mais mieux définie et maîtrisée ;
  • une division par trois du délai d’allocation des ressources et une plus grande souplesse dans leur dimensionnement ;
  • un time-to-market réduit de manière drastique ;
  • un meilleur suivi des changements effectués sur la plateforme.

Ce que Marc-Antoine relève tout particulièrement sont les évolutions des équipes de JobTeaser en termes d’autonomie et de compétences : « Le niveau de maturité de notre équipe technique a augmenté puisqu’elle dispose désormais de davantage de responsabilités et d’emprise sur les ressources nécessaires aux applications » souligne-t-il. Pour y arriver, la nouvelle équipe Infrastructure a mis en place un mentorat pour aider les développeurs moins expérimentés à monter en compétences. Les équipes ont par ailleurs adopté de nouvelles pratiques en termes de partage de connaissances, notamment en documentant les modifications apportées à l’infrastructure, ce qui permet de faire monter le niveau général des équipes.

Pour les entreprises qui hésitent, Marc-Antoine recommande de migrer vers AWS, mais de le faire « pour les bonnes raisons : si vous avez besoin de scalabilité, d’adresser de nouveaux marchés ou de changer le dimensionnement de votre service […] ou si vous avez des besoins forts quant à la haute disponibilité et fiabilité de votre service ». Et il ajoute : « Sur AWS vous avez beaucoup de mécanismes qui vous rendront la vie plus facile en termes de gestion de votre infrastructure au quotidien. »

Par ailleurs, il met en garde contre le fait de se lancer tête baissée dans un tel projet sans en avoir bien défini tous les aspects et prérequis : « Plus une migration est longue, plus elle coûte cher, en suivant les bonnes pratiques on peut s'assurer de bien la dimensionner et d'en obtenir le retour sur investissement escompté ».

Il loue la collaboration avec AWS qui les a accompagné tout au long de cette transition et s’est montré être un partenaire accessible et efficace : « En termes de partenariat, AWS est vraiment un acteur sur lequel vous pouvez compter. Par exemple lorsqu'il s'agit de réduction de coûts ou de s'assurer que les ressources financières sont bien allouées, les équipes d'AWS sont compétentes et disponibles pour aborder ces sujets-là, et ce n’est pas tous les jours qu’on tombe sur un fournisseur qui arrive à aligner ses intérêts avec les vôtres aussi bien ».

Enfin, Marc-Antoine révèle que lors de leur récente levée de fonds, leur nouvelle infrastructure chez AWS ainsi que la maturité technique des équipes a permis de rassurer leurs futurs investisseurs dans leur capacité de passer à l’échelle et de conquérir de nouveaux marchés.