Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Cloud computing

Service Mesh expliqué : Comment les meshes open source simplifient la communication microservices

Lors du développement dans une architecture microservices, il y a de nombreux composants individuels que l'équipe DevOps doit configurer. Pour que les microservices fonctionnent ensemble, ils nécessitent des canaux de communication établis pour le partage d'informations et le transfert de données.

Une façon de gérer et surveiller la communication entre services est d'utiliser un service mesh.

Qu'est-ce qu'un Service Mesh ?

Un service mesh est une couche d'infrastructure dédiée ajoutée à l'architecture microservices. Son rôle principal est d'assurer une communication service-à-service rapide et sécurisée. Cet outil à faible latence gère et surveille la communication inter-services et le partage de données.

Il se compose d'un control plane (plan de contrôle) depuis lequel les développeurs implémentent des règles et politiques spécifiques à la couche réseau. Le plan de contrôle travaille directement avec le data plane, une collection de proxys sidecar s'exécutant aux côtés des services. Ces proxys sont responsables de toute la communication entre les services. De plus, ils surveillent et fournissent des informations précieuses sur la performance globale de l'application et aident à trouver les problèmes potentiels et éviter les temps d'arrêt.

Service Mesh expliqué : Comment les meshes open source simplifient la communication microservices

Les proxys fournissent des capacités précieuses, notamment :

L'essor de l'architecture Service Mesh

Pour bien comprendre comment un service mesh fonctionne, nous devons examiner pourquoi un tel outil a été développé. L'essor de l'architecture service mesh est apparu comme une solution à plusieurs problèmes liés aux microservices.

De nombreuses équipes de développement ont fait le passage du développement d'applications monolithiques à l'architecture microservices. Cela a divisé une application d'une unité monolithique à un système de services individuels travaillant ensemble. L'application se compose de multiples services autonomes avec leurs fonctionnalités individuelles.

La difficulté avec le développement d'une telle application est de configurer la meilleure façon pour ces services de se parler. La performance de l'application dépend des services travaillant ensemble et partageant des données pour fournir la meilleure expérience utilisateur. Par exemple, une boutique en ligne pourrait se composer d'un service de connexion qui communique avec un service d'achat qui nécessite des informations d'une base de données d'inventaire et ainsi de suite.

Comme les microservices communiquent via des APIs, trouver la meilleure solution pour résoudre la découverte et le routage était important. De plus, les développeurs devaient s'assurer que la communication au sein du système était sécurisée. Bien que les pare-feux protégeaient l'application des attaques externes, il y avait un réseau plat et ouvert au sein de l'architecture microservices.

Avant l'architecture de service mesh, cette tâche était gérée par des load balancers. Cependant, ce n'était pas une solution pratique, surtout à grande échelle, en raison de problèmes de déploiement et de coûts. Le service mesh a été développé comme solution ultime pour tous les problèmes mentionnés ci-dessus. Il présentait une couche réseau avec un registre centralisé (control plane) qui gérait tous les services avec ses proxys sidecar. Ils sont beaucoup plus faciles à configurer et scaler comparés aux load balancers. Les développeurs peuvent scaler les proxys haut et bas selon les besoins et changer les règles de routage sans modifier les services.

Avantages du Service Mesh

Les avantages les plus significatifs du service mesh sont :

Liste des Service Meshes Open Source

Il existe un certain nombre de service meshes open source disponibles. Istio, Linkerd et Consul sont les plus largement utilisés.

Vous trouverez ci-dessous plus de détails sur chaque plateforme.

Istio

Istio est une infrastructure open source conçue par Google, IBM et Lyft. C'est l'une des premières plateformes de service mesh. Elle utilise Istiod, un plan de contrôle composé de plusieurs composants (Pilot, Citadel et Mixer) pour opérer et configurer le service mesh. Le plan de données est constitué de proxys Envoy, développés en C++. Les connexions HTTP/TCP sont gérées par le Gateway, le load balancer d'Istio. Le VirtualService et DestinationRules définissent les règles de routage et politiques.

Service Mesh expliqué : Comment les meshes open source simplifient la communication microservices

Linkerd

Linkerd est un service mesh open source léger, développé par le projet Cloud Native Computing Foundation (CNCF). Il est simple à installer dans un cluster Kubernetes sur n'importe quelle plateforme, sans configuration additionnelle. L'absence de configuration est bénéfique quand on travaille avec de petits clusters. Cependant, les projets à grande échelle nécessitent la possibilité de configuration pour gérer tous les services du cluster avec succès.

