Les bases des réseaux : qu’est-ce qu’un service mesh ?

Un service mesh permet la communication entre les différents services d’une application. Voici comment il facilite le développement des applications.

Oct 8, 2021
4 minute read
enterprise networking

What is a Service Mesh

Enterprise Networking Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

Un service mesh est une couche d’infrastructure dédiée, configurable et à faible latence, conçue pour faciliter et gérer d’importants volumes de communications réseau entre les différentes parties ou les différents services d’une application. Il s’agit d’un terme générique qui désigne les produits répondant aux problèmes et aux défis posés par l’architecture orientée services. Ces défis concernent notamment la sécurité, la télémétrie applicative et le contrôle du trafic réseau.

Un service mesh se compose de proxys réseau associés à chacun des services de l’application, ainsi qu’à certains processus de gestion des tâches. Ces proxys sont collectivement désignés sous le nom de plan de données ; leur rôle consiste à intercepter les appels entre les différents services et à les traiter. Parallèlement, les processus de gestion constituent également le plan de contrôle, considéré comme le cerveau du service mesh et chargé de coordonner le comportement des proxys. Le plan de contrôle fournit aussi des interfaces de programmation d’applications, ou API, que le personnel chargé de l’exploitation et de la maintenance utilise pour manipuler et superviser l’ensemble du réseau.

Contrairement aux autres systèmes qui gèrent la communication et le partage des données entre les différents services d’une application, un service mesh est directement intégré à l’application. Il peut documenter la manière dont les services interagissent, et notamment l’efficacité — bonne ou mauvaise — de ces interactions, ce qui facilite l’optimisation de la communication. Et lorsque la communication est optimisée, une application peut plus facilement éviter les interruptions de service à mesure qu’elle évolue.

Les fonctionnalités courantes d’un service mesh comprennent l’équilibrage de charge, la découverte de services, la récupération après défaillance et le chiffrement. Il peut rendre les communications entre services sécurisées, rapides et fiables.

Comment fonctionne un service mesh ?

Un service mesh n’introduit aucune nouvelle fonctionnalité dans l’environnement d’exécution d’une application. Après tout, les applications ont toujours eu besoin de règles pour déterminer comment une requête passe du point A au point B. À la place, un service mesh extrait de chaque service la logique qui régit les communications entre services et l’abstrait dans une couche d’infrastructure. Ainsi, un service mesh est intégré à une application sous la forme d’un ensemble de proxys réseau.

Dans un service mesh, les requêtes sont acheminées entre les services par l’intermédiaire de proxys situés dans leur couche d’infrastructure. Ainsi, les proxys individuels qui composent un service mesh s’exécutent à côté de chaque service, et non à l’intérieur de celui-ci. C’est pourquoi on les appelle des sidecars.

Advertisement

À lire également : Faire fonctionner les microservices sur le réseau

Avantages d’un service mesh

Un service mesh répond aux problèmes liés à la gestion des communications entre les services. Plus précisément :

  • Il simplifie les communications entre services, aussi bien dans le cadre du développement de microservices que dans celui des conteneurs.
  • Il facilite le diagnostic des erreurs de communication, puisque celles-ci se produisent dans leur couche d’infrastructure.
  • Il permet de développer, de tester et de déployer les applications plus rapidement.
  • Il prend en charge des fonctionnalités de sécurité telles que l’authentification, l’autorisation et le chiffrement.
  • Les instances de proxy, également appelées sidecars, placées à côté des clusters de conteneurs sont efficaces pour gérer les services réseau.

Les principales fonctionnalités d’un service mesh comprennent :

  • Sécurité. Un service mesh peut chiffrer automatiquement les communications et distribuer des politiques de sécurité, comme celles relatives à l’autorisation et à l’authentification, du réseau vers l’application et l’ensemble des microservices. La gestion centralisée de ces politiques de sécurité via le plan de contrôle et les proxys sidecar contribue à suivre l’évolution de la complexité croissante des connexions entre les applications distribuées et au sein de celles-ci.
  • Observabilité. Un framework de service mesh fournit des informations sur l’état et le comportement de chaque service. Le plan de contrôle collecte et agrège les données de télémétrie issues des interactions entre les composants afin d’évaluer l’état d’un service, notamment sa latence et son trafic, les journaux d’accès et le traçage distribué.
  • Fiabilité.La gestion des communications par l’intermédiaire de proxys sidecar améliore l’efficacité et la fiabilité de certaines politiques, configurations et requêtes. L’injection de pannes et l’équilibrage de charge font également partie de ses fonctionnalités spécifiques.

Service mesh : défis et inconvénients

Un service mesh présente également son lot de défis et d’inconvénients. Ceux-ci comprennent :

  • Une augmentation du nombre d’instances à l’exécution.
  • Il ne prend pas en charge l’intégration avec d’autres systèmes, le type de routage, le mappage des transformations et les services.
  • Chaque appel de service doit d’abord passer par le proxy, ce qui ajoute une étape.
  • La complexité de la gestion du réseau est centralisée et abstraite, et quelqu’un doit l’intégrer aux workflows.

Sans service mesh, les développeurs doivent coder chaque microservice d’une application avec une logique permettant de contrôler et de gérer les communications entre services. Ils peuvent ainsi moins se concentrer sur leurs objectifs métier et sur la vision d’ensemble. Cela signifie également que les défaillances et les erreurs de communication sont beaucoup plus difficiles à diagnostiquer et à corriger, car la logique qui régit ces communications entre services est dissimulée dans chaque partie de l’application.

Michael Sumastre

A technology writer since 2005, Michael has written and produced more than a thousand articles related to enterprise networking, cloud computing, big data, machine learning, and AI.

Enterprise Networking Planet Logo

Enterprise Networking Planet aims to educate and assist IT administrators in building strong network infrastructures for their enterprise companies. Enterprise Networking Planet contributors write about relevant and useful topics on the cutting edge of enterprise networking based on years of personal experience in the field.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.