• Home
  • Blog
  • Pourquoi nous construisons Easy LMS dans une architecture de microservices

Pourquoi nous construisons Easy LMS dans une architecture microservice | Development Talks

In the interview series Development Talks, we give you a look behind the scenes of our developer processes. This time we spoke to our former back-end developer, Thomas. He explained to us why we use a microservice structure at Easy LMS. What is it? And how does it contribute to a better for our company and its clients?

Publié le
29 juin 2021
Temps de lecture
6 Minutes
Rédigé par
Knowly

Priscila:Merci de m'avoir rejointe pour cette interview, Thomas ! La première chose que j'aimerais savoir (et je pense que la plupart des lecteurs), c'est ce qu'est l'architecture microservice. Pouvez-vous m'expliquer ?

Thomas:Pas de problème. L'architecture microservice est une façon de construire un code en plusieurs parties ou référentiels. Nous pouvons dire que nous divisons la façon dont nous construisons le code en plusieurs instances au lieu de construire un seul gros bloc de code.

Priscila:Intéressant. Cela signifie que l'équipe de développement construit des morceaux de code indépendants qui s'intègrent au reste du logiciel, n'est-ce pas ? Mais il n'en a pas toujours été ainsi dans Easy LMS. Pourquoi l'équipe de développement a-t-elle vu la nécessité de changer la façon dont vous construisez le code ? Qu'est-ce qui a conduit à cela ? Était-ce une nouvelle tendance ou quelque chose comme ça ?

Thomas:Oui, c'est une tendance, mais ce n'était pas la raison principale. Nous avons toujours connu l'architecture microservice. Mais au début, nous avons construit Easy LMS comme de gros morceaux de code, ou ce qu'on appelle un monolithe. Quand nous avons commencé à grandir en tant qu'entreprise, nous avons eu beaucoup plus de trafic sur le site web, ce qui a créé beaucoup de problèmes, comme des pages qui ne répondent pas et des bugs. Nous avons réalisé que nous devions changer la façon dont nous construisions le code afin que le site web puisse s'ajuster et évoluer automatiquement.

.

Priscila:Pouvez-vous donner un exemple de quelque chose que nous avons construit dans une architecture de microservices ? .

Thomas : Un exemple récent de microservice que nous avons mis en œuvre est la nouvelle fonction d'exportation pour l'exportation de la session d'examen et l'exportation des données des participants. Nous l'avons réalisée au cours des deux derniers cycles. Les anciennes exportations fonctionnaient dans notre ancienne "grande usine" avec de nombreuses autres choses et n'étaient pas optimisées. 

Priscila: Cool ! Y a-t-il d'autres parties d'Easy LMS que nous avons construites avec une architecture de microservices ?

Thomas:Oui, il y en a. L'une des plus intéressantes est le nouveau design de l'Académie. Nous avons construit la nouvelle Académie avec React, qui est un cadre de construction d'interfaces. Nous l'avons construite à partir de l'ancienne architecture (le monolithe), nous avons pris des morceaux de ce morceau et nous avons créé une partie autonome. Nous avons également créé une API (interface de programmation d'applications) pour récupérer les données à afficher dans l'interface. Nous disposons désormais de deux parties autonomes : l'une pour la collecte des données et l'autre pour l'affichage de ces données. Elles sont plus petites et plus faciles à maintenir. 

Priscila:D'après ce que vous m'avez dit, nous avons encore du vieux code. Est-ce un problème que nous ayons maintenant deux types de code dans le système ? ? Est-il prévu de le mettre à jour ?

Thomas:Non, ce n'est pas un problème. C'est un processus. Nous avons construit les premières parties du système en utilisant la méthode des "gros morceaux de code". Il est prévu de les remplacer. Mais les clients ne peuvent pas remarquer la différence. Nous construisons le nouveau code de manière à ce qu'il puisse fonctionner de manière transparente avec l'ancien code.

Priscila:Compris. En tant que développeur, que préférez-vous ? Est-il plus facile ou plus compliqué de construire du code avec une architecture de microservices par rapport au processus précédent ? .

