À l’heure où les applications se complexifient et sont en perpétuelle évolution pour répondre aux attentes des utilisateurs, les services IT doivent repenser leurs pratiques. La mise en place d’un système permettant de contrôler efficacement la communication entre les différents services d’une application représente un enjeu des plus importants. Dans cette optique, le Service Mesh devient la norme.
Pour rester compétitives, les entreprises qui conçoivent des applications s’orientent vers les micro-services. Le concept suggère qu’il est préférable de décomposer un applicatif en plusieurs petites tâches pour en assurer l’amélioration en continu, avec plus d’agilité, sans perturber son fonctionnement. Un Service Mesh, ou maillage de services en français dans le texte, est une pratique permettant de gérer de manière optimale l’échange de données entre les différents éléments ou services d’une application. Plus précisément, il s’agit d’une couche qui s’ajoute à l’infrastructure des applications composées de micro-services. Le Service Mesh prend la forme d’un ensemble de proxys réseaux qui vont de pair avec chaque service. Travaillant à côté des services sans en faire partie intégrante, d’où le terme « sidecar », ces proxys acheminent alors les requêtes.
Service Mesh, déjà 10 ans au compteur
Avant de devenir la nouvelle coqueluche des développeurs, le Service Mesh a connu une décennie d’évolution. Une éternité pour le domaine. En effet, en 2010 on découvrait les prémices de cette pratique avec une architecture d’application à trois composantes majeures : celle qui communique avec le web, celle qui communique avec l’applicatif proprement dit et celle qui communique avec la base de données. Cette architecture, relativement simple, a permis à plusieurs applications de tourner pendant un bon moment avant de s’écrouler sous la surcharge de requêtes qui sont devenus de plus en plus importantes avec le temps.
Les entreprises d’envergure mondiale comme Google, Facebook et Netflix, entre autres, ont alors commencé à décomposer leurs applications en micro-services. La communication ne se fait plus systématiquement d’un point à un autre mais directement entre les services. Ils s’agissaient des premières structures de Service Mesh. Bien que cette révolution ait déjà résolu bon nombre de problèmes liés à la productivité, apporter des modifications aux applicatifs reste assez compliqué. Les mises à jour ou correctifs nécessitent de lourdes interventions et des déploiements pour chaque service, avec son lot de risques inhérents à chaque modification d’ampleur. Les développeurs ont dès lors trouvé la solution à ce problème en rajoutant une couche à base de proxys réseaux, pour suppléer les bibliothèques intégrées. Le Service Mesh, tel que nous le connaissons, était né.
Les avantages du service Mesh
Le Service Mesh permet non seulement d’assurer des échanges fluides mais aussi de détecter les problèmes ou bugs plus efficacement. Globalement, c’est toute la gestion de l’architecture de l’application qui est facilitée. Les déploiements de nouveaux services ne requièrent plus de grands remue-ménages au sein des services IT, réduisant par la même occasion les coûts de production. Ainsi, les équipes DevOps peuvent se consacrer sur le cœur de leurs métiers. L’histoire nous a appris que le passage à un système basé sur les micro-services ne suffit plus, le Service Mesh est LE nouveau standard à adopter pour répondre aux exigences du marché, si ce n’est pas déjà fait.
Cette technologie de maillage de services continuera à évoluer, c’est une certitude. Aux entreprises de se familiariser et d’explorer le champ des possibles offert par l’approche Service Mesh.



