Connecter des microservices à un Service Mesh

L’intégration d’un service mesh connecte vos microservices et fait évoluer Kubernetes d’une manière qui minimise les frais de gestion.

Le Service Mesh est la prochaine grande avancée dans la distribution d'applications
Un service mesh connecte les microservices, facilitant ainsi la sécurisation et l'orchestration des composants conteneurisés et simplifiant le travail des architectes cloud.

Au début, il y avait des applications partout, pour tout , puis il y a eu les microservices (et les technologies de conteneurs qui les rendent possibles). Quelle est la prochaine innovation qui contribuera à offrir une expérience utilisateur exceptionnelle via des applications ? Maillage de service.

L’approche des microservices repose sur de petits composants à usage unique qui sont utilisés pour former des applications plus grandes et plus complexes. Vous pouvez créer un microservice pour à peu près n’importe quoi, et comme chacun se concentre sur une seule capacité, ils sont relativement rapides à développer. Cependant, plus vous souhaitez de fonctionnalités, plus il devient complexe de coordonner les composants du microservice.

Les applications traditionnelles (parfois appelées applications monolithiques) sont plus lentes à développer, mais elles présentent des avantages. Étant donné que de nombreuses fonctions distinctes sont exécutées par un seul programme, la coordination entre les composants est généralement intégrée au système. Il n'existe qu'une seule source de code, ce qui rend les applications traditionnelles plus faciles à dépanner et à déboguer.

Qu'est-ce qu'un Service Mesh ?

Un service mesh est une couche d'infrastructure transparente qui facilite la communication entre les microservices . Cela confère aux applications créées avec des microservices les mêmes avantages qu'une application traditionnelle, notamment la résilience, l'observabilité et la sécurité.

L'argument commercial en faveur d'un maillage de services d'entreprise

Le passage du monolithe aux microservices a été principalement motivé par la nécessité pour les équipes d’application d’être plus agiles et d’exécuter plus rapidement. La réduction d’une grande application en plusieurs petits éléments a permis aux équipes individuelles de se spécialiser. Cela leur a permis d’itérer plus rapidement qu’ils ne le pouvaient lorsqu’ils devaient se soucier de chaque aspect du monolithe.

Cependant, cette rapidité et cette agilité ont un prix : une complexité accrue. Les microservices simplifient le développement, mais introduisent de nouveaux défis, notamment autour de la sécurisation et de l'orchestration de plusieurs composants éphémères. Le service mesh est un moyen pour les développeurs de décharger la complexité à mesure que les applications compatibles avec les microservices évoluent .

Dans un podcast récent , Andrew Jenkins, cofondateur et directeur technique d' Aspen Mesh , l'a exprimé ainsi : « Dans un environnement de service mesh, le plus grand changement ne réside pas dans ce que les développeurs d'applications doivent faire, mais dans toutes les choses qu'ils sont censés ne pas faire. » Par exemple, le composant de sécurité d’un service mesh fournit l’authentification et gère si une application fait confiance à une autre. Lorsqu'une demande échoue, l'opérateur de la plateforme dispose des outils pour définir si le microservice réessaye ou est retiré.

Dans ce nouvel environnement, les développeurs peuvent se concentrer sur la transmission des requêtes à la couche de maillage de services. L'opérateur de la plateforme, disposant d'un accès à des outils qui observent toutes les communications entre les microservices, est en mesure d'offrir au développeur d'applications une toute nouvelle gamme de données et de mesures. « Dans un service mesh, il suffit de réparer cette rupture à un seul endroit et elle est ensuite réparée partout. « Cette même histoire de cohérence se répète encore et encore », explique Jenkins.

Quand utiliser un Service Mesh ?

Considérez le service mesh comme une nouvelle boîte à outils puissante. Il existe des outils de sécurité, de traitement des transactions, de cryptage, de moteurs de recommandation, de traçage distribué… la liste est longue. Mais des outils puissants ne vous aideront pas si vous ne savez pas comment les utiliser. Les premiers utilisateurs à succès du service mesh ont besoin d’une solide pratique d’architecture cloud et d’une équipe de plateforme expérimentée dans la définition de services d’infrastructure pour les développeurs. 

De nombreuses organisations exécutent avec succès Kubernetes et d’autres technologies de conteneurs sans maillage de services. Les implémentations standard de Kubernetes répondent très bien aux problèmes de déploiement intégrés. Cependant, à grande échelle, les applications Kubernetes développent des problèmes d’exécution qui ne sont pas aussi bien traités, tels que le chiffrement, la coupure de circuit et le routage dynamique du trafic. Des solutions comme NGINX et d’autres solutions d’entrée de conteneurs comblent une grande partie de cette lacune en fournissant des moyens de capturer, de façonner, de contrôler et de visualiser le trafic réseau lorsqu’il arrive dans une application. Mais lorsque les développeurs commencent à atteindre les limites de ce que ces outils peuvent offrir, le service mesh promet un nouveau niveau de visibilité sur ce que les microservices conteneurisés peuvent faire.

Conclusion

À l’heure actuelle, le service mesh est encore à la pointe de la technologie. Pour les organisations qui sont déjà pleinement engagées dans Kubernetes ou qui prévoient de développer avec Kubernetes, il sera plus facile d'implémenter un service mesh au début que de l'intégrer ultérieurement. Si vous faites évoluer Kubernetes et souhaitez minimiser les frais de gestion, vous avez besoin d'un maillage de services.

Pour les organisations ayant des besoins de sécurité complexes ou qui dépendent fortement d’applications dérivées de microservices, un maillage de services peut accélérer le déploiement et la maintenance, renforcer la sécurité et aider à optimiser la consommation des ressources. Les environnements de service mesh augmentent la visibilité, fournissant des données de niveau micro et macro qui peuvent être utilisées pour optimiser les applications.

Le service mesh est le prochain niveau d’avancement des technologies de microservices et de conteneurs. Avec la bonne stratégie, cela peut être un outil puissant.

Contenu associé
LIVRE ÉLECTRONIQUE

Architecture Cloud sécurisée

La vitesse sans les compromis habituels : à vous avec la bonne architecture cloud.

Apprendre encore plus >

PRÉSENTATION DE LA SOLUTION

Infrastructure 5G native du cloud

Les solutions d’infrastructure 5G de F5 fournissent les outils dont les fournisseurs de services ont besoin pour moderniser leur infrastructure réseau.

Lire l'aperçu ›

SOLUTIONS

NGINX

Découvrez comment connecter, sécuriser et faire évoluer les microservices.

Apprendre encore plus >

PODCAST

Ce qui se cache en dessous

Découvrez le service mesh et ses alternatives dans le podcast What Lies Beneath.

Écouter maintenant ›