Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel

Le passage des microservices aux monolithes : une plongée en profondeur

Les entreprises qui repensent leurs structures logicielles retournent vers des monolithes pour différentes raisons.

― 7 min lire


Les monolithes font leurLes monolithes font leurretour.l'architecture monolithique.microservices au profit deLes entreprises reconsidèrent les
Table des matières

Récemment, pas mal d'entreprises passent de l'utilisation des Microservices à une structure monolithique. Ce changement a suscité pas mal de discussions dans la communauté tech. Une étude s'est penchée sur les raisons de ce phénomène et sur ce que les entreprises doivent considérer avant de franchir le pas.

C'est quoi les Microservices ?

Les microservices, c'est une façon de concevoir des logiciels. Dans cette méthode, une application est divisée en petites parties qui fonctionnent indépendamment. Ça permet aux équipes de bosser sur différentes parties d'une app en même temps, ce qui peut accélérer le développement. Beaucoup de grandes entreprises comme Netflix et Amazon ont adopté ce modèle pour profiter de ces avantages.

Pourquoi les Entreprises Repassent au Monolithe ?

Alors que certaines entreprises ont réussi avec les microservices, d'autres ont rencontré des défis qui les ont amenés à reconsidérer. Voici quelques raisons courantes pour lesquelles les entreprises retournent à une structure monolithique :

Coût

L'un des plus gros motifs du changement, c'est le coût. Beaucoup d'entreprises se rendent compte que faire tourner plusieurs services peut coûter cher. Par exemple, Amazon Prime Video a constaté que sa structure de microservices entraînait des Coûts opérationnels élevés. Après avoir analysé leurs dépenses, ils ont décidé qu'un retour à une application monolithique pourrait réduire les coûts de manière significative. En fait, ils ont rapporté des économies de plus de 90 % sur leurs coûts d'infrastructure en faisant ce changement.

Complexité

Les microservices peuvent compliquer les choses. Chaque service peut utiliser des langages ou des outils différents, et gérer plusieurs services peut devenir un casse-tête. Des sociétés comme Istio ont découvert que leurs microservices ont entraîné plus de complexité, rendant la gestion de l'ensemble plus difficile. Cette complexité accrue peut ternir les bénéfices que les microservices sont censés apporter, comme un développement plus facile.

Scalabilité

Bien que les microservices puissent bien évoluer, il y a des cas où ils peuvent devenir un goulet d'étranglement. Par exemple, Amazon Prime Video a atteint une limite sur la manière dont ils pouvaient évoluer en utilisant des microservices. Gérer chaque microservice et sa Performance peut être compliqué, ce qui entraîne une surcharge opérationnelle. Beaucoup d'entreprises trouvent plus facile de faire évoluer un monolithe où tout est sous un même toit.

Performance

Certaines entreprises rencontrent des problèmes de performance avec les microservices. Par exemple, Segment a connu des retards à cause de la façon dont les microservices communiquent entre eux. Ces retards peuvent affecter l'expérience utilisateur, surtout quand la rapidité est cruciale. La complexité accrue due à la gestion de nombreux services peut également entraîner une performance plus lente, car les équipes passent plus de temps à résoudre des problèmes qu'à coder.

Organisation

Gérer les équipes efficacement est un autre défi. Dans certains cas, la structure des équipes conçue autour des microservices ne fonctionne pas bien. Istio a découvert que leurs équipes peinaient sous le modèle des microservices, tandis qu'InVision avait des défis à cause d'un trop grand nombre de services à gérer par rapport à la taille de leur équipe de développement. Avec le temps, regrouper les services dans un seul monolithe peut simplifier la gestion.

Points Clés à Considérer Lors du Retour

Si une entreprise décide de faire le switch des microservices à un monolithe, il y a plusieurs points importants qu'il faut garder à l'esprit :

Arrêter de Développer Plus de Services