Thomas:Oui, il est beaucoup plus facile de penser par petits bouts et de maintenir le nouveau code. Nous envisageons de mettre à jour l'interface du participant à l'avenir, afin qu'elle fonctionne mieux en combinaison avec l'Académie et avec elle-même. Si nous la construisons avec une architecture de microservices, il sera beaucoup plus facile d'ajouter des fonctionnalités car nous pourrons travailler sur chaque partie individuellement.

Priscila:Alors, en quoi le fait de travailler avec des microservices a-t-il changé votre façon de travailler ?

Thomas:Nous pouvons développer plus rapidement et mieux. Les microservices nous aident à maintenir le site web et nous permettent de publier des choses plus rapidement.

Priscila: Est-ce que cela affecte le fait de toucher des parties non désirées du système, comme, par exemple, lorsque vous essayez de résoudre un problème et que vous finissez par en créer un autre (tel qu'un bug) ?

Thomas:Oui, même il y a un an, lorsque nous essayions de résoudre des choses qui impliquaient beaucoup de code, nous finissions par travailler sur trop de choses inutiles. Par exemple, si nous devions résoudre X, nous résolvions Y et créions ensuite un bogue Z. Le fait de travailler avec des microservices a permis de réduire ce problème.

Priscila:Ok. Je vois que l'architecture microservice facilite le travail de l'équipe de développement. Mais comment cela affecte-t-il nos clients et leurs participants ?

Thomas:Comme je l'ai dit, les clients ne remarquent pas (et ne devraient pas remarquer) les différentes parties du code. Tout doit fonctionner ensemble pour créer une expérience fluide. Les clients peuvent en bénéficier parce que nous pouvons maintenant sortir de nouvelles fonctionnalités plus rapidement et les améliorer en fonction de leurs commentaires.

Priscila: Cela a beaucoup de sens. D'après mes souvenirs, cela correspond aux principes du Kata d'amélioration de Toyota que nous appliquons dans l'entreprise. Il est préférable de créer un prototype, d'obtenir un retour d'information et d'améliorer la fonctionnalité plutôt que de passer beaucoup de temps sans savoir comment les clients l'accueilleront. Merci de vous être joint à moi pour cette interview!

Thomas:Oui, je pense que cela fonctionne mieux. J'espère avoir pu vous éclairer sur le fonctionnement de notre équipe de développement chez Easy LMS ! De rien.

Découvrez nos autres articles de blog

Caroline

Caroline

22 avr. 2025

Votre premier mois

Quand on décroche un nouvel emploi, on est impatient de commencer ! Mais il y a quand même toujours un peu d'appréhension. Qu'est-ce qui vous attend ? À quoi ressembleront vos premières semaines ? Et en combien de temps pourrez-vous réellement apporter de la valeur ajoutée ? C'est sur ce dernier point que nous allons nous concentrer. Notre programme d'onboarding complet pour les ingénieurs logiciels vous aidera à faire connaissance avec notre entreprise, vos collègues et vos tâches en un rien de temps ! Découvrez comment nous vous accompagnons dans vos premiers pas !

En savoir plus
Caroline

Caroline

12 déc. 2024

Nos avantages en matière d'emploi secondaire expliqués

Si le salaire est un élément important dans le choix d'un emploi, il ne faut pas oublier les avantages qui l'accompagnent. Les avantages secondaires peuvent vraiment adoucir l'affaire ! Nous sommes convaincus d'avoir mis au point un ensemble d'avantages fantastiques. Plongez dans tous nos merveilleux extras !

En savoir plus
Caroline

Caroline

8 avr. 2025

Travailler et s'épanouir !

Travailler pour Easy LMS est gratifiant ! Bien sûr, nous offrons un salaire compétitif, une indemnité de déplacement et de travail à domicile, ainsi que 25 jours de congés payés par an ! Mais nous sommes également fiers de vous offrir des avantages qui vous aideront à vous sentir au top et à donner le meilleur de vous-même. Votre bien-être, physique et mental, est une priorité absolue ! Parce que nos employés sont l'épine dorsale de notre organisation.

En savoir plus