Un service mesh permet aux développeurs de services de décharger le travail de communication réseau et de se concentrer davantage sur la logique métier.

Qu'est-ce qu'un Service Mesh ?

Un service mesh est une couche d'infrastructure configurable pour une application de microservices. Il rend la communication entre les instances de service flexible, fiable et rapide. Le maillage fournit la découverte de services, l'équilibrage de charge, le cryptage, l'authentification et l'autorisation, la prise en charge du modèle de disjoncteur et d'autres fonctionnalités.

Le service mesh est généralement implémenté en fournissant une instance proxy, appelée sidecar, pour chaque instance de service. Les side-cars gèrent les communications interservices, la surveillance et les problèmes liés à la sécurité, soit tout ce qui peut être abstrait des services individuels. De cette façon, les développeurs peuvent gérer le développement, le support et la maintenance du code d’application dans les services ; les équipes d’exploitation peuvent maintenir le maillage de services et exécuter l’application.

Istio, soutenu par Google, IBM et Lyft, est actuellement l’architecture de maillage de services la plus connue. Kubernetes, conçu à l'origine par Google, est actuellement le seul framework d'orchestration de conteneurs pris en charge par Istio.

Vidéo sur Service Mesh

Qu'est-ce qu'un Service Mesh dans une architecture de microservices ?

Un service mesh répond à certains des principaux défis liés à la réalisation d’une architecture de microservices. Un service mesh permet une plus grande latitude dans la sélection d'un ensemble diversifié de technologies d'implémentation de microservices, tout en se concentrant davantage sur la logique métier, au lieu d'investir plus de temps sur les fonctions réseau entre les services.

Service Mesh et découverte de services

Un service mesh fonctionne avec un protocole de découverte de services pour détecter les services au fur et à mesure qu'ils apparaissent. Ensuite, le maillage les vieillit gracieusement lorsqu'ils disparaissent. La découverte de services est un framework de gestion de conteneurs qui conserve une liste d'instances prêtes à recevoir des requêtes – ou à être découvertes – par d'autres services. Ensemble, ils créent une résilience dans la communication de service à service.

Références