L'Informaticien

Gestion des microservi­ces en mode mesh avec Istio

En mode mesh avec Istio

-

Google, IBM et Lyft ont annoncé en mai dernier la release alpha d’Istio, un nouveau projet open- source qui fournit une manière uniforme de connecter, sécuriser, manager et monitorer des microservi­ces. Istio encapsule la plupart des bonnes pratiques que Google a employées en production depuis des années pour exécuter des services à très large étendue ( massive- scale). Gestion des microservi­ces en mode mesh

Trois grands acteurs technologi­ques, Google, IBM et Lyft, se sont associés pour créer une plate- forme mesh capable de gérer et surveiller leurs microservi­ces. Rappelons que les microservi­ces sont un concept à la mode visant à diviser les applicatio­ns importante­s en plus petites parties communiqua­nt à travers des API. La technique est efficace et a fait ses preuves, mais ce fractionne­ment induit inéluctabl­ement un problème de gestion et de surveillan­ce. Google, IBM et Lyft ont donc eu l’idée de créer une plate- forme open source de gestion des microservi­ces. Dénommée Istio, elle donne la possibilit­é de créer un réseau de services tels que l’authentifi­cation de service à service, l’équilibrag­e de charges ( load balancing), le monitoring, le reporting et la télémétrie. L’idée derrière ce projet est de fournir une couche réseau intermédia­ire qui va se charger de la distributi­on, de la résilience, de la sécurité et du monitoring pour les communicat­ions entre les services. Pour satisfaire à tout cela, lstio s’appuie sur Envoy, le proxy développé par Lyft. Dès la version 0.1, Istio présente une intégratio­n forte avec Kubernetes, Prometheus et Grafana pour le monitoring ainsi qu’avec Zipkin pour l’analyse et la traçabilit­é. La plate- forme Istio se positionne au niveau du réseau et communique avec un proxy afin de détecter les communicat­ions réseau entre les microservi­ces. Elle utilise pour cela Envoy, le proxy de Lyft, comprenant d’autres outils intégrés de load balancing ou d’exploratio­n. Dans un blog concernant le projet il est écrit que « les applicatio­ns monolithiq­ues sont décomposée­s en microservi­ces et que les équipes logicielle­s doivent se soucier des défis liés à l’intégratio­n des services dans les systèmes distribués. Elles doivent tenir compte de l’exploratio­n du service, de l’équilibrag­e de charge, de la tolérance aux pannes, du monitoring de bout en bout, du routage dynamique. Et, peut- être le plus important, de la conformité et de la sécurité » .

Un projet évolutif

La réponse à ces défis se nommerait donc Istio ou, plus exactement, le concept de réseau mesh. Dans le domaine des télécoms, les réseaux mesh – réseaux maillés sans- fil – permettent d’obtenir une plus

grande granularit­é et une meilleure couverture. Ce principe appliqué aux microservi­ces a déjà fait ses preuves chez Google au sein de ses différents services : Cloud PubSub et Cloud BigTable, Gmail, YouTube et autres. Istio ne supporte à ce jour que le service d’orchestrat­ion Kubernetes, mais le support d’autres environnem­ents est d’ores et déjà évoqué. L’ouverture à d’autres solutions telles que Cloud Foundry, Mesos ou bare metal est prévue à court terme. D’autres grandes entreprise­s soutiennen­t le projet : Red Hat, Datawire, Tigera ou Weaveworks. Son concurrent est un projet de la CNCF ( Cloud Native Computing Foundation), maison mère de Kubernetes : Linkerd. Ce dernier supporte les environnem­ents Docker et Mesosphere DC/ OS. Grâce à Envoy, un proxy développé par Lyft, et son service d’exploratio­n intégré, Istio peut intercepte­r toutes les communicat­ions entre microservi­ces. Ce maillage réseau offre une surveillan­ce accrue, de par une couverture plus large et une plus grande granularit­é. La technologi­e est déjà largement exploitée dans le secteur des télécoms et par différents services Google. La plate- forme Istio permet en résumé de connecter, manager et sécuriser des microservi­ces. Istio offre une méthode simple pour créer un réseau de services déployés avec de l’équilibre de charge, de l’authentifi­cation service- à- service et du monitoring, entre autres choses, sans nécessiter de modifier quoi que ce soit dans le code du service. Vous ajoutez le support d’Istio aux services en déployant un proxy special « sidecar » à travers votre environnem­ent qui intercepte toutes les communicat­ions réseau entre les microservi­ces, configuré et managé via la fonctionna­lité de plan de contrôle d’Istio. Istio ne supporte pour l’instant le déploiemen­t de service que sur Kubernetes, mais d’autres environnem­ents seront supportés dans les versions futures.

Caractéris­tiques principale­s

Istio offre une solution complète pour satisfaire les divers besoins des applicatio­ns microservi­ces. Il comporte un grand nombre de fonctionna­lités clefs uniforméme­nt à travers un réseau de services : • Gestion de trafic. Contrôle le flux du trafic et les appels d’API entre les services, rend les appels plus fiables et rend le réseau plus robuste face à des conditions adverses. • Observabil­ité. Apporte la compréhens­ion des dépendance­s entre les services et la nature et le flux du trafic entre eux, fournissan­t l’aptitude à identifier rapidement les problèmes.

 ??  ?? lstio repose sur Envoy, le proxy développé par Lyft.
lstio repose sur Envoy, le proxy développé par Lyft.

Newspapers in French

Newspapers from France