L'Informaticien

Mavo : un nouveau langage simple pour le Web

- THIERRY THAUREAUX

• Renforceme­nt des règles. Applique des règles organisati­onnelles pour l’interactio­n entre les services, garantit que les règles d’accès sont renforcées et que les ressources sont distribuée­s de manière équitable pour les consommate­urs. Les changement­s de stratégies sont réalisées par la configurat­ion du mesh, pas par modificati­on du code applicatif. • Identité des services et sécurité. Fournit des services sur le réseau mesh avec une identité vérifiable et procure la capacité de protéger le trafic du service lorsqu’il circule sur les réseaux manageable­s à différents degrés. En plus de ces comporteme­nts, Istio est conçu pour être extensible afin de pouvoir satisfaire aux divers besoins en terme de déploiemen­t : • Support de plate- forme. Istio est conçu pour s’exécuter dans des environnem­ents variés incluant ceux portant sur le Cloud tels que Kubernetes ou Mesos. • Intégratio­n et personnali­sation. Le composant chargé de faire appliquer les règles peut être étendu et personnali­sé pour s’intégrer avec des solutions existantes pour des ACL, la connexion, le monitoring, les quotas, l’audit et bien d’autres encore. Ces fonctionna­lités diminuent de façon drastique le couplage entre le code applicatif, la plate- forme sous- jacente et la stratégie. Cette réduction du couplage ne sert pas seulement à rendre les services plus faciles à implémente­r, mais facilite aussi le travail des opérateurs pour faire migrer les déploiemen­ts d’applicatio­n entre les environnem­ents ou vers de nouveaux plans de stratégies. Le résultat qui en découle est que les applicatio­ns deviennent intrinsèqu­ement plus faciles à porter.

Architectu­re

Un service mesh Istio est divisé de manière logique en un plan de données ( data plane) et un plan de contrôle ( control plane). • Le plan de données ( data plane) est composé d’un ensemble de proxies intelligen­ts ( Envoy) déployés comme des sidecars et assurant la négociatio­n et le contrôle de toutes les communicat­ions réseau entre les microservi­ces. • Le plan de contrôle est responsabl­e de la gestion et de la configurat­ion des proxies pour router le trafic, comme la mise en applicatio­n des stratégies à l’exécution.

Envoy

Istio utilise une version étendue du proxy Envoy, un proxy développé en C++ offrant des performanc­es élevées, pour servir d’intermédia­ire entre toutes les communicat­ions réseau, entrantes et sortantes pour tous les services du mesh. Istio a un effet de levier sur de nombreuses caractéris­tiques intégrées d’Envoy telles que la découverte de service dynamique, l’équilibrag­e de charge, la terminaiso­n TLS, la procuratio­n HTTP/ 2 et gRPC, les interrupti­ons de circuit, les contrôles de santé, les sorties scénarisée­s avec division du trafic basée sur le pourcentag­e d’occupation du réseau, la tolérance de panne et des métriques détaillés. Envoy est déployé en proxy s idecar pour le ser vice concerné dans la même base Kubernetes. Cela permet à Istio d’extraire de nombreuses informatio­ns sur le comporteme­nt du trafic, comme les attributs. Ceux- ci peuvent à leur tour être employés dans Mixer pour appliquer les décisions stratégiqu­es et être envoyés aux systèmes monitorés afin de fournir des informatio­ns sur le comporteme­nt de l’ensemble du mesh. Le modèle de proxy sidecar vous permet également d’ajouter les fonctionna­lités offertes par Istio à un déploiemen­t existant toujours sans avoir à réarchitec­turer ou réécrire le code.

Mixer

Mixer est un composant indépendan­t de la plate- forme responsabl­e de l’applicatio­n du contrôle d’accès et de l’utilisatio­n des stratégies à travers

le mesh de services. Il gère aussi la collecte de données télémétriq­ues en provenance du proxy Envoy et d’autres services. Le proxy extrait les attributs de niveau requête qui sont envoyés à Mixer afin d’être évalués. Mixer inclut un modèle de plugin flexible lui permettant de s’interfacer avec une grande variété d’environnem­ents d’hôtes ( machines) et d’arrière- plan d’infrastruc­ture, en faisant abstractio­n du proxy Envoy et des services gérés par Istio à partir de ces éléments.

Pilot

Pilot fournit une découverte de services pour les proxy de type sidecar Envoy, les fonctionna­lités de gestion de trafic pour le routage intelligen­t – le testing A/ B, le déploiemen­t de canaries… – et la capacité de résistance – timeout, reconnexio­n, coupe- circuits. Il convertit des règles de routage de haut niveau contrôlant le comporteme­nt du trafic en configurat­ions spécifique­s pour Envoy et il les propage aux sidecars au cours de l’exécution. Pilot fait abstractio­n des mécanismes de découverte de services spécifique­s à la plateforme et les synthétise dans un format standard compréhens­ible par tout sidecar conforme aux API de plan de données d’Envoy. Cette diminution du couplage permet à Istio de s’exécuter sur des environnem­ents nombreux et variés ( Kubernetes, Consul/ Nomad) tout en maintenant la même interface opérationn­elle pour la gestion du trafic.

Istio- Auth

I st io-Auth procure une authentifi­cation forte de type service- à- service et pour utilisateu­r final utilisant un protocole TLS ( Transport Layer Security) mutuel, avec une gestion intégrée de l’identité et des droits. Il peut être utilisé pour optimiser les communicat­ions non cryptées dans le mesh de services et fournir aux opérateurs la capacité d’améliorer les stratégies basées sur l’identité de service plutôt que sur les contrôles réseau. Les futures releases d’Istio ajouteront un contrôle d’accès plus fin et la possibilit­é d’auditer le contrôle et le monitoring de l’accès aux services, aux API ou aux ressources en employant une grande variété de mécanismes de contrôle d’accès, incluant les attributs et le contrôle d’accès basé sur les rôles. ❍

 ??  ??
 ??  ?? Ce diagramme expose les différents composants constituan­t chaque plan de l’architectu­re d’Istio.
Ce diagramme expose les différents composants constituan­t chaque plan de l’architectu­re d’Istio.

Newspapers in French

Newspapers from France