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.