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

Qu'est-ce qu'un maillage de services ? Quels sont les maillages de services open source disponibles ?

Lors du développement dans une architecture de microservices, l'équipe DevOps doit configurer de nombreux composants individuels. 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 de surveiller la communication entre les services consiste à utiliser un maillage de services.

Qu'est-ce qu'un maillage de services ?

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

Il se compose d'un plan de contrôle à partir duquel les développeurs implémentent des règles et des politiques spécifiques à la couche réseau. Le plan de contrôle fonctionne directement avec le plan de données, une collection de proxys sidecar fonctionnant parallèlement aux services. Ces mandataires sont responsables de toutes les communications entre le service. De plus, ils surveillent et fournissent des informations précieuses sur les performances globales de l'application et aident à détecter les problèmes potentiels et à éviter les temps d'arrêt.

Les proxys offrent des fonctionnalités précieuses, notamment :

L'essor de l'architecture de maillage de services

Pour bien comprendre le fonctionnement d'un maillage de services, nous devons examiner pourquoi un tel outil a été développé. L'essor de l'architecture de maillage de services est apparu comme une solution à un certain nombre de problèmes liés aux microservices.

De nombreuses équipes de développement sont passées du développement d'applications monolithiques à une architecture de microservices . Cela a divisé une application d'une unité monolithique en un système de services individuels travaillant ensemble. L'application se compose de plusieurs services autonomes avec leurs fonctionnalités individuelles.

La difficulté de développer une telle application est de configurer la meilleure façon pour ces services de communiquer entre eux. Les performances de l'application dépendent de la collaboration des services et du partage des données pour offrir la meilleure expérience utilisateur. Par exemple, une boutique en ligne peut consister en 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.

Alors que les microservices communiquent via des API, trouver la meilleure solution pour résoudre la découverte et routage était important. De plus, les développeurs devaient s'assurer que la communication au sein du système était sécurisée. . Alors que des pare-feu protégeaient l'application des attaques extérieures, il existait un réseau plat et ouvert au sein de l'architecture du microservice.

Avant l'architecture de service maillé, cette tâche était gérée par des équilibreurs de charge . Cependant, ce n'était pas une solution pratique, surtout à plus grande échelle, en raison de problèmes de déploiement et de coût. Le maillage de services a été développé comme une solution ultime pour tous les problèmes mentionnés ci-dessus. Il présentait une couche réseau avec un registre centralisé (plan de contrôle) qui gérait tous les services avec ses proxys sidecar. Ils sont beaucoup plus faciles à configurer et à mettre à l'échelle que les équilibreurs de charge. Les développeurs peuvent augmenter ou réduire les proxys selon les besoins et modifier les règles de routage sans modifier les services.

Avantages du maillage de services

Les principaux avantages du maillage de services sont :

Liste des maillages de services Open Source

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

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

Istio

Istio est une infrastructure open source conçue par Google, IBM et Lyft. C'est l'une des premières plates-formes de maillage de services. Il utilise Istiod , un plan de contrôle composé de plusieurs composants (PilotCitadelle , et Mélangeur ) pour exploiter et configurer le maillage de services. Le plan de données est composé de Envoy proxys, développés en C++ . Les connexions HTTP/TCP sont gérées par la Gateway , l'équilibreur de charge d'Istio. Le service virtuel et règles de destination définir les règles et politiques de routage.

Lien

Linkerd est un maillage de services open source léger, développé par le projet Cloud Native Computing Foundation (CNCF). Il est simple à installer dans un cluster Kubernetes au-dessus de n'importe quelle plate-forme, sans configuration supplémentaire. L'absence de configuration est avantageuse lorsque vous travaillez avec des clusters plus petits. Cependant, les projets à grande échelle nécessitent la possibilité de configuration pour gérer avec succès tous les services du cluster.

Ses proxys side-car sont écrits en Rust . Linkerd utilise le Contrôleur pour le plan de contrôle et le déploiement Web pour le tableau de bord. De plus, il a utilisé Prometheus pour explorer et stocker les métriques et Grafana pour le rendu et l'affichage des tableaux de bord.

Consul Connect

Consul a d'abord été conçu comme un outil de découverte de services et a ensuite évolué vers un maillage de services. 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 maillage de services open source est indépendant de la plate-forme, ce qui signifie qu'il ne nécessite ni Kubernetes ni Nomad. Pourtant, Nomade simplifie le processus de gestion de la communication des microservices via Consul.

Open Service Mesh de Microsoft

Open Service Mesh (OSM) est un projet CNCF Envoy qui implémente une interface de maillage de services pour gérer et sécuriser les applications de microservices dynamiques. Il utilise Envoy xDS comme conteneurs side-car. Ses principales fonctionnalités incluent le déplacement du trafic, la gestion des certificats, l'activation de mTLS, l'injection side-car automatique et les politiques de contrôle d'accès.

Kuma

Kuma est un plan de contrôle open source pour Kubernetes et les machines virtuelles s'exécutant dans un maillage de services. Il dispose d'une architecture de stratégie L4+L7 qui implémente des fonctionnalités telles que la découverte de services, le routage, la sécurité zéro confiance et l'observabilité. La plate-forme est hautement évolutive et facile à configurer.

Chapeau rouge de maille de service OpenShift

Red Hat a développé son OpenShift Service Mesh pour gérer les applications de microservices. Il fournit plusieurs interfaces pour la mise en réseau et une sécurité accrue avec la contrainte de contexte de sécurité . Il mesure les performances avec Jager et observe les interactions entre les services avec Kiali . En outre, OpenShift inclut l'adaptateur de mixage Istio Red Hat 3scale pour une meilleure sécurité de l'API.

Maillage d'application AWS

Amazon a développé App Mesh, un logiciel gratuit de maillage de services qui gère tous vos services au sein d'une architecture de microservices. Il offre une haute disponibilité et une visibilité de bout en bout pour votre application de microservice. AWS App Mesh s'intègre à AWS FargateAmazon ECSAmazon EC2Amazon EKSKubernetes , et AWS Outposts . Grâce à ses outils de surveillance, il exporte automatiquement les données de surveillance.

Maillage de services réseau

Network Service Mesh est un projet CNCF Sandbox open source . Il s'agit d'un maillage de services IP hybride/multi-cloud qui utilise un ensemble simple d'API pour faciliter la connectivité. Il établit une connexion entre les services s'exécutant à l'intérieur des conteneurs et avec des points de terminaison externes. Une fois mis en œuvre, il nécessite des modifications minimales de Kubernetes.

En conclusion

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


Cloud computing

  1. Quels sont les meilleurs cours de cloud computing ?
  2. Quels sont les avantages de la découpe au jet d'eau ?
  3. Quels sont les avantages du sablage ?
  4. Quelles sont les principales propriétés du graphite ?
  5. Quels sont les avantages de la découpe au jet d'eau ?
  6. Quels sont les 7 types de technologies ?
  7. Quels sont les différents types de prototypage ?
  8. Quels sont les 4 types de processus de fabrication ?
  9. Quels sont les 5 axes d'usinage ?