Lors de la transition, il est crucial d'arrêter d'introduire de nouveaux services. L'objectif est de consolider les services existants en un nouveau système central. Si de nouveaux services sont constamment ajoutés, ça peut compliquer la transition et créer de la confusion.

Consolider et Tester les Chemins

Fusionner des microservices dans une application monolithique nécessite un examen attentif de la façon dont les données circulent entre différentes parties des services. Il est important de s'assurer que les chemins de communication sont consolidés efficacement et testés en profondeur. Ça aide à garantir que le nouveau système fonctionne correctement après la transition.

Unifier le Stockage des Données

Les entreprises doivent décider comment gérer le stockage des données pendant le switch. Elles peuvent soit choisir de tout déplacer dans une seule base de données, soit laisser certaines données séparées. Unifier le stockage des données peut réduire la complexité et améliorer la performance, tandis que le stockage séparé peut maintenir un certain niveau d'autonomie.

Mettre en Œuvre le Principe du Message Bus

Utiliser un message bus peut aider durant la transition. Un message bus permet à différents services de communiquer sans couplage étroit, ce qui rend plus facile leur combinaison progressive en un monolithe. Cette approche minimise les perturbations pendant le changement.

Abandonner les Techniques Diverses

Les microservices permettent d'utiliser divers langages et frameworks pour différents services. Cependant, une fois qu'une entreprise revient à un monolithe, il est vital de standardiser les technologies à travers l'application. Ça réduit la complexité et facilite la maintenance.

Apprendre à Utiliser les Principes de Conception Modulaire

Même dans une application monolithique, maintenir une conception modulaire peut être bénéfique. Organiser le code en modules clairs avec des frontières définies peut aider à garder les choses gérables. Ça permet toujours la simplicité d'un monolithe tout en offrant quelques avantages que les microservices fournissent, comme la flexibilité.

Opinions des Praticiens

Les avis des gens dans le milieu sur cette tendance varient. Certains croient que retourner à un monolithe est une décision intelligente. Ils soutiennent que les microservices ne conviennent pas à toutes les applications et peuvent engendrer plus de problèmes que prévu. Quelques experts sont même allés jusqu'à qualifier les microservices d'architecture défectueuse, soulignant les avantages d'une simplification vers un monolithe.

D'un autre côté, il y a encore beaucoup d'avocats des microservices. Ils soulignent que les microservices peuvent être efficaces et que les organisations doivent améliorer leurs processus plutôt que d'abandonner totalement le modèle. Ils insistent sur l'importance d'une communication et d'une collaboration efficaces entre les équipes pour faire fonctionner les microservices.

Dans l'ensemble, la plupart des pros s'accordent à dire que repasser à un monolithe nécessite une réflexion approfondie sur la situation propre à chaque entreprise. La décision doit tenir compte de la taille de l'équipe, des compétences et des capacités opérationnelles. Comprendre les compromis associés aux deux architectures est crucial.

Conclusion

La tendance de passer des microservices à un monolithe attire de plus en plus l'attention alors que les entreprises réévaluent leurs conceptions logicielles. Des facteurs comme le coût, la complexité, la scalabilité, la performance et l'organisation des équipes jouent des rôles significatifs dans cette décision. Alors que certains experts remettent en question l'efficacité des microservices, d'autres continuent de soutenir cette approche.

Lorsqu'elles envisagent un changement, les entreprises doivent prêter attention à divers aspects, notamment la gestion des services, le test d'une communication fluide, l'unification du stockage des données et le maintien d'une organisation modulaire du code. Les expériences d'entreprises qui effectuent ce switch fournissent des leçons précieuses pour d'autres qui songent à suivre un chemin similaire.

Au fur et à mesure que cette tendance évolue, une enquête plus approfondie sur les pensées et les expériences des praticiens de l'industrie éclairera le débat en cours entre microservices et monolithes. En fin de compte, la meilleure approche dépendra des besoins et des circonstances uniques de chaque entreprise.

Plus d'auteurs

Articles similaires