Ses proxys sidecar sont écrits en Rust. Linkerd utilise le Controller pour le plan de contrôle et le Web Deployment pour le tableau de bord. De plus, il utilise Prometheus pour l'exploration et le stockage des métriques et Grafana pour le rendu et l'affichage des tableaux de bord.

Service Mesh expliqué : Comment les meshes open source simplifient la communication microservices

Consul Connect

Consul a d'abord été conçu comme un outil de découverte de service et a ensuite évolué en service mesh. Contrairement à Linkerd, Consul Connect inclut beaucoup de configuration, vous donnant plus de contrôle sur l'environnement réseau. En conséquence, il est plus difficile à utiliser que Linkerd. Ce service mesh open source est agnostique à la plateforme, ce qui signifie qu'il ne nécessite ni Kubernetes ni Nomad. Toutefois, Nomad simplifie le processus de gestion de la communication microservices via Consul.

Service Mesh expliqué : Comment les meshes open source simplifient la communication microservices

Open Service Mesh de Microsoft

Open Service Mesh (OSM) est un projet CNCF Envoy qui implémente une interface de service mesh pour gérer et sécuriser les applications microservices dynamiques. Il utilise Envoy xDS comme conteneurs sidecar. Ses principales fonctionnalités incluent le traffic shifting, la gestion de certificats, l'activation de mTLS, l'injection automatique de sidecar et les politiques de contrôle d'accès.

Kuma

Kuma est un plan de contrôle open source pour Kubernetes et VMs s'exécutant dans un service mesh. Il a une architecture de politique L4+L7 qui implémente des fonctionnalités comme la découverte de service, le routage, la sécurité zero-trust et l'observabilité. La plateforme est hautement scalable et facile à configurer.

OpenShift Service Mesh Red Hat

Red Hat a développé son OpenShift Service Mesh pour gérer les applications microservices. Il fournit de multiples interfaces pour le réseau et une sécurité accrue avec Security Context Constraint. Il mesure la performance avec Jaeger et observe les interactions entre services avec Kiali. De plus, OpenShift inclut l'adaptateur Red Hat 3scale Istio Mixer pour une meilleure sécurité API.

AWS App Mesh

Amazon a développé App Mesh, un logiciel de service mesh gratuit qui gère tous vos services au sein d'une architecture microservices. Il fournit haute disponibilité et visibilité de bout en bout pour votre application microservice. AWS App Mesh s'intègre avec AWS Fargate, Amazon ECS, Amazon EC2, Amazon EKS, Kubernetes et AWS Outposts. Avec ses outils de surveillance, il exporte automatiquement les données de monitoring.

Network Service Mesh

Network Service Mesh est un projet CNCF Sandbox open source. C'est un service mesh IP hybride/multi-cloud qui utilise un ensemble simple d'APIs pour faciliter la connectivité. Il établit une connexion entre les services s'exécutant à l'intérieur de conteneurs et avec des endpoints externes. Une fois implémenté, il nécessite des changements minimaux à Kubernetes.

En conclusion

Un service mesh simplifie la gestion et la maintenance d'une application développée avec l'architecture microservices. Il améliore la sécurité globale au sein de l'architecture microservices et assure la visibilité et l'observabilité du flux de trafic. Dans l'ensemble, les fonctionnalités du service mesh améliorent la performance et accélèrent le cycle de développement. Avec une grande variété de solutions open source disponibles, trouvez celle qui convient le mieux aux besoins de vos applications.

Cloud computing

  1. Meilleurs cours Cloud Computing 2026 : des fondamentaux AWS au MicroMasters du Maryland
  2. Pourquoi Choisir la Découpe Jet d'Eau ? Avantages Clés pour la Précision Métallique
  3. Sablage : avantages clés pour la préparation de surface et la fabrication métallique
  4. Propriétés clés du graphite : structure, résistance et applications
  5. Découvrez les avantages de la découpe par jet d'eau pour la fabrication de précision
  6. Explorer les 7 types fondamentaux de technologie
  7. Comprendre les différents types de prototypage : guide pour fondateurs
  8. Explorer les 4 types fondamentaux de processus de fabrication
  9. Maîtriser l'usinage 5 axes : précision, efficacité et applications clés