Service Mesh

Un Service Mesh, tel que le projet Open Source Istio Service Mesh, est un moyen de contrôler la façon dont différents éléments d'une application partagent des données les uns avec les autres. Contrairement à d'autres systèmes de gestion des communications, un Service Mesh est une couche d'infrastructure dédiée, créée directement dans l'application. Cette couche d'infrastructure visible peut indiquer la manière dont les différents éléments d'une application interagissent entre eux. Il devient dès lors plus facile d'optimiser les communications et d'éviter les temps d'arrêt lorsque l'application évolue.

Chaque élément, ou «service», d'une application dépend d'autres services pour satisfaire les attentes des utilisateurs. Prenons l'exemple d'une application de vente en ligne. Avant d'acheter un article, l'utilisateur a besoin de savoir s'il est en stock. Le service qui communique avec la base de données de l'inventaire doit alors communiquer avec la page web du produit, laquelle doit communiquer à son tour avec le panier en ligne de l'utilisateur. Le revendeur peut aussi décider d'intégrer un service de recommandation de produits au sein de l'application pour guider les utilisateurs. Ce nouveau service devra communiquer avec une base de données de balises de produit pour générer des recommandations, mais aussi avec la base de données de l'inventaire avec laquelle la page produit devait déjà communiquer. Cela représente beaucoup de variables réutilisables.

Les applications modernes se décomposent souvent ainsi, sous la forme d'un réseau de services assurant chacun une fonction métier particulière. Pour assumer sa fonction, un service peut avoir besoin de demander des données à plusieurs autres services. Mais que se passe-t-il lorsque certains services, comme la base de données de l'inventaire du revendeur, sont surchargés de demandes? C'est là qu'intervient le Service Mesh: ce système achemine les demandes d'un service au suivant, de manière à optimiser le fonctionnement des éléments mobiles.


Backlinks