Jump to section

Istio, qu'est-ce que c'est ?

Copier l'URL

Istio est une plateforme Open Source de Service Mesh qui permet de contrôler la manière dont les données sont partagées entre les microservices. Elle comprend des API qui facilitent l'intégration d'Istio à tout type de plateforme de journalisation, de télémétrie ou de système de politiques. La plateforme Istio est conçue pour fonctionner dans de nombreux environnements : sur site, dans le cloud, dans des conteneursKubernetes, dans des services exécutés sur des machines virtuelles, etc.

L'architecture d'Istio comprend un plan de données et un plan de contrôle. Pour ajouter la prise en charge d'Istio à un service dans le plan de données, il faut déployer un proxy de type sidecar dans l'environnement. Ce proxy sidecar réside à proximité d'un microservice et achemine les requêtes vers et à partir d'autres proxies. Ensemble, ces proxies forment un réseau maillé qui intercepte les communications réseau entre les microservices. Le plan de contrôle permet de gérer et de configurer des proxies pour rediriger le trafic. Il permet également de configurer des composants pour appliquer les politiques et recueillir des données de télémétrie.

Avec un Service Mesh comme Istio, les équipes de développement et d'exploitation sont mieux équipées pour gérer la transition entre applications monolithiques et applications cloud-native, c'est-à-dire un ensemble d'applications de microservices indépendantes, plus petites et faiblement couplées. Istio fournit des informations sur le comportement du Service Mesh et des microservices qu'il prend en charge, ainsi que des fonctions de contrôle de l'exploitation. L'utilisation d'un Service Mesh permet de réduire la complexité des déploiements et d'alléger la charge des équipes de développement. Grâce aux fonctions d'Istio, il est possible d'exécuter une architecture de microservices distribuée. Voici quelques-unes de ces fonctions :

  • Gestion du trafic : la configuration du routage et des règles du trafic dans Istio permet de contrôler le flux du trafic et les appels d'API entre les services.
  • Sécurité : Istio fournit un canal de communication sous-jacent et permet de gérer l'authentification, l'autorisation et le chiffrement des communications entre les services à grande échelle. Istio permet d'appliquer des politiques de manière cohérente à différents protocoles et environnements d'exécution avec des changements minimes pour les applications. L'utilisation d'Istio avec les politiques réseau Kubernetes (ou d'infrastructure) apporte des avantages tels que la capacité de sécuriser les communications pod-à-pod ou service-à-service, au niveau des couches de réseau et d'application.
  • Observabilité : il est possible d'obtenir des informations sur le déploiement de Service Mesh avec les fonctions de suivi, de surveillance et de journalisation d'Istio. La surveillance permet de visualiser l'impact de l'activité des services sur les performances en amont et en aval. Des tableaux de bord personnalisables fournissent une visibilité sur les performances de tous les services.

La solution Red Hat OpenShift Service Mesh repose sur Istio et est disponible pour Red Hat OpenShift. Elle fournit des informations sur le comportement des microservices en réseau au sein d'un Service Mesh, ainsi que des fonctions de contrôle, grâce à un ensemble de proxies sidecar qui interceptent les communications réseau entre les microservices.

La solution Red Hat OpenShift Service Mesh inclut des fonctions supplémentaires qui facilitent le déploiement sur Red Hat OpenShift.

En savoir plus sur Istio sur Red Hat Developer

Pour aller plus loin

ARTICLE

Les microservices comme technologie d'intégration dans le secteur de la santé

Les microservices permettent aux développeurs, notamment ceux du secteur de la santé, de créer des applications qui sont constituées de services faiblement couplés, ce qui facilite les étapes de développement, de test, de déploiement et de mise à niveau.

ARTICLE

Les microservices, qu'est-ce que c'est ?

Les microservices désignent une approche architecturale du développement d'applications selon laquelle les différentes parties d'une application fonctionnent en synergie tout en étant séparées.

ARTICLE

Un Service Mesh, qu'est-ce que c'est ?

Un Service Mesh est une couche d'infrastructure comprise dans une application qui permet de documenter les interactions entre les services, pour simplifier l'optimisation des communications et réduire les temps d'arrêt.